ZBLOG

if (cell.getCellTypeEnum() == CellType.PICTURE) { byte[] data = cell.getCellStyle().getDataFormatString().getBytes(); int formatIndex = data[data.length - 1]; BufferedImage image = ImageIO.read(cell.getPic...

在Apache POI 4.0.0及更高版本中,getCellTypeEnum()和CellType.PICTURE已被废弃。取而代之的是使用getCellType()和CellType类中相应的常量,例如CellType.BLANK、CellType.BOOLEAN、CellType.NUMERIC、CellType.STRING等。

因此,上面的代码可以重写如下:

if (cell.getCellType() == CellType.PICTURE) {
    byte[] data = cell.getCellStyle().getDataFormatString().getBytes();
    int formatIndex = data[data.length - 1];
    BufferedImage image = ImageIO.read(cell.getPictureData().getData());
    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    ImageIO.write(image, "png", baos);
    Image img = Image.getInstance(baos.toByteArray());
    img.scaleToFit(PageSize.A4.getWidth(), PageSize.A4.getHeight());
    PdfPCell imageCell = new PdfPCell(img);
    table.addCell(imageCell);
}

请注意,在使用该代码之前,请确保已经正确地引入了iText库的依赖项,并且相关类已经导入。

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://golang.0voice.com/?id=5148

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?