# export-word-js **Repository Path**: wen745268/export-word-js ## Basic Information - **Project Name**: export-word-js - **Description**: 基于docxtemplater.js实现二次封装,简化其安装的依赖,使用和docxtemplater中免费功能一致,暂不支持付费功能。 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-07-30 - **Last Updated**: 2025-07-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # export-word-js 基于`docxtemplater`和`PizZip`二次封装的,一个用于将数据导出为 Word 文档的 TypeScript 类库。 ## 简介 export-word-js是一个轻量级库,它利用 `docxtemplater` 和 `PizZip` 来实现前端生成 Word 文档的功能。通过简单的配置和数据输入,即可将数据渲染进预定义的 Word 模板并下载。 ## 功能特性 - 基于 `docxtemplater` 进行模板渲染。 - 支持图片插入,并可自动调整大小。 - 支持数据流的 base64 解码与文件下载。 - 提供默认配置,可自定义文件名、图片尺寸等。 - 基于`angular-expressions`插件,能支持自定义parser解析器 ## 安装 使用 npm 或 yarn 安装: ```bash npm install export-word-js # 或者 yarn add export-word-js ``` ## 使用示例 **`url`地址可以为本地地址和服务器地址,为本地地址时,将模板文件放在`public`文件夹下。为服务地址时,请确保浏览器能正常下载该文档。** ```typescript import Export2Word from 'export-word-js'; // 先初始化导出类 const exporter = new Export2Word({ url: '/template.docx', // url可以为本地地址也可以为一个服务器地址,如:https://xxx.xxx.com/template.docx options: { fileName: 'output.docx', imgMinSize: [600, 360], imgMaxSize: [794, 476], }, }); const data = { // 填充的数据 }; exporter.exportToWord(data); ``` ## 基础配置 ```javascript options: { nullGetter: () => '', linebreaks: true, paragraphLoop: true, delimiters: { start: '{{', end: '}}' }, imgSize: 'auto', imgMaxSize: [794, 476], imgMinSize: [600, 360], fileName: 'output.docx', parserConfig: {}, // 配置使用 angular-expressions 插件,默认是启用的,启用时,可以使用复杂的表达式,如:{{users.name}} } ``` ## 温馨提示 默认的数据标识符是以 `{{` 开始和 `}}` 结尾 在配置`docxtemplater`时,可以参考官网的详细配置:[docxtemplater-config](https://docxtemplater.com/docs/configuration/) 在配置`parserConfig`选项时,可以参考官网的详细说明: [docxtemplater-angular-parse](https://docxtemplater.com/docs/angular-parse/) ## API ### `new Export2Word(params: IConfig)` 初始化导出工具,参数包括 Word 模板地址和导出配置。 ### `exportToWord(data: Idata)` 将数据渲染进 Word 模板并下载生成的文档。 ## 依赖 - `docxtemplater` - `PizZip` - `docxtemplater-image-module-free` - `angular-expressions` ## 许可证 MIT License