[]
        
(Showing Draft Content)

链接图片

链接图片(Linked Picture),也称为相机形状或相机图片(Camera shape or picture),是指复制范围的实时动态快照。 也就是说,当复制的单元格范围中的值发生变化时,同样的情况也会自动反映在其快照中。 在 Microsoft Excel 中,此功能是通过名为“链接图片”的特殊粘贴选项提供的。 此功能在仪表板和报告的情况下特别有用,因为您可以显示动态变化的图像,甚至可以根据可用空间调整它们的大小。




GcExcel Java 允许您通过IShape 接口的addCameraPicture 方法创建这些动态链接图片。 该方法接受链接图片的源范围和目标范围相对于文档的位置坐标作为参数。还可以使用此方法的另一个重载指定要添加链接图片的单元格范围。由于链接的图片也只是另一张图片,它可以像任何其他图片一样调整大小和格式。

Workbook workbook = new Workbook();
workbook.getActiveSheet().getRange("A1").getInterior().setColor(Color.GetBlue());
workbook.getActiveSheet().getRange("B5").getInterior().setColor(Color.GetYellow());
//Add linked picture at a specific position
IShape shape = workbook.getActiveSheet().getShapes().addCameraPicture("=$A$1:$B$4", 100, 100);
////Add linked picture at a specific cell range
IShape shapeRange = workbook.getActiveSheet().getShapes().addCameraPicture("=$A$1:$B$5", worksheet.setRange["G1:H5"]);
workbook.save("LinkedPicture.xlsx");

**注意:**要添加的目标区域和链接图片必须存在于同一工作表中。否则,将导致 InvalidOperationException 异常。

链接图片样式

您可以通过将 IPictureFormat.setTransparentBackground 方法设置为 true 来设置链接图片是否应显示为透明背景。

// Set transparent background
shape.getPictureFormat().setTransparentBackground(true);
// Set degree of transparency
shape.getPictureFormat().setTransparency(0.8);

您还可以通过将 IPictureFormat.setReference 方法设置为 null 将链接图片转换为通常的静态图片。 而当此属性设置为普通图片的引用时,它会转换为链接图片。有关将普通图片转换为链接图片的详细实现方式正好相反, 查看在线示例.