hucre高级特性清单:透视表、切片器、线程评论与WPS内嵌图片完整指南
【免费下载链接】hucreZero-dependency spreadsheet engine. Read & write XLSX, CSV, ODS. Pure TypeScript, works everywhere.项目地址: https://gitcode.com/gh_mirrors/hu/hucre
如果你用 Node.js 或浏览器处理 Excel 文件,hucre 电子表格引擎的高级特性清单会帮你解锁更多能力:它零依赖、纯 TypeScript 编写,除了读写 XLSX、CSV、ODS,还支持透视表、切片器(Slicer)、线程评论(Excel 365 新版批注)以及WPS 内嵌图片(DISPIMG)等常被其他库忽略的功能,且可在任意环境运行。
一、透视表:读取与写出都是原生支持
多数 JavaScript 表格库只能"读数值",hucre 则把 OOXML 规范(ECMA-376 §18.10/§18.11)中的透视表做了完整建模:
- 读取:解析
xl/pivotTables/pivotTable{N}.xml与xl/pivotCache/pivotCacheDefinition{N}.xml,还原字段位置(行/列/页/数据区)、缓存来源范围与字段名,核心逻辑见 pivot-reader.ts。 - 写出:通过
WritePivotTable声明源表、行列字段与聚合函数(默认求和),hucre 会自动生成透视缓存、缓存记录、布局与全部关联关系文件,Excel 首次打开时自动计算结果,实现见 pivot-writer.ts。
💡 相比 openpyxl 的"只读"和 Apache POI 的"有限支持",hucre 是少数同时提供**读 + 写(骨架)**的库,见 README 对比表。
pivotTables: [{ name: "销售汇总", rows: ["区域", "产品"], columns: ["月份"], values: [{ field: "销售额", function: "sum" }] }]二、切片器与时间轴:仪表盘过滤控件开箱可读
Excel 2010 引入的切片器(可视化过滤器)和 2013 的时间轴切片器,hucre 全部解析为结构化记录:
| 部分 | 文件 | 暴露字段 |
|---|---|---|
| 切片器 | xl/slicers/slicerN.xml | 名称、缓存引用、标题、列数、样式、排序 |
| 切片器缓存 | xl/slicerCaches/slicerCacheN.xml | 关联的透视表、表格来源 |
| 时间轴 | xl/timelines/timelineN.xml | 日期区间过滤配置 |
解析入口在 slicer-reader.ts,读完后数据直接挂在sheet.slicers/sheet.timelines上,工作簿级缓存则在workbook.slicerCaches——做报表看板二次渲染时,过滤控件的状态不再丢失。
三、线程评论:Excel 365 新版批注系统
Excel 365 把传统批注升级为线程化评论(支持回复、@提及、完成标记),hucre 完整读取两个关键部件:
xl/persons/person.xml—— 全工作簿的人员目录(parsePersons);xl/threadedComments/threadedComment{N}.xml—— 每条评论含ref(锚定单元格)、parentId(回复链)、date、done(已解决)与mentions(@人位置)。
类型定义见 ThreadedComment,读取后挂载在sheet.threadedComments,人员列表在workbook.persons,适合构建评论面板或审批流审计。
四、WPS 内嵌图片:DISPIMG 公式不再"图片消失"
WPS 用户可能遇到怪现象:把 WPS 保存的 XLSX 换到别的工具里,=_xlfn.DISPIMG("ID", 1)公式还在,图却没了。原因是图片存在特殊的xl/cellimages.xml部件中。
hucre 原生支持解析这条链路(cell-images-reader.ts):
- 从
workbook.xml.rels找到 WPS 的cellimage关系; - 解析
xl/cellimages.xml中的每个cellImage条目(DISPIMG id + 媒体 rId); - 通过
xl/_rels/cellimages.xml.rels取回 PNG/JPEG 二进制,按 id 去重后输出到workbook.cellImages。
这样无论你的数据来自 WPS 还是新式 Excel,单元格图片都能被程序提取、展示或迁移。
五、快速上手
npm install hucreimport { readXlsx, writeXlsx } from "hucre" const wb = await readXlsx(fileBuffer) // wb.persons → 线程评论人员目录 // wb.sheets[0].slicers → 切片器 // wb.sheets[0].pivotTables → 透视表 // wb.cellImages → WPS 内嵌图片📦 所有模块支持 Tree Shaking,只按需引入(如hucre/xlsx约 34 KB gzip),完整 API 与规格覆盖说明见 docs/SPEC-COVERAGE.md 与 docs/PARITY.md。
小结
hucre 把"企业级 Excel 特性"从桌面端搬进了纯代码世界:透视表读写、切片器解析、线程评论、WPS 图片提取,配合零依赖与流式处理,是构建报表平台、数据管道和在线表格工具的实用选择。
【免费下载链接】hucreZero-dependency spreadsheet engine. Read & write XLSX, CSV, ODS. Pure TypeScript, works everywhere.项目地址: https://gitcode.com/gh_mirrors/hu/hucre
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考