【问题标题】:Embed multiple jpeg images into EXCEL programmatically?以编程方式将多个 jpeg 图像嵌入到 EXCEL 中?
【发布时间】:2013-03-17 22:48:23
【问题描述】:

亲爱的 Stackoverflowers,

输出带有图像的 Excel 电子表格是我正在做的一个项目的要求。我做了一些研究,发现了以下(可能是不正确的)共识:

  • 用于创建 Excel 表格的各种 python 库运行良好
  • 可以插入图片(但仅限 bmp)
  • excel 文件中使用的图像的“内部格式”很复杂,这可能是为什么没有第三方库支持插入普通格式(如 jpeg)的原因。

我不想使用或转换为 bmp。为什么? BMP 没有很好地压缩,并且这些将是 表,所以我想尽可能地减轻图像的大小影响(每行 1 个)。

我的理想答案来自真正做到这一点的人。建议的方法可以是 Java、Ruby、Python(但不是 .NET)或其他一些创造性的方法。

我真的希望有人有解决方案,因为我预计这可能是一个棘手的领域(在复杂性上可能类似于玩 PDF)。

【问题讨论】:

  • 你试过什么?你看过Apache POI吗?
  • 我什么都没试过,只是做了一些研究,觉得可能会很棘手。向有经验的人寻求安慰。太好了,我认为完美。如果你想回答,我很满意。
  • 电子表格用于文本和数字,而不是图像。您应该重新考虑 Excel 是否真的适合这项工作。
  • @pguardiario 谢谢,我重新考虑了——有时电子表格是将所有内容放在一个地方的最佳方式。表的列通常是针对一组对象(行)的度量,不是吗?图像只是另一种指标,如果您需要视觉上的东西来获得参考点,这是一个特别方便的指标!在这种情况下,电子表格也适用于以下原因:1)最终用户要求它,2)用户收集数据的主要目的是使用 Excel 分析它,3)每一行都有相关的图像,最终用户要求包含在数据中。
  • 我不同意。 Excel 可以将图像设置为单个单元格的背景。不要将此与“指标”混淆。

标签: java python ruby image excel


【解决方案1】:

Perl 模块Excel::Writer::XLSX 可以将JPEG, PNG, and BMP images 插入到新的Excel 工作簿中。

我目前正在将它移植到一个名为 XlsxWriter 的 Python 模块中,inset_image() 函数位于 TODO 列表的顶部附近。

更新:从 XlsxWriter 0.1.6 版开始,现在可以添加 PNG/JPEG 图像。见the example in the documentation

【讨论】:

  • @ChrisStringfellow:XlsxWriter Python 模块现在支持添加 PNG/JPEG 图像。请参阅上面的更新链接。
【解决方案2】:

正如上面评论中所说,Apache POI 可以解决您的问题。

我做了一些研究,这个例子应该很有用Apache POI Excel Insert an Image

【讨论】:

    猜你喜欢
    • 2017-09-10
    • 1970-01-01
    • 1970-01-01
    • 2010-12-11
    • 1970-01-01
    • 1970-01-01
    • 2011-04-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多