最近在做一个python项目,项目的有一部分是要提取Excel中的文本与图片。
之前的需求只是提取Excel中的文本,这个功能的实现比较简单,在python的官网有几个库可供选用,比如xlrd,openpyxl等。
后来需求要求将Excel中的图片提取出来。我尝试过使用openpyxl去提取,但是发现openpyxl并没有读取Excel文件的图片信息,只有文本--用openpyxl打开一个有图片的Excel,然后再保存这个Excel,你会发现图片丢失了。网上有很多python库,基本上只介绍了如何去写Excel文件,读的却非常少。因为目标平台是Linux,故Win32COM/自动化也不在考虑之中。
最后从Android操作Excel的项目中得到启示,Android中使用Apache POI实现对Excel的操作,Apache POI是纯Java的代码,依赖于jre,而jre在Linux和Windows上面都可以运行,于是就有了这个方案:将POI编译成可执行文件,在目标机器上安装jre,然后让python通过命令行调用这个可执行程序,从而实现对特定Excel的图片提取。
相对于其他的python的Excel库,POI功能比较完善,除了Excel,还可以处理其他的Microsoft Office文档。不足的地方是需要jre的支持。
个人认为这是一个可行方案之一,跨平台并且省时省力。不知道还有没有其他更好的方案。
参考资料:;;;。
posted on 2015-10-10 18:04 阅读( ...) 评论( ...)