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

最近在做一个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的支持。

个人认为这是一个可行方案之一,跨平台并且省时省力。不知道还有没有其他更好的方案。

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

posted on 2015-10-10 18:04 魏小田 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/martinwei/p/4867870.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值