在单元格中插入图片

简介

在设计作为可视化报表、产品目录、员工通讯录、仪表板或库存清单的电子表格时,将图片精确地适配到单个单元格是一个常见需求。与其将图像拉伸到多个单元格或随意放置在工作表上,您可能希望图片与所在单元格保持清晰、整齐的绑定关系。 Aspose.Cells 通过两种互补的方式支持此场景:

  • 方法 1 — 将浮动图片放置在单元格上方。 将 Picture 添加到工作表,将其 placement 设置为 MoveAndSize,并调整其锚定单元格(upperLeftRow、upperLeftColumn、lowerRightRow、lowerRightColumn),使图片恰好覆盖一个单元格。
  • 方法 2 — 将图像直接嵌入单元格中。 将图像字节赋值给单元格的 embeddedImage 属性。图像会自动缩放以适应单元格的显示区域,并随单元格一起移动。 本文接下来的部分将逐步讲解这两种方法,介绍相关的 API,并展示如何在代码中使用它们。

方法 1:将图片放置在单元格上方

浮动图片是驻留在工作表绘图层上的 Picture 对象。虽然它不属于任何单个单元格,但会被锚定到一个单元格区域。图片的锚定单元格(左上角和右下角)决定了它在工作表上的视觉范围。默认情况下,新添加的图片会跨越多个单元格。 若要让浮动图片恰好覆盖 一个单元格,您需要:

  1. 使用 worksheet.pictures.add(row, column, stream) 添加图片,该调用会将新图片锚定到指定的单元格。
  2. 设置四个锚定属性,使图片的边界矩形与目标单元格重合。
  3. 将 picture.placement 设置为 PlacementType.MoveAndSize,以便当用户更改列宽或行高时,图片会随其下方单元格一起移动和缩放。

将图片锚定到单个单元格

图片的锚定由四个从零开始的索引属性定义:

  • picture.upperLeftRow — 图片顶边所在的行索引。
  • picture.upperLeftColumn — 图片左边所在的列索引。
  • picture.lowerRightRow — 图片底边所在的行索引。要使图片的底边位于行 r 的底部,请将其设置为 r + 1。
  • picture.lowerRightColumn — 图片右边所在的列索引。要使图片的右边位于列 c 的右侧,请将其设置为 c + 1。

相关文章