大佬们,请教一下如何操作 word 文档, Python 或者 Java - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
iamtuzi3333
V2EX    程序员

大佬们,请教一下如何操作 word 文档, Python 或者 Java

  •  
  •   iamtuzi3333 147 天前 2496 次点击
    这是一个创建于 147 天前的主题,其中的信息可能已经有所发展或是发生改变。
    大佬们,现在我有个需求就是往一个 word 文档里面的表格或者一些行插入图片或者数据,尝试了 Python 的 pypandoc 效果不太好,大佬们还有啥好用的推荐下,图也是用 Python 的 matplotlib 绘制的,目的就是从数据库查询数据,画图,插入到 word 文档模板的一些表格或者行里面,需要插入的图片比较多。
    20 条回复    2025-05-23 15:50:19 +08:00
    kxg3030
        1
    kxg3030  
       147 天前
    java 就调 spiredoc 或者调用 wps 的 com 对象
    lixiang2017
        2
    lixiang2017  
       147 天前 via Android
    soffice 转成 html, 转化成编辑 html
    YJi
        3
    YJi  
       147 天前
    java 的用过 poi-tl ,但是需要预置文档模板。
    gwbw
        4
    gwbw  
       147 天前
    Apache POI 和 Poi-tl
    TenRice
        5
    TenRice  
       146 天前
    用过 python-docx 库,在模版中设置好关键字进行替换,能够在指定位置插入文字和图片
    iamtuzi3333
        6
    iamtuzi3333  
    OP
       146 天前
    @kxg3030 这个要花钱
    @lixiang2017 会不会太复杂了,一些表格不好操作
    @TenRice 模板里面有表格么,比如说在表格的某一个空格插入数据
    @gwbw 我搜索看看
    Mandelo
        7
    Mandelo &nbs;
       146 天前
    aspose
    TenRice
        8
    TenRice  
       146 天前
    @iamtuzi3333 有表格的,在模板的单元格里面设置好关键字,再用嵌套暴力循环每个 tables 、rows 、cells 、paragraphs 找这个关键字替换
    mirrornighth
        9
    mirrornighth  
       146 天前
    python-docx
    kxg3030
        10
    kxg3030  
       146 天前
    @iamtuzi3333 不要买官方的 去黄鱼买 我给你推荐的都是质量最好的 我曾经专门做过这一块的东西
    xinyu391
        11
    xinyu391  
       146 天前
    还有 MS 开源的 ooxml ( C# dotnet ) 可以操作 docx 格式的 word.
    evan1
        12
    evan1  
    PRO
       146 天前
    QH3Oh2PMtre8ym0c
        13
    QH3Oh2PMtre8ym0c  
       146 天前 via Android
    mumbler
        14
    mumbler  
       146 天前
    交给 cursor 就行了,别手写代码
    houfeibin
        15
    houfeibin  
       146 天前
    aspose+1
    StarUDream
        16
    StarUDream  
       146 天前
    正好最近写过 python-docx ,是按照模板生成新 word 。

    靠修改 paragraph[].runs[].text 还是比较简单实现的,但是如果是一些特殊的,比如浮动文本框,好像就只剩修改原始 xml 了
    tsong1127
        17
    tsong1127  
       146 天前
    java 的 poi-tl 挺好用的,制定好 word 模板就行了,表格图片都可以插入
    Syiize
        18
    Syiize  
       145 天前
    Python 可以通过 pywin32 库,通过 Word 的 COM 接口操作 Word 。现成的 python-docx 也不错。

    我用的 pywin32 比较多,但是主要是操作文字格式。
    iamtuzi3333
        19
    iamtuzi3333  
    OP
       145 天前
    谢谢大佬们,我都仔细看了下,poi-tl 真不错,图片跟表格都方便,不过 Java 画图又不行了,Python-docx 一开始我在用,估计是代码写的不好。其余的我再尝试看看!!
    XG9H3BN7CWMMmnjw
        20
    XG9H3BN7CWMMmnjw  
       145 天前
    还有一个就是 onlyoffice 的 docbuilder
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3356 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is poweredby solitude
    VERSION: 3.9.8.5 24ms UTC 04:40 PVG 12:40 LAX 21:40 JFK 00:40
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86