从Excel文档中提取图像

3
我正在对一个 .xls excel 文件进行一些数据映射,并且想要编写一个快速的脚本来从 excel 文件中提取图片。有没有程序上最快、最简单的方法?
我正在使用 Ubuntu 10.10 操作系统,如果可能的话,我更倾向于使用 Python。
2个回答

7

XLSX文件是一个压缩文件。

$ unzip file.xlsx

xl/media/ 文件夹中包含所有图片。对于旧的 .XLS 文件来说并非如此,但您可以使用现代版本的 MS Office 将它们转换为 XLSX 格式。
如果您没有 MS Office,您也可以使用 LibreOffice 实现相同的功能。将文件转换为 .ods 格式,然后将其作为 zip 文件打开,图片将位于 Pictures 文件夹中。

4

我很抱歉自己回答这个问题,但我发现最好的方法只需要在命令行中输入两个命令(假设您已安装了正确的软件)。

首先,使用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中的所有图像都已经在目录中成为单独的文件。大多数Linux系统可以使用您喜欢的编程语言轻松完成此操作。例如,在Python中:

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

如果有更简单的解决方案,我很乐意听取。


不错的技巧!提取出来的图片有意义的名称吗? - ZJR

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接