可采用四种方法批量提取Word多表格为纯文本:一、Word内置“表格转文本”功能(单表手动);二、VBA宏全自动导出;三、Python脚本高定制化处理;四、WPS文字图形界面批量导出。

如果您需要从一个含有多张表格的Word文档中批量提取所有表格内容并导出为纯文本格式,则可能是由于人工逐张复制效率低下或存在格式错乱风险。以下是实现该目标的多种可行方法:
一、使用Word内置“表格转文本”功能(单表适用)
该方法适用于对单个表格进行快速转换,利用Word原生工具将表格结构剥离,仅保留文字内容,并按指定分隔符排列。操作过程不依赖外部软件,但需逐张执行,不适合超多表格场景。
1、将光标定位在目标表格任意单元格内。
2、点击顶部菜单栏的“布局”选项卡(在选中表格后自动出现)。
3、在“数据”功能组中,点击“转换为文本”按钮。
4、在弹出窗口中选择分隔符:推荐勾选“制表符”以保持行列对齐;若用于后续导入Excel,也可选“逗号”。
5、点击“确定”,表格即被替换为纯文本段落。
二、VBA宏批量导出全部表格为文本(全自动)
该方法可一次性遍历文档中所有表格,将其内容按顺序提取并写入新文本文件(.txt),保留原始行列结构,无需人工干预,适合处理数十甚至上百张表格的文档。
1、在Word中按下Alt + F11打开VBA编辑器。
2、在左侧“项目资源管理器”中右键当前文档名,选择“插入” → “模块”。
3、将以下代码完整粘贴至右侧代码窗口:
Sub ExportAllTablesToText()
Dim tbl As Table
Dim i As Integer
Dim txtContent As String
Dim filePath As String
filePath = ActiveDocument.Path & "\ExportedTables.txt"
txtContent = ""
For i = 1 To ActiveDocument.Tables.Count
Set tbl = ActiveDocument.Tables(i)
txtContent = txtContent & "【表格 " & i & "】" & vbCrLf
tbl.Range.Copy
txtContent = txtContent & GetTableText(tbl) & vbCrLf & vbCrLf
Next i
Open filePath For Output As #1
Print #1, txtContent
Close #1
MsgBox "所有表格已导出为文本:" & filePath, vbInformation
End Sub
Function GetTableText(t As Table) As String
Dim r As Row, c As Cell
Dim rowText As String, cellText As String
GetTableText = ""
For Each r In t.Rows
rowText = ""
For Each c In r.Cells
cellText = Trim(Replace(c.Range.Text, Chr(13) & Chr(7), ""))
cellText = Replace(cellText, Chr(13), " ")
rowText = rowText & cellText & vbTab
Next c
GetTableText = GetTableText & Left(rowText, Len(rowText) - 1) & vbCrLf
Next r
End Function
4、按F5运行宏,程序将在原文档所在文件夹生成名为“ExportedTables.txt”的纯文本文件。
三、Python脚本批量提取(高定制性)
该方法通过python-docx库读取Word文档,遍历每张表格,提取单元格文本并按行列拼接为字符串,最终输出为UTF-8编码的TXT文件。支持跳过空表、过滤特定标题行、添加前缀标识等扩展逻辑,适合有编程基础或需集成进自动化流程的用户。
1、确保已安装python及第三方库:pip install python-docx。
2、新建文本文件,保存为extract_tables.py,内容如下:
from docx import Document
import sys
doc = Document(sys.argv[1] if len(sys.argv) > 1 else input("请输入Word文件路径:"))
output_lines = []
for i, table in enumerate(doc.tables, 1):
output_lines.append(f"【表格 {i}】")
for row in table.rows:
row_text = "\t".join(cell.text.strip().replace("\n", " ").replace("\r", "") for cell in row.cells)
output_lines.append(row_text)
output_lines.append("")
with open("ExportedTables.txt", "w", encoding="utf-8") as f:
f.write("\n".join(output_lines))
print("✅ 已导出至 ExportedTables.txt")
3、将待处理的Word文件与该脚本置于同一目录,双击运行或在命令行中执行:python extract_tables.py document.docx。
四、WPS文字批量导出(图形界面友好型)
WPS文字提供可视化批量操作入口,用户可通过“批量工具”插件或内置“文档部件”功能一键导出全部表格为文本段落,操作门槛低,且支持预览导出效果,适合不熟悉代码或VBA的办公人员。
1、用WPS文字打开目标文档,确保已登录账号并启用“开发工具”选项卡(如未显示,可在“文件→选项→自定义功能区”中勾选)。
2、点击“开发工具” → “宏” → “WPS宏中心”,搜索并安装“表格批量导出助手”插件。
3、安装完成后,在文档任意位置右键,选择“表格批量导出” → “导出为纯文本”。
4、在弹窗中勾选“合并所有表格内容”与“使用制表符分隔列”,点击“开始导出”。
5、导出完成提示出现后,前往原文件夹查找“WPS_Exported_Text.txt”。











