我正在从.xls excel文档进行一些数据映射,我正在尝试编写一个快速脚本来将图像拉出excel文档。
以编程方式执行此操作的最快捷,最简单的方法是什么?
我正在运行Ubuntu 10.10,如果可能的话,我更愿意使用python。
答案 0 :(得分:6)
XLSX文件是压缩文件。
$ unzip file.xlsx
xl/media/
中的都是图片。旧的.XLS文件不适用,但您可以使用现代版本的MS Office将它们转换为XLSX。
如果您没有MS Office,您可以使用LibreOffice执行相同的操作。 Convert the file to .ods and then open it as a zip file它将位于Pictures
文件夹中。
答案 1 :(得分: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'])
如果有人有解决方案,我很乐意听到更简单的解决方案。