python docx 表格打印不显示_在“*”处找不到包。Docx';没有名为'table grid'的样式',pythondocx,表格,修改,Packagenotfoundatdocxnosty...

做一个小demo的时候遇到了几个和docx有关的问题,简记如下。

使用python包docx进行doc文件编写的时候,如果想插入一个style为’Table Grid’的表格,那么就先新建一个空文档’test.docx’,然后在同目录的test.py下写如下代码并运行:

import docx

doc = docx.Document('test.docx')

table=doc.add_table(rows=3, cols=4)

table.style = doc.styles["Table Grid"]

doc.save('test.docx')

这时候会遇到第一个问题,报错如下:

Traceback (most recent call last):

File "test.py", line 3, in

doc = docx.Document('test.docx')

File "D:\Anaconda3\lib\site-packages\docx\api.py", line 25, in Document

document_part = Package.open(docx).main_document_part

File "D:\Anaconda3\lib\site-packages\docx\opc\package.py", line 116, in open

pkg_reader = PackageReader.from_file(pkg_file)

File "D:\Anaconda3\lib\site-packages\docx\opc\p

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用python-docx库可以很方便地操作Word文档中的表格。下面是一个简单的示例,演示了如何在Word文档中创建一个2行3列的表格,并设置单元格内容和样式。 ```python import docx # 创建一个新的Word文档 doc = docx.Document() # 添加一个2行3列的表格 table = doc.add_table(rows=2, cols=3) # 设置表格样式 table.style = 'Table Grid' # 设置第一行表头内容 hdr_cells = table.rows[0].cells hdr_cells[0].text = '姓名' hdr_cells[1].text = '年龄' hdr_cells[2].text = '性别' # 设置第二行数据 row_cells = table.rows[1].cells row_cells[0].text = '张三' row_cells[1].text = '25' row_cells[2].text = '男' # 设置表格样式 for row in table.rows: for cell in row.cells: cell.vertical_alignment = docx.enum.text.WD_CELL_VERTICAL_ALIGNMENT.CENTER cell.paragraphs[0].alignment = docx.enum.text.WD_ALIGN_PARAGRAPH.CENTER # 保存文档 doc.save('table.docx') ``` 这里使用了`docx`库中的`Document`类创建了一个新的Word文档,并使用`add_table()`方法添加了一个2行3列的表格。接下来,通过`rows`和`cols`参数设置了表格的行数和列数。然后,使用`style`属性设置了表格样式。 接着,通过`table.rows`和`table.cells`属性获取到表格中的行和单元格,分别设置了表头和数据。最后,使用`vertical_alignment`和`alignment`属性设置了单元格的垂直居中和水平居中。最后,使用`save()`方法保存了文档。 这只是一个简单的示例,你可以根据自己的需求进一步扩展和定制。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值