OfficeViewer Office 文档预览
OfficeViewer 基于 optional peer 依赖 @silurus/ooxml(office-open-xml-viewer)在浏览器 Canvas 中预览 docx / xlsx / pptx。运行时优先加载本地 peer,未安装时自动从 jsDelivr 拉取 ESM 回退,业务工程构建阶段不再强依赖该包。
何时使用
- Workspace 文件树或对话附件中需要内联预览 Office 三件套
- 希望按需引入 WASM 解析器(默认 CDN,可
wasmUrl覆盖)而不打进主包
安装依赖(可选)
@silurus/ooxml 为 optional peerDependency。不安装时预览模块默认从 CDN 加载;内网或需锁定版本时可安装 peer 以走本地包。
代码演示
API
OfficeViewerProps
注意事项
- 仅支持 Office Open XML(
.docx/.xlsx/.pptx);旧版.doc/.xls/.ppt不可预览。 - Workspace
File预览已接入:点击符合扩展名的文件时自动走OfficeViewer;未安装 peer 时显示安装提示。 - PPTX 默认展示左侧缩略图侧栏,点击缩略图跳转对应页;侧栏可通过分界处的手柄按钮展开/收起(收起后主区自动铺满);
enableSlideRail: false时退化为连续滚动视图。 - 生产环境建议将
*_parser_bg.wasm托管到自有 CDN,再通过wasmUrl传入。 - 数学公式、ChartEx 等可选引擎需自行从
@silurus/ooxml/math等入口引入并传入上游选项(本组件默认不捆绑)。
内容复制
三种格式均支持复制内容,无需额外配置:
- docx / pptx:内置透明文本层(
enableTextSelection默认开启),可直接用鼠标划选文字后Ctrl/Cmd+C复制。 - xlsx:点选 / 框选单元格后按
Ctrl/Cmd+C,选中区域以 TSV(制表符分隔)写入剪贴板,可直接粘贴到 Excel / 表格。
