从Excel文档中提取图像

我正在做一个.xls Excel文档的数据映射,我正在尝试编写一个快速的脚本来将图像拖出excel文档。

以编程方式执行此操作最快,最简单的方法是什么?

我正在运行Ubuntu 10.10,如果可能的话,我宁愿用户python。

一个XLSX文件是一个压缩文件。

$ unzip file.xlsx 

xl/media/中都是图片。 对于较旧的.XLS文件,这不是真的,但可以使用现代版本的MS Office将它们转换为XLSX。

如果你没有MS Office,你可以用LibreOffice做同样的事情。 将文件转换为.ods文件,然后将其作为zip文件打开,并放在“ Pictures文件夹中。

我讨厌回答我自己的问题,但是我发现最好的方法只需要在命令行中input两个命令(假设你已经安装了正确的软件)。

首先,使用unoconv将.xls转换为.pdf:

http://dag.wieers.com/home-made/unoconv/

在Ubuntu 10.10命令行上:

 sudo apt-get install unoconv unoconv -f pdf file.xls 

然后使用pdfimages(这似乎与Ubuntu捆绑在一起)从pdf中提取图像:

http://en.wikipedia.org/wiki/Pdfimages

回到命令行:

 pdfimages file.pdf fileimage 

并做了! .xls中的所有图像现在位于目录中的单独文件中。 在大多数使用您select的语言的Linux系统上,这可以非常容易地完成。 在python中,例如:

 import subprocess subprocess.call(['unoconv','-f','pdf','file.xls']) subprocess.call(['pdfimages','file.pdf','fileimage']) 

我很乐意听到一个更简单的解决scheme,如果有人有。