python 生成word表格(合并单元格)

本人使用pycharm,安装库python-docx
代码:

from docx import Document
from docx.shared import Inches, Pt
from docx.oxml.ns import qn
from docx.enum.text import WD_ALIGN_PARAGRAPH
import time,datetime
document = Document()
document.styles['Normal'].font.name = u'宋体'
document.styles['Normal']._element.rPr.rFonts.set(qn('w:eastAsia'), u'宋体')
p=document.add_paragraph()
p.paragraph_format.alignment = WD_ALIGN_PARAGRAPH.CENTER
#table = document.add_table(rows=37,cols=13,style='Table Grid') row:行  col:列
table = document.add_table(rows=13,cols=8,style='Table Grid')#生成rows*cols的表格
table.autofit = False
table.columns[0].width = Inches(1) #设置表格的列宽和高度
table.cell(0,0).merge(table.cell(0,2))  #将左上角至右下角坐标的单元格合并在一起
table.cell(0,3).merge(table.cell(0,3))
table.cell(0,4).merge(table.cell(0,4)) 
table.cell(0,5).merge(table.cell(0,7))
table.cell(1,0).merge(table.cell(1,2))
table.cell(1,3).merge(table.cell(1,3))
table.cell(1,4).merge(table.cell(1,4))
table.cell(1,5).merge(table.cell(1,7))
table.cell(2,0).merge(table.cell(2,2))
table.cell(2,3).merge(table.cell(2,7))
table.cell(3,0).merge(table.cell(12,3))
table.cell(3,4).merge(table.cell(12,7))
hdr_cells0 = table.rows[0].cells
hdr_cells1 = table.rows[1].cells
hdr_cells2 = table.rows[2].cells
hdr_cells3 = table.rows[3].cells
hdr_cells0[0].add_paragraph('线路名称\n').alignment=WD_ALIGN_PARAGRAPH.CENTER #向表格内输入文字
hdr_cells0[3].add_paragraph('塔号').alignment=WD_ALIGN_PARAGRAPH.CENTER
hdr_cells0[4].add_paragraph('缺陷定性').alignment=WD_ALIGN_PARAGRAPH.CENTER
hdr_cells0[5].add_paragraph('经纬度').alignment=WD_ALIGN_PARAGRAPH.CENTER
hdr_cells1[0].add_paragraph('10KV园区线').alignment=WD_ALIGN_PARAGRAPH.CENTER
hdr_cells1[3].add_paragraph('塔号链接').alignment=WD_ALIGN_PARAGRAPH.CENTER
hdr_cells1[4].add_paragraph('缺陷链接').alignment=WD_ALIGN_PARAGRAPH.CENTER
hdr_cells1[5].add_paragraph('经纬度链接').alignment=WD_ALIGN_PARAGRAPH.CENTER
hdr_cells2[0].add_paragraph('缺陷描述').alignment=WD_ALIGN_PARAGRAPH.CENTER
hdr_cells2[3].add_paragraph('缺陷描述链接').alignment=WD_ALIGN_PARAGRAPH.CENTER
hdr_cells3[0].add_paragraph('图片链接').alignment=WD_ALIGN_PARAGRAPH.CENTER
hdr_cells3[4].add_paragraph('图片链接').alignment=WD_ALIGN_PARAGRAPH.CENTER


结果图:
在这里插入图片描述

  • 4
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
可以使用python的docx库来去除word表格合并单元格后的重复内容。 首先,我们需要安装python的docx库。在命令行中输入以下命令来安装docx库: ``` pip install python-docx ``` 接下来,我们可以使用以下代码来去除word表格合并单元格后的重复内容: ```python from docx import Document def remove_duplicates(document): tables = document.tables for table in tables: for row in table.rows: for cell in row.cells: if cell.text.strip() == "": continue if cell.column_span > 1 or cell.row_span > 1: for i in range(cell.row_span): for j in range(cell.column_span): if i == 0 and j == 0: continue current_row_index = row._element.row + i current_column_index = cell._tc.get('gridSpan', 1) + cell._tc.get('gridSpan') - j - 1 current_cell = table.cell(current_row_index, current_column_index) current_cell.text = "" document = Document("input.docx") # 替换为你的输入文件名 remove_duplicates(document) document.save("output.docx") # 替换为你的输出文件名 ``` 这段代码会打开名为"input.docx"的word文档,去除其中所有表格合并单元格后的重复内容,并将结果保存为"output.docx"。 这段代码首先遍历每个表格中的每个单元格。对于合并单元格,我们需要找到所有合并单元格,并将其内容清空,只保留合并单元格的左上角单元格的内容。 最后,我们使用`document.save()`方法将结果保存为新的word文档。 使用上述代码可以方便地去除word表格合并单元格后的重复内容。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值