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

标签 java image jxls

我想创建一个包含动态 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/

相关文章:

java - 新的Object.getClass()

java - Hibernate 在 varbinary 类型的列上加入实体?

javascript - 如何从第三方应用程序替换评论部分中的图像

javascript - 通过 HtmlService 在 Apps 脚本中提供图像

java - 如何在转换模板的 JXLS API 中动态合并单元格

java - 将 jXLS 添加到我的 pom.xml 似乎会影响 hibernate 日志级别

java - RESTful 服务空响应

java无重复随机生成器

javascript - 图像鼠标悬停平移的方程式?

java - 如何将行号添加到员工循环变量?