乐于分享
好东西不私藏

一个WPS word表格批量处理工具

一个WPS word表格批量处理工具

为什么要写这个工具?

在规划设计行业,WPS word表格几乎是日常必备。项目文本里动辄几十个表格,格式要求还特别统一。手动改?费时费力还容易漏。找插件?要么收费,要么功能不齐全。

我想要的很简单:选中表格,一键操作。

于是,我用Python + pywin32,基于WPS word的COM接口,写了一个完整的桌面工具。它不是什么惊天动地的大项目,但它解决了我的真实痛点

它能做什么?

这个工具的功能列表,我列一下你就知道有多实用了:

基础操作:

  • 批量选中表格(加浅绿色底纹标记)
  • 清除选中标记

格式调整:

  • 根据窗口调整表格宽度
  • 批量应用框线(可自定义线宽)
  • 批量文字居中(水平+垂直)
  • 批量调整段落间距(倍数/固定值)
  • 强制同步单元格边距

标题行操作:

  • 批量表头加粗 / 取消加粗
  • 设置重复标题行(跨页重复)
  • 批量标题行加底色

字体操作:

  • 批量调整字体(名称、大小、颜色)

合并功能:

  • 批量合并单元格(相同内容合并 / 空单元格合并)
  • 高级合并(指定表格、行列范围、合并规则)

辅助功能:

  • 快速查询表格(列出所有表格信息,双击跳转)
  • 一键应用个性化设置(自由组合功能)

一句话总结:你在WPS里对表格能做的所有重复操作,这个工具都能批量搞定。

怎么用?三步上手

第一步:准备工作

确保电脑上已安装WPS OfficePython 3.6+(含pywin32库)。然后运行程序,会看到一个干净的主界面。

界面上的按钮按功能分组,一目了然:

  • 第一行:选中 / 清除选中
  • 第二行:窗口调整 / 框线
  • 第三行:文字居中 / 段落间距
  • 第四行:表头加粗 / 取消加粗
  • 第五行:重复标题行 / 同步单元格边距
  • 第六行:调整字体 / 标题行加底色
  • 第七行:一键应用(橙色醒目按钮)
  • 第八行:合并功能
  • 第九行:查询表格 / 选择文档

第二步:选择文档

点击「选择目标文档」,程序会列出所有已打开的WPS文档。选中你要操作的那个,双击或点击确认。

之后所有操作都针对这个文档,不用担心误改其他文件。

第三步:选择表格,开始操作

点击任何功能按钮(比如“批量文字居中”),程序会弹出一个表格选择对话框

  • 列出文档中所有表格(显示行列数)
  • 支持多选:Ctrl点选不连续,Shift连续选择
  • 双击表格项:自动跳转到文档中该表格位置

选中表格,点击确定,操作即刻生效。

最关键的是:所有的操作都是批量执行,一次搞定。

核心亮点:个性化设置 + 高级合并

一键应用个性化设置

如果每次都要单独点按钮,效率还是不够高。所以工具里有一个“一键应用”功能:

  • 弹出一个窗口,让你勾选需要执行的功能
  • 设置对应的参数(框线宽度、行距倍数、字体大小等)
  • 点击执行,所有勾选的功能自动按顺序应用到选中的表格

比如,你选中“居中 + 框线 + 标题行加粗”,它会在一个循环里完成这三个操作,不用分三步走。

高级合并

WPS自带的合并功能比较基础,这个工具扩展了两种更灵活的合并方式:

1. 相同内容合并(垂直/水平)

在某一列(或某一行)中,如果连续单元格的内容相同,自动合并成一个单元格,保留第一个的内容。

适用场景:表格中有重复的分类项,需要合并显示。

2. 空单元格合并(垂直/水平)

如果某个单元格为空,自动向上(或向左)合并,把空单元格并入有内容的单元格。

适用场景:表格中有缺失数据,需要填充空白。

而且高级合并可以指定处理范围——选择特定表格、特定列(垂直合并时)或特定行(水平合并时),非常灵活。

代码是怎么实现的?

这个工具的核心技术原理是通过COM接口操作WPS

win32com.client是Python调用Windows COM组件的库,可以像操作WPS的VBA一样,用Python控制WPS的各种功能。

关键代码结构如下:

import win32com.client as win32# 获取WPS应用程序对象app = win32.GetActiveObject("Kwps.Application")doc = app.ActiveDocumenttables = doc.Tables# 遍历表格,执行操作for i in range(1, tables.Count + 1):    table = tables(i)    # 比如:文字居中    table.Select()    for cell in app.Selection.Cells:        cell.VerticalAlignment = 1

为了实现批量处理、多选表格、个性化设置等交互功能,我用tkinter搭建了图形界面,用threading实现了后台处理不卡顿。

所有操作都是对当前选中的表格执行,支持多选,支持双击跳转定位。 这种交互设计,能让操作文档的人感到非常顺手。

使用注意事项

  1. 文档不能处于保护状态:如果文档开启了限制编辑,工具会提示解除保护。如果有密码,需要手动解除后再操作。
  2. 建议先备份文档:虽然工具经过了测试,但批量操作涉及修改,建议操作前先保存备份。
  3. 合并功能谨慎使用:合并单元格是不可逆操作(没有撤销),建议先在小范围内测试效果。
  4. WPS兼容性:本工具基于WPS的COM接口开发,理论上也兼容Microsoft Word,但主要是针对WPS优化。需要完整脚本及工具的朋友,可以在公众号后台回复「表格工具」,以上内容及工具仅供参考学习,可能电脑系统版本存在不同bug,可以自行优化

📢 我是老李,35岁规划师,从零开始学AI。

每天1小时,记录真实学习路。不求成为大神,只为多一条出路。

如果你也在传统行业或者对未来感到焦虑,如果你也想学点新东西但一直没有开始

点击关注,我们一起进步;

也欢迎点赞 ❤️ 分享 ➕ 推荐,让更多同行者看到!

👇👇👇