1. 程式人生 > 其它 >python2.7 生成word,內容為表格

python2.7 生成word,內容為表格

# coding=utf-8
#風險提示報告生成
import docx
from docx.enum.text import WD_ALIGN_PARAGRAPH
from docx.shared import Cm,Pt
doc = docx.Document()
p = doc.add_paragraph(u'風險提示報告', style='Intense Quote')
p.paragraph_format.alignment = WD_ALIGN_PARAGRAPH.CENTER
table_title = [u'序號',u'名稱',u'部門',u'狀態',u'是/否存在風險',u'整改時間',u'整改計劃',u'涉及系統及成員行']
# 新增三行資料
table_data = [
{'num':'1','name':'name1','dept':'dept1','status':'1','risk':'1','timer':'2021-01-01','plan':'1','bank':'qoshang1'},
{'num':'2','name':'name2','dept':'dept1','status':'1','risk':'1','timer':'2021-01-01','plan':'1','bank':'qoshang1'},
{'num':'3','name':'name3','dept':'dept1','status':'1','risk':'1','timer':'2021-01-01','plan':'1','bank':'qoshang1'}
]
table = doc.add_table(rows=1,cols=len(table_title), style='Table Grid') #建立帶邊框的表格
table.style.font.size=Pt(8)
hdr_cells = table.rows[0].cells
for i in range(len(table_title)):
hdr_cells[i].text = table_title[i]
for i in range(len(table_data)):
cells = table.add_row().cells
cells[0].text = table_data[i].get('num','')
cells[1].text = table_data[i].get('name','')
cells[2].text = table_data[i].get('dept','')
cells[3].text = table_data[i].get('status','')
cells[4].text = table_data[i].get('risk','')
cells[5].text = table_data[i].get('timer','')
cells[6].text = table_data[i].get('plan','')
cells[7].text = table_data[i].get('bank','')

doc.save('D:\\tmp.docx')

效果如下: