通过在 word 表格中添加或删除行和列,用户可以调整表格的结构以有效地容纳您的数据。通过添加行和列,用户可以随着数据的增长毫不费力地扩展表,确保以全面的方式捕获和显示所有相关信息。另一方面,删除不必要的行和列可以简化表格,消除任何可能使文档混乱的冗余或无关数据。本文将介绍如何使用 spire.doc for python 在 python 中添加或删除表格行和列。
安装 spire.doc for python
本教程需要使用 spire.doc for python 和 plum-dispatch v1.7.4。您可以通过以下 pip 命令将它们轻松安装到 vs code 中。
pip install spire.doc
如果您不确定如何安装,请参考此教程:如何在 vs code 中安装 spire.doc for python
python 向 word 表格添加或插入行
spire.doc for python 提供了 table.addrow() 或 table.insertrow() 方法在 word 表格的末尾添加一行或在 word 表格的特定位置插入一行。下面是详细的步骤:
- 创建一个 document 对象。
- 使用 document.loadfromfile() 方法加载 word 文档。
- 通过 document.sections[] 属性获取文档的第一部分。
- 通过 section.tables[] 属性获取该部分的第一个表。
- 使用 table.rows.insert() 方法在表的特定位置插入一行。
- 将数据添加到新插入的行。
- 使用 table.addrow()方法在表的末尾添加一行。
- 将数据添加到新添加的行。
- 使用 document.savetofile() 方法保存生成的文档。
- python
from spire.doc import *
from spire.doc.common import *
# 设置输入文件路径
inputfile = "data/createtable.docx"
# 创建文档对象
document = document()
# 从输入文件中加载文档内容
document.loadfromfile(inputfile)
# 获取文档的第一个节
section = document.sections[0]
# 获取第一个节的第一个表格,如果不存在则返回none
table = section.tables[0] if isinstance(section.tables[0], table) else none
# 在表格的第2行插入新行
table.rows.insert(2, table.addrow())
# 获取插入的行
insertedrow = table.rows[2]
# 遍历插入行的每个单元格
for i in range(insertedrow.cells.count):
# 获取单元格
cell = insertedrow.cells[i]
# 在单元格中添加段落
paragraph = cell.addparagraph()
# 向段落中添加文本
paragraph.appendtext("插入行")
# 设置段落的水平对齐方式为居中
paragraph.format.horizontalalignment = horizontalalignment.center
# 设置单元格的垂直对齐方式为居中
cell.cellformat.verticalalignment = verticalalignment.middle
# 在表格末尾添加一行
addedrow = table.addrow()
# 遍历新添加行的每个单元格
for i in range(addedrow.cells.count):
# 获取单元格
cell = addedrow.cells[i]
# 在单元格中添加段落
paragraph = cell.addparagraph()
# 向段落中添加文本
paragraph.appendtext("末尾行")
# 设置段落的水平对齐方式为居中
paragraph.format.horizontalalignment = horizontalalignment.center
# 设置单元格的垂直对齐方式为居中
cell.cellformat.verticalalignment = verticalalignment.middle
# 将修改后的文档保存到输出文件中
document.savetofile("output/addrows.docx", fileformat.docx2016)
# 关闭文档对象
document.close()
python 向 word 表格中添加或插入列
spire.doc for python 不提供在 word 表格中添加或插入列的直接方法。但是,用户可以通过使用 tablerow.cells.add() 或 tablerow.cells.insert() 方法在每个表格行的特定位置添加或插入单元格来实现此目的。下面是详细的步骤:
- 创建一个 document 对象。
- 使用 document.loadfromfile() 方法加载 word 文档。
- 通过 document.sections[] 属性获取文档的第一部分。
- 通过 section.tables[] 属性获取该部分的第一个表。
- 遍历表的每一行。
- 创建一个 tablecell 对象,然后使用 tablerow.cells.insert() 方法将其插入每行的特定位置并设置单元格宽度。
- 向单元格添加数据并设置文本对齐方式。
- 使用 tablerow.addcell() 方法在每行末尾添加一个单元格并设置单元格宽度。
- 向单元格添加数据并设置文本对齐方式。
- 使用 document.savetofile() 方法保存生成的文档。
- python
from spire.doc import *
from spire.doc.common import *
# 创建一个document对象
document = document()
# 从"table1.docx"文件中加载文档内容
document.loadfromfile("data/table.docx")
# 获取文档的第一个节(section)
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)
# 设置新单元格的宽度与第一列相同
cell.width = row.cells[0].width
# 在新单元格中添加一个段落,并设置文本内容为"inserted column"
paragraph = cell.addparagraph()
paragraph.appendtext("插入列")
# 设置段落的水平对齐方式为居中
paragraph.format.horizontalalignment = horizontalalignment.center
# 设置新单元格的垂直对齐方式为居中
cell.cellformat.verticalalignment = verticalalignment.middle
# 在当前行的末尾添加一个新的单元格
cell = row.addcell()
# 设置新单元格的宽度与第二列相同
cell.width = row.cells[1].width
# 在新单元格中添加一个段落,并设置文本内容为"end column"
paragraph = cell.addparagraph()
paragraph.appendtext("末尾列")
# 设置段落的水平对齐方式为居中
paragraph.format.horizontalalignment = horizontalalignment.center
# 设置新单元格的垂直对齐方式为居中
cell.cellformat.verticalalignment = verticalalignment.middle
# 将修改后的文档保存为"addcolumns.docx"文件,格式为docx2016
document.savetofile("output/addcolumns.docx", fileformat.docx2016)
# 关闭文档对象
document.close()
python 从 word 表格中删除行
spire.doc for python 提供了 table.rows.removeat() 方法,从 word 表中删除特定行。下面是详细的步骤:
- 创建一个 document 对象。
- 使用 document.loadfromfile() 方法加载 word 文档。
- 通过 document.sections[] 属性获取文档的第一部分。
- 通过 section.tables[] 属性获取该部分的第一个表。
- 使用 table.rows.removeat() 方法从表中删除特定行。
- 使用 document.savetofile() 方法保存生成的文档。
- python
from spire.doc import *
from spire.doc.common import *
# 创建一个document对象
document = document()
# 从"addrows.docx"文件中加载文档内容
document.loadfromfile("data/addrows.docx")
# 获取文档的第一个节(section)
section = document.sections[0]
# 获取第一个节中的第一个表格,如果该表格存在的话
table = section.tables[0] if isinstance(section.tables[0], table) else none
# 移除表格中的第1行
table.rows.removeat(0)
# 移除表格中的最后一行
table.rows.removeat(table.rows.count - 1)
# 将修改后的文档保存为"removerows.docx"文件,格式为docx2016
document.savetofile("output/removerows.docx", fileformat.docx2016)
# 关闭文档对象
document.close()
python 从 word 表格中删除列
spire.doc for python 提供了 tablerow.cells.removeat() 这个方法从每个表格行中删除相应的单元格。下面是详细的步骤:
- 创建一个 document 对象。
- 使用 document.loadfromfile() 方法加载 word 文档。
- 通过 document.sections[] 属性获取文档的第一部分。
- 通过 section.tables[] 属性获取该部分的第一个表。
- 遍历表的每一行。
- 使用 tablerow.cells.removeat() 方法从每行中删除特定单元格。
- 使用 document.savetofile() 方法保存生成的文档。
- python
from spire.doc import *
from spire.doc.common import *
# 创建一个document对象
document = document()
# 从"addcolumns.docx"文件中加载文档内容
document.loadfromfile("data/addcolumns.docx")
# 获取文档的第一个节(section)
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]
# 移除第1个单元格
row.cells.removeat(0)
# 移除最后一个单元格
row.cells.removeat(row.cells.count - 1)
# 将修改后的文档保存为"removecolumns.docx"文件,格式为docx2016
document.savetofile("output/removecolumns.docx", fileformat.docx2016)
# 关闭文档对象
document.close()
申请临时 license
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用javascript。获取有效期 30 天的临时许可证。