XLSX

数据透视表

基于源数据创建数据透视表,支持 11 种聚合函数

基本透视表

从源工作表的数据区域创建透视表,按行字段分组并聚合数据:

{
  "worksheets": [
    {
      "name": "Data",
      "rows": [
        { "cells": [{ "value": "Region" }, { "value": "Product" }, { "value": "Sales" }] },
        { "cells": [{ "value": "East" }, { "value": "Widget" }, { "value": 150 }] },
        { "cells": [{ "value": "East" }, { "value": "Gadget" }, { "value": 200 }] },
        { "cells": [{ "value": "West" }, { "value": "Widget" }, { "value": 300 }] },
        { "cells": [{ "value": "West" }, { "value": "Gadget" }, { "value": 100 }] },
        { "cells": [{ "value": "North" }, { "value": "Widget" }, { "value": 250 }] },
        { "cells": [{ "value": "North" }, { "value": "Gadget" }, { "value": 175 }] }
      ]
    },
    {
      "name": "Pivot",
      "rows": [],
      "pivotTables": [
        {
          "source": "A1:C7",
          "sourceSheet": "Data",
          "location": "A3",
          "rows": ["Region"],
          "data": [{ "field": "Sales", "summarize": "sum" }]
        }
      ]
    }
  ]
}

聚合函数

支持 OOXML ST_DataConsolidateFunction 定义的全部 11 种聚合类型:

函数summarize说明
求和"sum"数值总和(默认)
平均值"average"算术平均值
计数"count"非空值数量
数值计数"countNums"数值数量
最大值"max"最大值
最小值"min"最小值
乘积"product"所有值的乘积
样本标准差"stdDev"STDEV.S
总体标准差"stdDevp"STDEV.P
样本方差"var"VAR.S
总体方差"varp"VAR.P

多个数据字段

在同一透视表中添加多个聚合:

{
  "pivotTables": [
    {
      "source": "A1:C7",
      "sourceSheet": "Data",
      "location": "A3",
      "rows": ["Region"],
      "data": [
        { "field": "Sales", "summarize": "sum", "name": "Total Sales" },
        { "field": "Sales", "summarize": "average", "name": "Avg Sales" }
      ]
    }
  ]
}

透视表选项参考

选项类型说明
sourcestring源数据区域,如 "A1:C11"
sourceSheetstring源工作表名称(默认:当前工作表)
locationstring输出起始单元格(默认:"A3"
rowsstring[]行字段名称
columnsstring[]列字段名称
dataDataField[]数据字段配置
namestring透视表名称(默认:"PivotTable1"
stylestring透视表样式名(默认:"PivotStyleLight16"

PivotDataField 选项

选项类型说明
fieldstring要聚合的源字段名
summarizestring聚合函数(默认:"sum"
namestring数据字段显示名(默认:"Sum of {field}"
Copyright © 2026