跳过主要内容
广告OpenFree logo推广你的产品触达更多潜在用户,助力产品增长与收益提升。投放广告
Favicon of @office-kit/xlsx

@office-kit/xlsx

Free 等级项目

一个用于在 Node 22+ 和现代浏览器中读取、编辑和写入 Excel .xlsx 工作簿的 TypeScript 库。它逐字节保留未建模的部分,支持大型工作表的流式处理,并依据 ECMA-376 架构验证输出。

访问 office-kit/xlsx

项目简介

Office Kit 的 xlsx 库可在 Node 22+ 和现代浏览器中用 TypeScript 读取、编辑和写入 Excel .xlsx 工作簿。它提供类型化的单元格值、样式、公式、图表和流式处理,并逐字节保留其未建模的功能。

核心功能

  • 从字节、文件、Blob 或 fetch 响应读取和写入 .xlsx 工作簿,单元格值建模为可辨识联合类型。
  • 支持写入样式、数字格式、带缓存值的公式、Excel 表格、数据验证、条件格式、图片、图表和图表工作表。
  • 面向大型工作表的流式读取器和仅追加写入器,具有有界的行缓冲和共享字符串限制。
  • 往返保留未建模的部分,包括数据透视表、VBA 项目、线程化评论、外部链接和自定义 XML。
  • 在 CI 中依据 ECMA-376 架构以及语义不变量验证生成的 OOXML。
  • 子路径导入,具有可摇树优化的 ESM 导出,且没有根 barrel。

适用场景

  • 以编程方式编辑现有 Excel 报告或模板,同时保持数据透视表、宏和其他未建模部分不变。
  • 通过流式写入生成大型 .xlsx 文件,以保持内存占用有界。
  • 从 TypeScript 创建带格式、图表、图片、验证和条件格式的类型化 Excel 工作簿。
  • 在 Node 服务或浏览器应用程序中读取和验证上传的 .xlsx 文件,使用类型化单元格值和错误类。

快速开始

  • 使用 pnpm add @office-kit/xlsx 安装,或使用 npm、yarn 或 bun。需要 Node 22 或更高版本;该包仅提供 ESM,且没有根 barrel。使用 loadWorkbook 加载工作簿,使用 setCell 编辑单元格,然后使用 workbookToBytes 或 saveWorkbook 保存。对于大型工作表,使用 createWriteOnlyWorkbook 追加行,然后 finalize。

部署与要求

  • 需要 Node 22 或更高版本;不支持 Node 18 和 20 EOL。可在 Node 和现代浏览器中运行;只有 @office-kit/xlsx/node 子路径会触及 fs,其余部分使用 Web Streams、Blob 和 Uint8Array。该包仅提供 ESM,其随附的类型可在 node16、nodenext 和 bundler 模块解析下解析。完整的加载和保存路径必须保持在 120 KB 以下(压缩并 brotli 压缩后),流式入口低于 80 KB。

采用前须知

  • 许可证:MIT。在使用、修改或分发项目前,请确认其具体条款。

评论

登录 后发表评论。

更多类似 @office-kit/xlsx 的项目

Favicon of @office-kit/docx

@office-kit/docx

Free 等级项目星标数: 0K

在 TypeScript 中读取、编辑和写入 Word 文档。

文档解析与 OCR

一个用于读取、编辑和写入 Word .docx 文档的 TypeScript 库。它能从头创建文件,也能编辑现有模板,可在 Node.js 和浏览器中运行。

Favicon of @office-kit/pptx

@office-kit/pptx

Free 等级项目星标数: 0K

用 TypeScript 读取、编辑和写入 .pptx 文件

文档解析与 OCR

@office-kit/pptx 是一个用于在 Node.js 和浏览器中读取、编辑和写入 PowerPoint(.pptx)文件的 TypeScript 库。MIT 许可,无原生模块,采用单一 ESM 构建。

Favicon of anydoc

anydoc

Free 等级项目星标数: 22.1K

将各类文档转换为 GitHub 风格 Markdown 的 Rust 库

文档解析与 OCR

anydoc 是 Firecrawl 开发的开源 Rust 库,可将 Word、PowerPoint、Excel、OpenDocument、RTF、EPUB、CSV 和 PDF 转换为整洁的 GitHub 风格 Markdown,并提供 Node.js、Python、浏览器和 CLI 绑定。