gpt4 book ai didi

java - jxls - 使用动态图像创建 Excel 文件

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:11:41 26 4
gpt4 key购买 nike

我想创建一个包含动态 Logo 和动态图像列表的 Excel 文件。在 Excel 文件中创建文本部分非常适合 jxls。但是我无法使用 jxls 在每一行中插入一张图片。

请问有人对我有什么建议吗?

提前谢谢你。

最佳答案

我找到的唯一解决方案是使用 JXLS 创建 XLS 文件,并在创建工作簿后插入具有 native POI 功能的图像,例如:

Workbook resultWorkbook = transformer.transformXLS(is, beans);

Iterator rowIter = resultWorkbook.getSheetAt(0).rowIterator();
while (rowIter.hasNext()){
HSSFRow row = (HSSFRow) rowIter.next();
Iterator cellIter = row.cellIterator();
while (cellIter.hasNext()){
HSSFCell cell = (HSSFCell) cellIter.next();
final String IMG_PREFIX = "#IMG#";
if(cell.toString().startsWith(IMG_PREFIX)){
String cellValue = cell.toString();
cell.setCellValue("");
String imagePath = cellValue.replaceFirst(IMG_PREFIX, "");
File imageFile = new File(imagePath);
if(imageFile.exists()){
FileInputStream isi = new FileInputStream(imageFile);
ImageTools imageTools = new ImageTools();
byte[] imgBytes = imageTools.resizeImage(isi, 100);
int pictureIdx = resultWorkbook.addPicture(imgBytes, Workbook.PICTURE_TYPE_JPEG);
CreationHelper helper = resultWorkbook.getCreationHelper();

Drawing drawing = resultWorkbook.getSheetAt(0).createDrawingPatriarch();
ClientAnchor anchor = helper.createClientAnchor();
anchor.setCol1(cell.getColumnIndex());
anchor.setRow1(cell.getRowIndex());
Picture pict = drawing.createPicture(anchor, pictureIdx);
pict.resize();
isi.close();
}
}
}
}

关于java - jxls - 使用动态图像创建 Excel 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12802854/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com