出现的问题报错:
我是通过 with open 函数创建docx文档的,但是这种方式创建的文档无法,被docx模块的Document识别。请问怎么修改才可以让它被识别
生产word模板的代码如下:
我查看了生成文档的属性如下:
确认是word文档无疑,且里面不是空文档。
出现的问题报错:
我查看了生成文档的属性如下:
我看了下,楼上各位没有说到点子上:
你用with open 打开并写入,这种方式,只是普通的文件,他生成不了真正的【docx类】的文件;
比如这样:
from docx import Document
from docx.shared import Inches
document = Document()
document.add_heading('Document Title', 0)
p = document.add_paragraph('A plain paragraph having some ')
p.add_run('bold').bold = True
p.add_run(' and some ')
p.add_run('italic.').italic = True
document.add_heading('Heading, level 1', level=1)
document.add_paragraph('Intense quote', style='Intense Quote')
document.add_paragraph(
'first item in unordered list', style='List Bullet'
)
document.add_paragraph(
'first item in ordered list', style='List Number'
)
document.add_picture('monty-truth.png', width=Inches(1.25))
records = (
(3, '101', 'Spam'),
(7, '422', 'Eggs'),
(4, '631', 'Spam, spam, eggs, and spam')
)
table = document.add_table(rows=1, cols=3)
hdr_cells = table.rows[0].cells
hdr_cells[0].text = 'Qty'
hdr_cells[1].text = 'Id'
hdr_cells[2].text = 'Desc'
for qty, id, desc in records:
row_cells = table.add_row().cells
row_cells[0].text = str(qty)
row_cells[1].text = id
row_cells[2].text = desc
document.add_page_break()
document.save('demo.docx')