batch-generate-document
【项目地址】
https://gitee.com/shangqiao1996/batch-generate-document
【介绍】
批量生成文档(word/excel);批量替换文档中内容;大大减少重复操作;替换文件内容的同时,保证模板预制样式不变。
根据人员信息和Word模板,批量将人员信息注入模板,然后生成文档。
比如,people.xlsx文件中记录了张三和李四两个的信息(name,age…),然后在template.docx中定义好name,age要注入的地方,执行命令后,会输出注入了人员信息的文档:张三.docx,李四.docx…
【实现思路/原理】
.docx/.xlsx文件被改为.zip后,解压打开后,由word/style.xml
(保存样式)和word/document.xml
(保存文本内容)组成,故我的思路是只修改document.xml中的文本内容,可以保持模板样式不被修改。
【安装教程】
- 安装nodejs(版本无限制)。https://nodejs.org/download/release/v18.0.0/node-v18.0.0-x64.msi 点击链接下载安装。
- 克隆或下载项目到本地,进入项目,在根目录,执行
npm install
命令。 - 依赖下载完成后,就可按照【使用说明】去操作。
【使用说明】
- 首先,要提供一个template.docx文档模板,放到source目录下,文档中需要替换的地方用【$变量名】填入。批量生成的文档都是按照这个生成的。
- 其次,在source/people.xlsx中增加人员信息行或列。
- 然后,在generateWord.js【35行】继续追加
.replace('【$变量名】', people.【people.xlsx中对应的列名】)
。 - 双击【exec.bat】脚本,就会按照填入在people.xlsx中的人员信息,注入模板,在output目录下生成对应word文档。