如何编程方式将多个JPEG图像嵌入EXCEL?
亲爱的Stackoverflow的朋友们,
我正在做一个项目,需要输出带有图片的Excel表格。我做了一些研究,发现了一些(可能不太准确的)共识:
- 有很多Python库可以用来创建Excel表格,效果不错。
- 可以插入图片(但只能是bmp格式)。
- Excel文件中使用的图片“内部格式”比较复杂,这可能是为什么没有第三方库支持插入像jpeg这样的常见格式。
我不想使用或转换成bmp格式。为什么呢?因为bmp格式压缩得不好,这样会导致文件变得很大,而我的表格会有很多行,每行都有一张图片,所以我想尽量减小图片的大小影响。
我希望能得到一个理想的答案,最好是来自那些真的做过这件事的人。建议的方法可以是用Java、Ruby、Python等(但不包括.NET),或者其他一些创造性的方式。
我真的希望有人能提供解决方案,因为我觉得这可能是个棘手的问题(可能和处理PDF文件的复杂程度相似)。
2 个回答
3
Perl模块 Excel::Writer::XLSX 可以把 JPEG、PNG 和 BMP 格式的图片 插入到新的 Excel 工作簿中。
我现在正在把这个功能移植到一个叫 XlsxWriter 的 Python 模块里,而 inset_image()
这个功能在我的待办事项列表中排在前面。
更新: 从 XlsxWriter 版本 0.1.6 开始,现在可以添加 PNG/JPEG 图片了。可以查看 文档中的示例。
1
正如上面评论所说,Apache POI可以解决你的问题。
我做了一些研究,这个例子应该对你有帮助:Apache POI 在 Excel 中插入图片