跳到主要内容
Office Open

XLSX

冻结窗格与自动筛选

冻结行/列并添加自动筛选下拉框

#冻结窗格

冻结行和/或列,使标题在滚动时保持可见:

JSON
{
  "worksheets": [
    {
      "name": "Sheet1",
      "freezePanes": { "row": 1 },
      "rows": [
        { "cells": [{ "value": "Header 1" }, { "value": "Header 2" }] },
        { "cells": [{ "value": "Data 1" }, { "value": "Data 2" }] },
        { "cells": [{ "value": "Data 3" }, { "value": "Data 4" }] }
      ]
    }
  ]
}

同时冻结行和列:

JSON
{
  "worksheets": [
    {
      "name": "Sheet1",
      "freezePanes": { "row": 2, "col": 1 },
      "rows": [
        { "cells": [{ "value": "Title" }, { "value": "A" }, { "value": "B" }] },
        { "cells": [{ "value": "Name" }, { "value": "Score" }, { "value": "Grade" }] },
        { "cells": [{ "value": "Alice" }, { "value": 95 }, { "value": "A" }] }
      ]
    }
  ]
}

#自动筛选

为一列或多列添加自动筛选下拉框:

JSON
{
  "worksheets": [
    {
      "name": "Sheet1",
      "autoFilter": "A1:D4",
      "rows": [
        {
          "cells": [
            { "value": "Name" },
            { "value": "Age" },
            { "value": "City" },
            { "value": "Score" }
          ]
        },
        { "cells": [{ "value": "Alice" }, { "value": 30 }, { "value": "NY" }, { "value": 95 }] },
        { "cells": [{ "value": "Bob" }, { "value": 25 }, { "value": "LA" }, { "value": 88 }] },
        { "cells": [{ "value": "Carol" }, { "value": 28 }, { "value": "SF" }, { "value": 72 }] }
      ]
    }
  ]
}

autoFilter 字符串指定将显示筛选下拉框的单元格区域。Excel 会在标题行上显示筛选箭头。

#结构化筛选

使用对象形态记录每列的筛选条件(即用户应用筛选后 Excel 回写的内容):

JSON
{
  "worksheets": [
    {
      "name": "Sheet1",
      "autoFilter": {
        "ref": "A1:D4",
        "columns": [
          {
            "colId": 0,
            "filters": { "values": ["Alice", "Carol"] }
          },
          {
            "colId": 3,
            "top10": { "top": true, "val": 1 }
          }
        ]
      },
      "rows": [
        {
          "cells": [
            { "value": "Name" },
            { "value": "Age" },
            { "value": "City" },
            { "value": "Score" }
          ]
        },
        { "cells": [{ "value": "Alice" }, { "value": 30 }, { "value": "NY" }, { "value": 95 }] },
        { "cells": [{ "value": "Bob" }, { "value": 25 }, { "value": "LA" }, { "value": 88 }] },
        { "cells": [{ "value": "Carol" }, { "value": 28 }, { "value": "SF" }, { "value": 72 }] }
      ]
    }
  ]
}

colId 是筛选区域内的零基列索引,每列只承载一种筛选类型:

选项类型说明
refstring筛选区域,如 "A1:D4"
columnsFilterColumnOptions[]每个被筛选列一项
sortStateSortStateOptions随筛选记录的排序状态

#FilterColumn 选项

选项类型说明
colIdnumber筛选区域内的零基列索引(必填)
hiddenButtonboolean隐藏筛选下拉按钮
showButtonboolean显示筛选按钮(默认 true)
filtersobject值/日期筛选:{ values?: string[], dateGroupItems?: […], blank?, calendarType? }
customFiltersobject比较筛选:{ and?: boolean, entries: [{ operator?, val }] },operator 为 equal/notEqual/greaterThan/greaterThanOrEqual/lessThan/lessThanOrEqual
top10object前 N 项筛选:{ top?: boolean, percent?: boolean, val: number, filterVal?: number }
dynamicFilterobject动态筛选:{ type: "today" | "thisMonth" | "Q1" | …, val?, maxVal?, valIso?, maxValIso? }
colorFilterobject颜色筛选:{ dxfId?: number, cellColor?: boolean }
iconFilterobject图标筛选:{ iconSet: IconSetType, iconId?: number }

#冻结窗格选项参考

选项类型说明
rownumber冻结的行数
colnumber冻结的列数