我正在使用 Apache POI 创建一个 xlsx 文件,其中在左上角插入了一个徽标。问题是,当单元格的大小增加时,图像也会扩展。如何冻结或保护图像的大小和位置,以便当单元格大小增加时,图像保持不变(不扩展)。
下面是插入图片的代码。
rowNo = 1;
row = sheet.createRow(rowNo);
//For Adding sample Logo
addImage(1, 1, 3, 4, appPath + "/images/sample_logo.png");
public boolean addImage(int col1, int row1, int col2, int row2, String FileName) {
try {
FileInputStream fileInputStream = null;
try {
fileInputStream = new FileInputStream(FileName);
} catch (FileNotFoundException e) {
return false;
}
ByteArrayOutputStream imgBytes = new ByteArrayOutputStream();
int b;
try {
while ((b = fileInputStream.read()) != -1) {
imgBytes.write(b);
}
fileInputStream.close();
} catch (IOException e) {
return false;
}
sheet.addMergedRegion(new CellRangeAddress(row1, row2 - 1, col1, col2 - 1));
// sheet.addMergedRegion(new CellRangeAddress(1, 3, 1, 2));
XSSFClientAnchor anchor = new XSSFClientAnchor(0, 0, 0, 0, col1, row1, col2, row2);
int index = workBook.addPicture(imgBytes.toByteArray(), HSSFWorkbook.PICTURE_TYPE_JPEG); //index = 4
XSSFDrawing patriarch = sheet.createDrawingPatriarch();
patriarch.createPicture(anchor, index);
anchor.setAnchorType(2);
} catch (Exception ex) {
LOGGER.error(ex);
}
return true;
}
德玛西亚99
富国沪深
随时随地看视频慕课网APP
相关分类