python向word中添加表格

1、表格插入

方法一:直接创建表添加

#导入库
from docx import Document
#创建文档对象
document = Document()
 
#创建5行7列表格
table = document.add_table(rows=5, cols=7)
 
#修改第2行第3列单元格的内容为中国
table.cell(1,2).text='中国'
#修改第3行第4列单元格的内容为人民
table.rows[2].cells[3].text='人民'
 
#在表格底部新增一行
row_cells = table.add_row().cells
#新增行的第二列添加内容
row_cells[1].text = '加油'
 
#保存文档
document.save('D:/demo.docx')

方法二:以dataframe形式添加

dataframe = pd.DataFrame({
        "企业": [round(random.random(), 2) for _ in range(3)],
        "数量": [round(random.random(), 2) for _ in range(3)],
        "金额": [round(random.random(), 2) for _ in range(3)]
    })
document = Document()

# 2. 插入表格
table = convert_df_to_table(document, dataframe, column_list=dataframe.columns.tolist())
table = set_table_singleBoard(table)  # 表格添加边框
base_paragraphs = document.add_paragraph("下面插入表格:")
base_paragraphs._p.addnext(table._tbl)

2、将表格插入到文档指定段落后面

doc = docx.Document("模板docx路径")
dataframe = pd.DataFrame({
    "企业": [round(random.random(), 2) for _ in range(3)],
    "数量": [round(random.random(), 2) for _ in range(3)],
    "金额": [round(random.random(), 2) for _ in range(3)]
    })
# 创建临时doc
doc1 = docx.Document()
# 生成table
table = convert_df_to_table(doc1, dataframe, column_list=dataframe.columns.tolist())
table = set_table_singleBoard(table)  # 表格添加边框
# 选择模板指定段落
base_paragraphs = doc.paragraphs[6]
# 将table插入到制定段落后面
base_paragraphs._p.addnext(table._tbl)
# 保存文件
doc.save(r'.\test1.docx')  

你可能感兴趣的:(python,word,开发语言)