DOCX 模板导出是一个基于 docxtemplater 的文档生成工具,它允许用户使用预先设计好的 Word 模板,结合 Excel 或 CSV 数据源,批量生成个性化的 Word 文档。
本工具使用 docxtemplater 作为核心渲染引擎,这是目前最成熟的 JavaScript 文档模板库之一,支持:
在模板文件中填写你的数据:
示例:
| name | age | city |
|---|---|---|
| 张三 | 25 | 北京 |
| 李四 | 30 | 上海 |
{{name}} // 替换为 name 字段的值
{{age}} // 替换为 age 字段的值
用于遍历数组数据(如表格行):
{#items}
姓名:{{name}}
年龄:{{age}}
{/items}
根据数据条件显示不同内容:
{?showVip}
尊敬的VIP会员:{{name}}
{/?showVip}
{{name}} 和 {{Name}} 是不同的{ 和 } 之间不要有空格| 技术 | 说明 |
|---|---|
| docxtemplater | 核心模板渲染引擎 |
| pizzip | DOCX 文件(ZIP格式)解析 |
| papaparse | CSV 文件解析 |
| xlsx | Excel 文件解析 |
| file-saver | 文件下载触发 |
用户数据 (CSV/Excel)
↓
数据解析层 (papaparse / xlsx)
↓
JSON 数据对象
↓
模板渲染层 (docxtemplater)
↓
DOCX 文件生成 (pizzip)
↓
文件下载 (file-saver)
{{field}} → 替换为对应字段值{#array}{item}{/array} → 遍历数组{?condition}content{/?condition} → 条件渲染{@rawHtml} → 原始 HTML 内容(需启用模块)// 1. 加载 DOCX 文件(本质是 ZIP)
const zip = new PizZip(templateContent)
// 2. 创建渲染实例
const doc = new Docxtemplater(zip)
// 3. 设置数据
doc.render({
name: '张三',
items: [{ name: '项目A', value: 100 }]
})
// 4. 生成文件
const blob = doc.getZip().generate({
type: 'blob',
mimeType: 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'
})
使用docxtemplater将CSV/Excel数据填充到Word模板,生成个性化文档
下载包含示例字段名的数据模板,在模板中填入你的数据。
支持 CSV 和 Excel 格式
用于忽略CSV/Excel中的标题行或其他不需要的数据行
上传包含 {field_name} 占位符的 Word 模板
支持 {字段名} 占位符,如 {name}-{日期}
本工具用于将 CSV/Excel 数据批量填充到 Word 模板中,每行数据生成一个独立的 DOCX 文件。
{{field_name}}
{#items}
{{item.name}}
{/items}
{?age > 18}
成年
{/age}
A: 请确保:
A: 常见原因:
.docx 格式,不是 .doc{{ 和 }} 是否正确配对A: 本工具已支持批量生成:
A: 当前版本不支持图片占位符,如需图片功能请联系开发者添加图片模块。
.xlsx 和 .xls 格式.docx 格式{{field_name}}{#items}{{item.name}}{/items}鼠标悬停查看各省份的访问数据统计
所有评论均为匿名发布