使用python-docx在Word文档中写入表格



我正试图在我的公司用于工作说明书的单词模板中写入表格,
我已经有了使用模板文件并将其保存为新文件名的工作代码。文件路径+文件名为new_SOWdst_file_name。

这通常会因为不可写的失败错误而不断崩溃。

对python来说还是个新手。如有任何建议,不胜感激。

# doc = Document(new_SOWdst_file_name)
# f = open(new_SOWdst_file_name, 'r')
# doc = Document(f)

# if customType == ca :
#     sys.exit()

# elif customType == sc :
#     SOWNum = doc.tables[0].cell(4,2).text
#     SOWAuthor = doc.tables[0].cell(6,2).text
#     SOWDescriptor = doc.tables[0].cell(8,2).text
#     SOWPartNum = doc.tables[0].cell(9,2).text
#     SOWDate = doc.tables[0].cell(13,1).text

#     SOWNum = 'SOW-'+ PartNum
#     SOWAuthor = 'Cody Nelson'
#     SOWDescriptor = Description
#     SOWPartNum = PartNum
#     SOWDate = now.strftime("%b %d, %Y")
# doc.save(f)
# f.close()
# doc.close()
#     sys.exit()

# elif customType == cc :
#     sys.exit()

在读取或写入文件之前不要打开它。python-docx会为您处理所有这些细节。你只需要:

document = Document(new_SOWdst_file_name)
# ... do your work with `document`
document.save("new-file-name.docx")
doc = Document(new_SOWdst_file_name)

doc.tables[0].cell(13,1).text = now.strftime("%b %d, %Y")
doc.tables[0].cell(9,2).text = PartNum
doc.tables[0].cell(8,2).text = Description
doc.tables[0].cell(6,2).text = 'Cody Nelson'
doc.tables[0].cell(4,2).text = 'SOW-'+ PartNum
doc.save(new_SOWdst_file_name)

不知道为什么这个有效,另一个无效。但是,它是有效的。

相关内容

最新更新