[]
        
(Showing Draft Content)

设置单元格背景图片

GcExcel 允许您使用 IRange 接口中的 BackgroundImage 和 BackgroundImageLayout 属性为单元格范围设置单元格背景图像及其布局。您只能将单元格背景图像导出为 PDF、HTML 和 IMG 格式,在 .sjs 格式中保存后,才能在 SpreadJS 中查看。BackgroundImageLayout 枚举允许您将背景图像布局设为 Stretch(默认)、Center、Zoom 或 None。

GcExcel 仅支持并导出以下图像格式作为单元格背景图像:

  • PNG

  • JPEG/JPG

  • ICO

  • SVG

  • GIF

请参考以下示例代码,在不同布局中添加单元格背景图像并将工作簿导出为PDF文件:

// Create a new workbook.
Workbook workbook = new Workbook();

IWorksheet worksheet = workbook.getWorksheets().get(0);

// Load the image.
InputStream stream = new FileInputStream("Chrome_icon.png");
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
byte[] buffer = new byte[4096];
int bytesRead;
while (true) {
    try {
        if (!((bytesRead = stream.read(buffer)) != -1)) break;
    } catch (IOException e) {
        throw new RuntimeException(e);
    }
    outputStream.write(buffer, 0, bytesRead);
}
byte[] imagebyte = outputStream.toByteArray();

worksheet.getRange("A2:E2").setValue(new String[] { "Stretch", "Center", "Zoom", "None", "Default(Stretch)" });
worksheet.getRange("A3:E3").setValue("Chrome");
worksheet.getRange("A3:E3").setRowHeightInPixel(80);
worksheet.getRange("A3:E3").setColumnWidthInPixel(100);
        
// Add cell background image.
worksheet.getRange("A3:E3").setBackgroundImage(imagebyte);

// Set image layout.
worksheet.getRange("A3").setBackgroundImageLayout(BackgroundImageLayout.Stretch);
worksheet.getRange("B3").setBackgroundImageLayout(BackgroundImageLayout.Center);
worksheet.getRange("C3").setBackgroundImageLayout(BackgroundImageLayout.Zoom);
worksheet.getRange("D3").setBackgroundImageLayout(BackgroundImageLayout.None);

// Set PDF export options.
workbook.getActiveSheet().getPageSetup().setPrintGridlines(true);
workbook.getActiveSheet().getPageSetup().setPrintHeadings(true);
    
// Save to a PDF file.
workbook.save("CellBackgroundImage.pdf");

image

限制

GcExcel 不支持将背景图像保存到Excel。 因此,您无法在Excel中查看它。