我正在使用Apache POI 3.14生成XLSX。一切正常,但是在添加到工作簿中的每个图像之后,都会出现性能退化。减慢的方法是绘图类的createpicture(锚点,pictureIndex(。是否有更好的方法将图像添加到XLSX?
Drawing drawing = sheet.createDrawingPatriarch();
ClientAnchor anchor = drawing.createAnchor(0, 0, width *
Units.EMU_PER_PIXEL, height * Units.EMU_PER_PIXEL, columnIndex, rowNum,columnIndex, rowNum);
anchor.setAnchorType(AnchorType.MOVE_AND_RESIZE);
byte[] byteStream = Files.readAllBytes(Paths.get(imagePath));
int pictureIndex = sheet.getWorkbook().addPicture(byteStream, imageType);
drawing.createPicture(anchor, pictureIndex);
我已经挖了它,找到了唯一的解决方法。
我写了一篇文章。我的答案是在https://lhb0517.tistory.com/entry/apache-poi-many-images-images-getting-too-slow--dendential
,尽管写了韩文,但请周到。
但是,这种方式不适合生产服务器,而是用于故障排除。
如果您想与生产服务器一起工作,则可能需要在私有存储库中分别管理编辑的JAR(例如Sonarqube等(