python将表格插入word文档指定位置,生成pdf报告

from docx import Document
from docx.enum.table import WD_TABLE_ALIGNMENT
import office


# 1、先将非表格的数据填入模板生成word
data = {'title':"冒烟报告",
    'test_context': 'XXXXX',
        'text_range1': "XXX",
        'text_range2': "XXX",
        'text_range3': "XXX",
        'risk': '无',
        'pass': "通过"}
# 以 template3.docx 为模板,创建 output.docx 文件
wd = office.open_file("1111.docx",template="模块.docx")
#填入数据data, 保存
wd.fill(data).save()


# 2、在生成的Word文档中添加表格
doc = Document('1111.docx')
#word文本中的段落数
#print(len(doc.paragraphs))
table_index = 7  # 表格所在段落的索引
row_count = 4  # 表格行数
column_count = 4  # 表格列数
# 在指定段落后插入表格
paragraph=doc.paragraphs[table_index]
table = doc.add_table(rows=row_count, cols=column_count)
# 将表格对象插入到指定段落的后面
if table_index >= len(doc.paragraphs):
    doc.add_paragraph().add_run().add_table(rows=row_count, cols=column_count)
else:
    paragraph._element.addnext(table._tbl)
# 可以设置表格的对齐方式(可选)
table.alignment = WD_TABLE_ALIGNMENT.CENTER

#表头数据
table.cell(0, 0).text = '用例名称'
table.cell(0, 1).text = '预期结果'
table.cell(0, 2).text = '实际结果'
table.cell(0, 3).text = '是否通过'
# 填充数据
data = [
    ['数据1', '数据2', '数据3', '数据3'],
    ['数据4', '数据5', '数据6', '数据3'],
    ['数据7', '数据8', '数据9', '数据3']
]
print(len(data))
if len(data):
    for i in range(1,row_count):
        for j in range(column_count):
            # 在指定的单元格位置添加文本
            print(data[i-1][j])
            table.cell(i, j).text = data[i-1][j]

else:
    raise ValueError("data数组超出范围")
# 保存文档
doc.save('111模块.docx')
# word转pdf
office.open_file('111模块.docx').save("111模块.pdf")

需要准备模板,如下图所示:

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值