V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
tt131178
V2EX  ›  Python

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

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

    之前知道一个公司的一个运维的工作就是定时看日志然后复制出来发 EMAIL 出去
    让他写个脚本,剩下的时间就是打游戏啦
    agdhole
        14
    agdhole  
       2019-09-25 16:04:45 +08:00
    powershell 一个脚本就行了
    tt131178
        15
    tt131178  
    OP
       2019-09-25 19:26:04 +08:00 via Android
    感谢 v2 各位大佬!
    snw
        16
    snw  
       2019-09-25 19:41:23 +08:00 via Android
    邮件合并显然是最简单和稳定的,有现成轮子不要整天想着造轮子。。。
    akira
        17
    akira  
       2019-09-25 21:15:26 +08:00
    phpword 是基于 docx 的 xml 解析文本处理,如果只是纯粹的模板替换的话,效率上比用 word 自带的方案反而要高。
    awingmanatee
        18
    awingmanatee  
       2019-09-25 22:52:25 +08:00
    今天刚用了 python-docx-template 根据模板生成 word,你可以试试
    geelaw
        19
    geelaw  
       2019-09-25 23:10:53 +08:00 via iPhone
    我觉得尝试用第三方工具解析 Word 都是很诡异的思路,不考虑兼容性问题,也是直接用 Word COM 更简单。想要用 VBA、C++、Python 还是 PowerShell 都可以。
    noclin
        20
    noclin  
       2019-09-25 23:21:14 +08:00
    之前用 python-docx-template 写过一个 Excel +Word 模板 生成 Word 的例子,可以参考: https://github.com/NoCLin/docxtpl-excel-demo
    ytmsdy
        21
    ytmsdy  
       2019-09-27 15:27:12 +08:00
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   4583 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 44ms · UTC 05:35 · PVG 13:35 · LAX 22:35 · JFK 01:35
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.