Tips:如何批量将Word表格转为Excel

Tips: all for hands-free.

Tips 系列:记录日常解决问题、解放双手的一些小技巧。

目的只有一个:不被重复的琐事麻痹,能偷懒的绝不手软。

今天展示的是Mac上如何批量将Word(.doc)表格转换为Excel。

先上效果图:

第一次选择目录后需要点击授权目录权限。

Word另存运行过程在后台,动图上没显示出来,实际Word窗口会一次次打开-另存-关闭。

---

为什么会有这个东西?

因为笔者维护的一个课表小程序,它的课表数据源都是.doc格式的。。。

当然这不是本文的重点,重点是如何自动化处理类似问题。

当时查阅网上资料,也没找到doc转换到xlsx轮子。

不过,docx或者html倒是可以利用python的pandas库转换成xlsx。

所以只要解决 doc -> docx/html 转换就好了。

Word倒是有 另存为 功能,利用Mac的AppleScript可以实现自动调用另存。

下面以转换docx为例,简单看下代码实现。

AppleScript实现doc另存docx

Tips:如何批量将Word表格转为Excel_第1张图片

AppleScript 语法很是表意,选择文件是 choose file

调用应用是 tell application "Microsoft Word"

剩下AppleScript基本可以实现mac的所有常见操作,用到的直接查文档,

而且脚本编辑器页面 ⌘⇧O 可以打开AppleScript字典,方便查看应用的属性集合

右键也有一些代码片段可用,更厉害的还可以录制操作,会自动转为代码。

还有一点要注意:finder文件对象地址非POSIX格式(我们常见的/Users/xxx

Macintosh HD:Users:xxx这种形式, 使用脚本时需要注意转换。

调试变量可以是对话框: display dialog (path to me as text), 有没有网页开发的感觉。

pandas处理docx转换xlsx

Tips:如何批量将Word表格转为Excel_第2张图片

详细代码见NewbMiao/free-hands-tips

转换Excel提供了两种示例:

- docx2xlsx是批量将Word一个个转为对应Excel

- html2xlsx是将所有html表格合并到同一个Excel中不同sheet

总结一下,使用Mac的话,AppleScript用好了,好多操作都可以实现自动化,还是很有必要了解下的。

附上详细文档:

- AppleScript 入门:探索 macOS 自动化

- Mac Automation Scripting Guide

---

文章首发公众号:newbmiao (欢迎关注,获取及时更新内容)

推荐阅读:Dig101-Go系列

Tips:如何批量将Word表格转为Excel_第3张图片

你可能感兴趣的:(后端技术分享)