
开源工具 office-engine 可在浏览器中直接查看编辑 Office 文档,约 300 毫秒打开 30 万行 XLSX
来源标题:Show HN: Open a 300k-row XLSX in the browser in ~300ms, no server
开发者发布浏览器端 Office 文档引擎 office-engine,可无需服务器直接查看和编辑 DOCX、XLSX、PPTX,并在约 300 毫秒内打开 30 万行表格。它采用渐进式加载、HTTP Range 请求和 Web Worker 流式解析,支持 React 一行代码嵌入,并可保存回原格式。
以下正文由 AI 翻译自 Hacker News 最新(原文版权归原站所有),可能存在偏差,重要内容请以原文为准。
直接在浏览器中查看和编辑 DOCX / XLSX / PPTX。像 Google Docs 一样渐进加载,能处理大文件,一行 React 代码即可嵌入,保存回原始格式。 演示中包含示例文件和大文件(30 万行表格、305 页幻灯片),支持拖放自己的文件、编辑并下载。 bun add @p10node/office-engine # peer: react >= 18, react-dom >= 18 用法 import { DocViewer } from '@p10node/office-engine' <DocViewer src={file} style={{ height: 600 }} /> // File | Blob | ArrayBuffer | Uint8Array <DocViewer src="https://cdn.example.com/report.xlsx" /> // URL → Range requests <DocViewer src={file} editable onSave={(blob, name) => upload(blob, name)} /> CSS 自动注入。容器必须设置高度。
<script src="office-engine.embed.js"></script> <!-- dist/,打包了 React + worker --><office-viewer src="/files/report.docx" style="height:600px"></office-viewer> 文档 在线地址:p10node.github.io/office-engine。 渐进加载:惰性 ZIP、HTTP Range 请求、Web Worker 中的流式 XML 解析器 → UI 永不阻塞 虚拟化视图:只渲染可见的页面、单元格和幻灯片 Google Docs 风格工具栏编辑:DOCX 文本、样式、列表、图片、表格;XLSX 单元格、公式(134 个函数)、格式、边框、行/列、工作表;PPTX 文本、形状、图片、幻灯片、幻灯片放映 快速保存:只重新生成编辑过的部分,其余保留原始字节 文件菜单:新建、打开(也支持 CSV / 文本 / Markdown / HTML)、导入 CSV、重命名、下载为 PDF / HTML / 文本 / CSV、文档详情、打印 实时协作:实时编辑、头像、协作者光标、离线编辑在重连后同步 随处嵌入:React 组件、hook、原生 mount()、<office-viewer> Web Component、单个 <script> 文件 完整列表、格式覆盖范围和限制:Features。 在 Apple M 系列芯片的无头 Chromium 中测得。
正文由 探How 从来源站点 RSS 同步,内容未经改写;遇到排版缺失或需要图片、视频时请以原文为准。