java poi 图片 内存溢出_java - POI复制图像不会调整大小 - 堆栈内存溢出

这篇博客探讨了使用Java POI库复制Excel工作簿时遇到的内存溢出问题,特别是涉及到图片时如何保持图片大小不变。作者详细描述了复制图片和调整大小的代码实现,以及遇到的问题——图片不再正确调整大小,尽管尝试了不同的解决方案,如设置CTPositiveSize2D,但仍然未能成功。博客提出了当前代码中可能存在的问题,并寻求解决方案。
摘要由CSDN通过智能技术生成

我正在使用POI API将许多Excel工作簿复制到1个大型Excel工作簿中。 对于我的要求之一,有一些图像在文档中专门放置和调整大小。 我正在使用以下代码的组合来传输所有必要的图像。 它们仅是图片,并且已找到所有图片。

import org.openxmlformats.schemas.drawingml.x2006.main.CTPositiveSize2D; // only important class you need to know about.

private static void transferShape (XSSFSheet sheet, XSSFSheet newSheet) {

XSSFDrawing drawing = sheet.createDrawingPatriarch();

for(XSSFShape shape : drawing.getShapes()) {

if(shape instanceof XSSFPicture) {

XSSFPicture picture = (XSSFPicture) shape;

transferPicture(picture, newSheet);

}

}

}

private static void transferPicture(XSSFPicture picture, XSSFSheet newSheet) {

XSSFPictureData xssfPictureData = picture.getPictureData();

XSSFClientAnchor anchor = picture.getPreferredSize();

int col1 = anchor.getCol1();

int col2 = a

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值
>