You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

126 lines
6.0 KiB

import docx
import os
import datetime
def rewrite(modelpath, id:str,envs, rsts,clus, images,type=0):
# doc = docx.Document("../../model.docx")
print("load doc")
if(type == 0):
doc = docx.Document(modelpath+"/model.docx")
else:
doc = docx.Document(modelpath+"/model1.docx")
print("open doc")
# doc.paragraphs[1].text = doc.paragraphs[1].text.replace("tanceqibianhao",id)
today = datetime.date.today()
doc.tables[0].rows[0].cells[1].text = id
doc.tables[0].rows[0].cells[3].text = str(today.year)+"."+str(today.month)+"."+str(today.day)
# doc.paragraphs[1].text += str(today.year)+"."+str(today.month)+"."+str(today.day)
print("input date and id ")
for i in range(13):
doc.tables[1].rows[i].cells[1].text = envs[i]
print(len(rsts))
for i in range(12+2):
doc.tables[2].rows[i].cells[1].text = rsts[i]
print(i)
doc.tables[3].rows[0].cells[0].text += clus[0]
doc.tables[3].rows[2].cells[0].text += clus[1]
doc.tables[3].rows[4].cells[0].text += clus[2]
doc.tables[3].rows[6].cells[0].text += clus[3]
doc.tables[3].rows[0].cells[1].text = str(int(clus[4]))
doc.tables[3].rows[1].cells[1].text = str(int(clus[5]))
doc.tables[3].rows[1].cells[3].text = str(int(clus[6]))
doc.tables[3].rows[1].cells[5].text = str(int(clus[7]))
doc.tables[3].rows[2].cells[1].text = str(int(clus[8]))
doc.tables[3].rows[3].cells[1].text = str(int(clus[9]))
doc.tables[3].rows[3].cells[3].text = str(int(clus[10]))
doc.tables[3].rows[3].cells[5].text = str(int(clus[11]))
doc.tables[3].rows[4].cells[1].text = str(int(clus[12]))
doc.tables[3].rows[5].cells[1].text = str(int(clus[13]))
doc.tables[3].rows[5].cells[3].text = str(int(clus[14]))
doc.tables[3].rows[5].cells[5].text = str(int(clus[15]))
doc.tables[3].rows[6].cells[1].text = str(int(clus[16]))
doc.tables[3].rows[7].cells[1].text = str(int(clus[17]))
doc.tables[3].rows[7].cells[3].text = str(int(clus[18]))
doc.tables[5].rows[0].cells[0].paragraphs[0].runs[0].clear()
doc.tables[5].rows[0].cells[0].paragraphs[0].runs[0].add_picture(images[0],width=docx.shared.Cm(5),height=docx.shared.Cm(5))
doc.tables[5].rows[0].cells[1].paragraphs[0].runs[0].clear()
doc.tables[5].rows[0].cells[1].paragraphs[0].runs[0].add_picture(images[1],width=docx.shared.Cm(5),height=docx.shared.Cm(5))
doc.tables[5].rows[0].cells[2].paragraphs[0].runs[0].clear()
doc.tables[5].rows[0].cells[2].paragraphs[0].runs[0].add_picture(images[2],width=docx.shared.Cm(5),height=docx.shared.Cm(5))
doc.tables[5].rows[1].cells[0].paragraphs[0].runs[0].clear()
doc.tables[5].rows[1].cells[0].paragraphs[0].runs[0].add_picture(images[3],width=docx.shared.Cm(5),height=docx.shared.Cm(5))
doc.tables[5].rows[1].cells[1].paragraphs[0].runs[0].clear()
doc.tables[5].rows[1].cells[1].paragraphs[0].runs[0].add_picture(images[4],width=docx.shared.Cm(5),height=docx.shared.Cm(5))
doc.tables[5].rows[1].cells[2].paragraphs[0].runs[0].clear()
doc.tables[5].rows[1].cells[2].paragraphs[0].runs[0].add_picture(images[5],width=docx.shared.Cm(5),height=docx.shared.Cm(5))
doc.tables[7].rows[0].cells[0].paragraphs[0].runs[0].clear()
doc.tables[7].rows[0].cells[0].paragraphs[0].runs[0].add_picture(images[6],width=docx.shared.Cm(5),height=docx.shared.Cm(5))
doc.tables[7].rows[0].cells[1].paragraphs[0].runs[0].clear()
doc.tables[7].rows[0].cells[1].paragraphs[0].runs[0].add_picture(images[7],width=docx.shared.Cm(5),height=docx.shared.Cm(5))
doc.tables[7].rows[0].cells[2].paragraphs[0].runs[0].clear()
doc.tables[7].rows[0].cells[2].paragraphs[0].runs[0].add_picture(images[8],width=docx.shared.Cm(5),height=docx.shared.Cm(5))
doc.tables[7].rows[1].cells[0].paragraphs[0].runs[0].clear()
doc.tables[7].rows[1].cells[0].paragraphs[0].runs[0].add_picture(images[9],width=docx.shared.Cm(5),height=docx.shared.Cm(5))
doc.tables[7].rows[1].cells[1].paragraphs[0].runs[0].clear()
doc.tables[7].rows[1].cells[1].paragraphs[0].runs[0].add_picture(images[10],width=docx.shared.Cm(5),height=docx.shared.Cm(5))
doc.tables[7].rows[1].cells[2].paragraphs[0].runs[0].clear()
doc.tables[7].rows[1].cells[2].paragraphs[0].runs[0].add_picture(images[11],width=docx.shared.Cm(5),height=docx.shared.Cm(5))
doc.paragraphs[12].runs[0].clear()
doc.paragraphs[12].runs[0].add_picture(images[12],width=docx.shared.Cm(15.24),height=docx.shared.Cm(15.24))
if type != 0:
# doc.tables[4].rows[0].cells[2].text = "噪声等效温差(NETD)"
# temppara = doc.tables[4].rows[0].cells[2].paragraphs[0]._element.clone()
# temppara.text = "噪声等效温差(NETD)"
# doc.tables[4].rows[0].cells[2]._body.insert(1,temppara)
doc.tables[2].add_row()
doc.tables[2].add_row()
# doc.tables[2].rows[12+2].cells[0].text = doc.tables[2].rows[10+2].cells[0].text
# doc.tables[2].rows[12+2].cells[1].text = doc.tables[2].rows[10+2].cells[1].text
# doc.tables[2].rows[13+2].cells[0].text = doc.tables[2].rows[11+2].cells[0].text
# doc.tables[2].rows[13+2].cells[1].text = doc.tables[2].rows[11+2].cells[1].text
doc.tables[2].rows[10+4].cells[0].text = "平均峰值探测率"
doc.tables[2].rows[11+4].cells[0].text = "由平均噪声、平均摆幅计算NETD"
doc.tables[2].rows[10+4].cells[1].text = rsts[10+4]
doc.tables[2].rows[11+4].cells[1].text = rsts[11+4]
# doc.paragraphs[0].text = doc.paragraphs[0].text.replace("短","中") #标题位置为 0
pass # 修改这里
for i in range(4):
for row in doc.tables[i].rows:
# 修改表格高度
# doc.tables[1].rows[i].height = docx.shared.Cm(0.3)
# pass
for cell in row.cells:
paragraph = cell.paragraphs[0]
paragraph.paragraph_format.space_before = docx.shared.Pt(0)
paragraph.paragraph_format.space_after = docx.shared.Pt(0)
filename = id+"测试报告.docx"
doc.save(filename)
return