SheetJS(也称 js-xlsx)是一个纯 JavaScript 的电子表格数据处理工具包,核心能力是在浏览器与 Node.js 环境中读取、写入、转换几乎所有主流电子表格格式,以轻量、跨平台、格式兼容广著称,被广泛用于 Web / 后端数据导入导出、报表生成等场景。
SheetJS 专注于电子表格数据处理的工具库,非 UI 库,不依赖 Excel 或其他桌面软件,通过纯 JS 解析 / 生成文件,适配浏览器、Node.js、Electron 等环境。
SheetJS 的设计理念是基于 “通用电子表格格式(CSF)” 抽象,屏蔽不同格式差异,实现 “一次开发,多格式兼容”。
全面格式支持
读取:XLSX/XLSM/XLSB/XLS、CSV/TSV、ODS、Numbers、HTML 表格等。
写入:XLSX、CSV、JSON、HTML、TXT 等,支持格式间无损转换(如 XLSX 转 CSV)。
特殊支持:处理日期、公式、超链接、合并单元格、批注等常见电子表格元素。
跨环境兼容
浏览器端:直接处理 File/Blob/ArrayBuffer,支持拖拽上传、本地文件导出。
Node.js:读写本地文件、流式处理大文件,适配 Express 等后端框架。
框架适配:支持 React、Vue、Angular、Next.js 等,提供现成集成方案。
轻量高效
无依赖,核心包体积小(社区版约 150KB),解析速度快,支持大文件分片处理,避免内存溢出。
灵活的数据操作
以工作表(worksheet)、单元格(cell)为核心对象,通过类似 ws ['A1'] 的语法直接读写单元格,支持行 / 列增删、合并单元格、数据校验等。
内置工具函数:sheet_to_json(表格转 JSON)、json_to_sheet(JSON 转表格)、aoa_to_sheet(数组转表格)等,简化常见数据转换场景。
版本 | 授权协议 | 核心能力 | 支持与约束 |
社区版(CE) | Apache 2.0 | 基础读写、格式转换、数据提取 | 开源免费,商用需署名,社区支持 |
专业版(Pro) | 商业授权 | 完整样式、图表、图像、公式计算、模板编辑 | 付费,含优先支持与高级功能 |
测试套件会定期在多种现代浏览器和旧版浏览器上运行,所使用的工具是 Sauce Labs(https://saucelabs.com/)。
SheetJS 0.20.3 版本的浏览器测试已于 2026 年 1 月 12 日进行,如下图:
