大数据 爬虫Python AI SqlPython编程网赚

老板给我一批Excel文档都有密码保护,还好我会Python,不

2018-12-16  本文已影响5人  1a076099f916
老板给我一批Excel文档都有密码保护,还好我会Python,不然惨了

实现方法很多,不仅限于Python,一般场景下通过VBA去做应该会更方便。

主要是因为同事有类似的需求,需要批量解除大量Excel文档的工作簿保护,统计其中的信息,而他又使用了Python,我正好没写过,顿时来了兴致就写了一下。

加群:943752371可以获取Python入门学习资料哦!

老板给我一批Excel文档都有密码保护,还好我会Python,不然惨了

Python操作Excel的库如xlrd、openpyxl等都无法实现解除工作簿保护,因此只能通过COM组件的方式调用Excel来解除。

我将其通过COM组件调用Excel解除工作簿保护的部分单独提取了出来,因为其它地方也可能会用到。

用法上涉及到了configparser(解析配置文件)、logging(日志记录)以及win32com.client的Dispatch(COM组件调用)等模块。

注释我已经尽可能详细,初学者或感兴趣的可以尝试折腾。

你可能需要通过以下命令安装configparser

<pre style="-webkit-tap-highlight-color: transparent; box-sizing: border-box; font-family: Consolas, Menlo, Courier, monospace; font-size: 16px; white-space: pre-wrap; position: relative; line-height: 1.5; color: rgb(153, 153, 153); margin: 1em 0px; padding: 12px 10px; background: rgb(244, 245, 246); border: 1px solid rgb(232, 232, 232);">pip install configparser
</pre>

其主要代码如下:

老板给我一批Excel文档都有密码保护,还好我会Python,不然惨了 老板给我一批Excel文档都有密码保护,还好我会Python,不然惨了 老板给我一批Excel文档都有密码保护,还好我会Python,不然惨了

conf.ini配置文件如下:

<pre style="-webkit-tap-highlight-color: transparent; box-sizing: border-box; font-family: Consolas, Menlo, Courier, monospace; font-size: 16px; white-space: pre-wrap; position: relative; line-height: 1.5; color: rgb(153, 153, 153); margin: 1em 0px; padding: 12px 10px; background: rgb(244, 245, 246); border: 1px solid rgb(232, 232, 232);">[Conf]
path=文件路径
password=密码
</pre>

上一篇下一篇

猜你喜欢

热点阅读