如何使用C#统计Word文档中表格的行数?
打开Word文档并统计表格行数的实现方案
环境准备
- 先安装处理Word文档的依赖库:
pip install python-docx
代码实现与说明
方案一:使用python-docx(跨平台、轻量)
from docx import Document # 替换为你的Word文档路径 doc_path = "example.docx" # 加载文档 doc = Document(doc_path) # 遍历文档里的所有表格 for idx, table in enumerate(doc.tables): # 直接获取表格总行数(包含表头) total_rows = len(table.rows) print(f"第{idx+1}个表格的行数:{total_rows}")
- 核心逻辑:
doc.tables会返回文档中所有表格对象,每个表格的rows属性是行的集合,用len()就能拿到行数 - 如果要排除表头行,把
total_rows改成total_rows - 1即可
方案二:使用pywin32(Windows环境、依赖本地Word)
如果你的文档格式复杂(比如包含旧版.doc文件),可以用这个方案,需要先安装:pip install pywin32
import win32com.client as win32 # 启动Word后台进程 word_app = win32.gencache.EnsureDispatch('Word.Application') word_app.Visible = False # 不显示Word窗口 # 打开文档 doc = word_app.Documents.Open("example.docx") # 遍历表格统计行数 for idx, table in enumerate(doc.Tables): row_count = table.Rows.Count print(f"第{idx+1}个表格的行数:{row_count}") # 关闭文档和Word进程 doc.Close() word_app.Quit()
- 这个方案依赖本地安装的Microsoft Word,能处理更多复杂格式的Word文档,但只能在Windows上用
注意点
python-docx只支持.docx格式,.doc文件需要先转成.docx再处理- 如果文档里只有一个表格,直接取
doc.tables[0].rows就能拿到目标表格的行数据
内容的提问来源于stack exchange,提问作者Christian Watson
相关产品推荐
相关产品推荐

