求助贴:如何解决每天重复往 word 模板填数据?

2019-09-25 09:21:32 +08:00
 tt131178
小弟工作类似前台窗口,每天需要往 word 模板填入指定数据,如姓名,性别等。数据来自一台内网服务器,可以完全访问。
现有条件
1.内网服务器,可以完全访问,数据库我知道管理员密码.
2.终端电脑(就是小弟日常打杂用),办公软件若干,可以装其他软件。
需求:提取数据库里指定表里部分字段,填入 word 模板,并以对应姓名生成 doc 文件。
求大佬指点一下解决方法或者方向。
5704 次点击
所在节点    Python
21 条回复
www6688w
2019-09-25 09:26:22 +08:00
使用 phpWord 对 Word 模板文件内容进行替换,生成 Word 文件
mystrylw
2019-09-25 09:33:25 +08:00
非编程做法:word 邮件合并
arrow8899
2019-09-25 09:34:36 +08:00
如果会点编程就很好弄啊
1. https://github.com/python-openxml/python-docx,这是一个用来读取修改 docx 的 python 库,你可以自己写替换的功能;
2. https://github.com/Sayi/poi-tl 这是一个 word 的模板引擎,替换都已经写好了,你只需要读取数据即可,几行代码搞定。
tt131178
2019-09-25 09:35:29 +08:00
@arrow8899 感谢大佬
tt131178
2019-09-25 09:36:48 +08:00
@www6688w 谢谢大佬
mcorley
2019-09-25 09:40:41 +08:00
邮件合并
Bronya
2019-09-25 11:05:46 +08:00
java 菜鸟表示 apache POI 貌似可以搞这个🤔
Telegram
2019-09-25 11:12:24 +08:00
EXCEL 有个邮件合并的功能
la2la
2019-09-25 11:41:28 +08:00
如果你会一门编程语言的话就用你会的做,如果你不会的话建议使用 python 做,类库多上手简单
zxcslove
2019-09-25 13:01:43 +08:00
word 有个信封打印功能,可以把 excel 数据批量填充到 word 文件里
tt131178
2019-09-25 13:09:31 +08:00
@mystrylw
@mcorley 谢谢,感觉邮件合并还没有达到我的懒,自动化一次解决多个操作
x66
2019-09-25 15:09:10 +08:00
CallMeReznov
2019-09-25 15:40:26 +08:00
py 或者 ps 有现成的轮子.
可以了解一下.

之前知道一个公司的一个运维的工作就是定时看日志然后复制出来发 EMAIL 出去
让他写个脚本,剩下的时间就是打游戏啦
agdhole
2019-09-25 16:04:45 +08:00
powershell 一个脚本就行了
tt131178
2019-09-25 19:26:04 +08:00
感谢 v2 各位大佬!
snw
2019-09-25 19:41:23 +08:00
邮件合并显然是最简单和稳定的,有现成轮子不要整天想着造轮子。。。
akira
2019-09-25 21:15:26 +08:00
phpword 是基于 docx 的 xml 解析文本处理,如果只是纯粹的模板替换的话,效率上比用 word 自带的方案反而要高。
awingmanatee
2019-09-25 22:52:25 +08:00
今天刚用了 python-docx-template 根据模板生成 word,你可以试试
geelaw
2019-09-25 23:10:53 +08:00
我觉得尝试用第三方工具解析 Word 都是很诡异的思路,不考虑兼容性问题,也是直接用 Word COM 更简单。想要用 VBA、C++、Python 还是 PowerShell 都可以。
noclin
2019-09-25 23:21:14 +08:00
之前用 python-docx-template 写过一个 Excel +Word 模板 生成 Word 的例子,可以参考: https://github.com/NoCLin/docxtpl-excel-demo

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/603913

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX