NO.64 "插入Word表格"指令-Plus版
评论
收藏

NO.64 "插入Word表格"指令-Plus版

经验分享
云潮
2024-05-29 20:32·浏览量:376
云潮
发布于 2024-05-29 20:32376浏览

问题描述:

需要在word表格中插入表格数据,使用影刀的"插入Word表格"指令时无法指定列宽,无法实现跨页断行的效果,由于这个这个word文件是直接发给客户的,表格呈现的数据不够美观

影刀流程如下:

效果如下:

解决方法:

俗话说的好,指令不够,代码来凑。啊呸,不对,应该是GPT来凑。在多次求助GPT以后,它给出了一下解决方案!

from docx import Document
from docx.shared import Cm
from docx.oxml import OxmlElement
from docx.oxml.ns import qn
def main(args):
# 打开已有的Word文档
    path=args["word路径"]
    # 打开已有的Word文档
    doc = Document(path)
    for table in doc.tables:
        if len(table.columns) == 3:
            # 设置表格的列宽(单位为厘米)
            table.autofit = False
            table.columns[0].width = Cm(3)
            table.columns[1].width = Cm(3)
            table.columns[2].width = Cm(9)
        #设置每一行不允许跨行显示
        for row_index in range(0, len(table.rows)):
            tr = table.rows[row_index]._tr
            trPr = tr.get_or_add_trPr()
            cantSplit = OxmlElement('w:cantSplit')
            # 设置属性使其有效
            cantSplit.set(qn('w:val'), 'true') 
            trPr.append(cantSplit)
    doc.save(path)

实现效果如下:

收藏
全部评论1
最新
发布评论
评论