与插入行不同,插入列没有可以直接调用的方法。为了实现插入列的效果,我们可以在每一行中的指定位置插入单元格来添加新列。具体操作如下:
- 通过
LoadFromFile()
方法加载Word文档; - 查找文档指定节中查找并返回其中第一个表格
Table
对象; - 遍历表格中的每一行;
- 创建单元格,然后使用
TableRow.Cells.Insert()
方法将其插入到每行指定位置处; - 也可以使用
TableRow.AddCell()
方法直接在每行末尾处添加一个单元格; - 保存文档。
示例代码:
from spire.doc import *
from spire.doc.common import *
# 加载Word文档
document = Document()
document.LoadFromFile("Word表格.docx")
# 获取第一节
section = document.Sections[0]
# 获取该节中的第一个表格
table = section.Tables[0] if isinstance(section.Tables[0], Table) else None
# 遍历表格的每一行
for i in range(table.Rows.Count):
# 获取当前行
row = table.Rows[i]
# 在当前行的第三个位置处插入一个单元格
cell = TableCell(document)
row.Cells.Insert(2, cell)
# 设置新单元格的宽度
row.Cells[2].SetCellWidth(40, CellWidthType.Point)
# 在当前行的末尾添加一个新的单元格
cell = row.AddCell()
# 设置新单元格的宽度与第二列相同
cell.Width = row.Cells[1].Width
# 保存文件
document.SaveToFile("插入列.docx", FileFormat.Docx2016)
document.Close()
生成文件如图: