使用Python + Apache POI提取Excel中的图片

最近在作一个python项目,项目的有一部分是要提取Excel中的文本与图片。python

以前的需求只是提取Excel中的文本,这个功能的实现比较简单,在python的官网有几个库可供选用,好比xlrd,openpyxl等。apache

后来需求要求将Excel中的图片提取出来。我尝试过使用openpyxl去提取,可是发现openpyxl并无读取Excel文件的图片信息,只有文本--用openpyxl打开一个有图片的Excel,而后再保存这个Excel,你会发现图片丢失了。网上有不少python库,基本上只介绍了如何去写Excel文件,读的却很是少。由于目标平台是Linux,故Win32COM/自动化也不在考虑之中。url

最后从Android操做Excel的项目中获得启示,Android中使用Apache POI实现对Excel的操做,Apache POI是纯Java的代码,依赖于jre,而jre在Linux和Windows上面均可以运行,因而就有了这个方案:将POI编译成可执行文件,在目标机器上安装jre,而后让python经过命令行调用这个可执行程序,从而实现对特定Excel的图片提取。命令行

相对于其余的python的Excel库,POI功能比较完善,除了Excel,还能够处理其余的Microsoft Office文档。不足的地方是须要jre的支持。图片

我的认为这是一个可行方案之一,跨平台而且省时省力。不知道还有没有其余更好的方案。文档

参考资料:xlrd的百度百科xlrd的官网openpyxl官网Apache POI官网get

相关文章
相关标签/搜索