一键升级WPS文档及表格

Python 自动化办公 · 强迫症必备工具
明明已经是2025年了,电脑里却还躺着一堆.doc和.xls格式的旧版WPS/Office文件。
双击打开还要弹窗提示「兼容模式」,看着那一串蓝色标题栏,强迫症简直不能忍!
🎯 今天给大家分享一个「WPS格式一键升级脚本」,只需3步,就能把指定文件夹里的所有旧格式文档和表格,批量转换为 .docx / .xlsx 新格式,并且——自动删除旧的垃圾文件!
-
✅ 告别兼容模式 -
✅ 文件体积更小、更稳定 -
✅ 文件夹瞬间清爽,洁癖患者狂喜
将脚本保存为xls2xlsx.py,放在任意位置,比如:
D:\asus\Desktop\应用程序\PY插件\WPS格式升级\xls2xlsx.py
-
自动扫描文件夹下的 .doc→ 转为.docx -
自动扫描 .xls→ 转为.xlsx -
转换成功后,自动删除原文件(不留历史包袱) -
跳过已存在的目标文件,避免重复转换
找到你想要「净化」的那个文件夹,右键 → 在终端中打开(Windows 11 可直接看到该选项)。
如果你的系统没有这个选项,也可以先打开终端,再用cd命令进入目标目录。
在终端中粘贴以下命令并执行:
python "D:\asus\Desktop\应用程序\PY插件\WPS格式升级\xls2xlsx.py"
回车,剩下的交给脚本。
脚本运行后,你会看到类似如下输出:
📋 共发现 12 个文件需要转换[1/12] xxx.doc✅ doc -> docx: xxx.docx[2/12] xxx.xls✅ xls -> xlsx: xxx.xlsx...🎉 转换完成! ✅ 成功: 12 ❌ 失败: 0 📁 总计: 12
再回头看你的文件夹:
-
❌ 不再有 .doc、.xls -
✅ 全是 .docx、.xlsx -
✅ 没有冗余备份文件 -
✅ 强迫症 100% 治愈
完整Python脚本如下,复制保存为.py文件即可使用:
import osimport win32com.client# ============ 配置区 ================ROOT_DIR = os.getcwd() # 当前工作目录# ====================================def xls_to_xlsx(xls_path, xlsx_path):et = win32com.client.Dispatch("KET.Application")et.Visible = Falsewb = Nonetry:wb = et.Workbooks.Open(xls_path)wb.SaveAs(xlsx_path, FileFormat=51)print(f"✅ xls -> xlsx: {xlsx_path}")return True, "xls -> xlsx转换成功"except Exception as e:print(f"❌ 转换失败: {xls_path}\n {e}")return False, str(e)finally:if wb:wb.Close(SaveChanges=False)et.Quit()def doc_to_docx(doc_path, docx_path):wps = win32com.client.Dispatch("KWPS.Application")wps.Visible = Falsedoc = Nonetry:doc = wps.Documents.Open(doc_path)doc.SaveAs(docx_path, FileFormat=16)print(f"✅ doc -> docx: {docx_path}")return True, "doc -> docx转换成功"except Exception as e:print(f"❌ 转换失败: {doc_path}\n {e}")return False, str(e)finally:if doc:doc.Close(SaveChanges=False)wps.Quit()def main():todo = []for root, _, files in os.walk(ROOT_DIR):for file in files:full_path = os.path.join(root, file)name, ext = os.path.splitext(full_path)if ext.lower() == ".xls" and not file.lower().endswith(".xlsx"):target = name + ".xlsx"if os.path.exists(target):continuetodo.append(("xls", full_path, target))elif ext.lower() == ".doc" and not file.lower().endswith(".docx"):target = name + ".docx"if os.path.exists(target):continuetodo.append(("doc", full_path, target))total = len(todo)if total == 0:print("✅ 没有需要转换的文件。")returnprint(f"📋 共发现 {total} 个文件需要转换\n")success = failed = 0for i, (kind, src, dst) in enumerate(todo, 1):print(f"[{i}/{total}] {src}")if kind == "xls":ok, err = xls_to_xlsx(src, dst)else:ok, err = doc_to_docx(src, dst)if ok:print(f" ✅ 转换成功: {dst}")success += 1else:print(f" ❌ 转换失败: {err}")failed += 1print(f"\n{'='*50}")print(f"🎉 转换完成!")print(f" ✅ 成功: {success}")print(f" ❌ 失败: {failed}")print(f" 📁 总计: {total}")print(f"{'='*50}")if __name__ == "__main__":main()
- 依赖环境:
本脚本依赖本地已安装WPS Office(支持 COM 自动化),Windows 系统可用。 - 不可逆操作提醒:
脚本默认会删除旧格式源文件,请确保: -
文件无需保留旧版本 -
重要资料已提前备份(虽然一般不会出问题,但谨慎为上) - 适用场景:
老项目资料整理、归档历史文档、桌面/下载文件夹大扫除、强迫症日常维护 😂
-
📁 电脑里堆满历史文件的职场打工人 -
🧹 看到旧格式就想删的强迫症/洁癖用户 -
🧠 喜欢用脚本解决重复劳动的 Python 爱好者 -
🏢 需要统一文档格式的企业/团队
工具并不复杂,但胜在省心、高效、爽。
如果你也被旧格式折磨已久,不妨试一试这个小脚本。一键升级,自动清理,让你的文件夹重新呼吸新鲜空气。
📌 关键词:WPS · Python · 格式转换 · 批量处理 · 强迫症 · 效率工具 · 办公自动化
夜雨聆风