eec icon indicating copy to clipboard operation
eec copied to clipboard

升级至0.5.22版本后无法识别非嵌入图片

Open RexH0 opened this issue 11 months ago • 3 comments

java.lang.IllegalArgumentException: Dimension(firstRow:19,firstColumn:14,lastRow=1,lastColumn=1) contains invalid range at org.ttzero.excel.reader.Dimension.(Dimension.java:88) at org.ttzero.excel.reader.XMLDrawings.parseDrawings(XMLDrawings.java:258) at org.ttzero.excel.reader.XMLDrawings.parse(XMLDrawings.java:151) at org.ttzero.excel.reader.XMLDrawings.listPictures(XMLDrawings.java:92)

RexH0 avatar Mar 13 '25 06:03 RexH0

在0.5.11版本,非嵌入图片是可以识别的,demo excel已发邮箱 请查收

RexH0 avatar Mar 13 '25 06:03 RexH0

感谢反馈,着急修复线上问题可以使用以下两种方式

方式1,拉取master并修改XMLDrawings第258行代码new Dimension(ft[0][2] + 1, (short) (ft[0][0] + 1), ft[1][2] > 0 ? ft[1][2] + 1 : 0, (short) (ft[1][0] > 0 ? ft[1][0] + 1 : 0)),推到私仓使用 方式2,自写义XMLDrawings并重写parseDrawings,从源码复制所有代码并修复Dimension,修改方式和上面一样,使用以下方式使用自定义XMLDrawings

try (ExcelReader reader = ExcelReader.read(Paths.get("0.xlsx"))) {
    // 使用自定义XMLDrawings
    MyXMLDrawings drawings = new MyXMLDrawings(reader);
    List<Drawings.Picture> list = drawings.listPictures();
    System.out.println(list.size()); 
}

wangguanquan avatar Mar 13 '25 07:03 wangguanquan

Ok

RexH0 avatar Mar 15 '25 12:03 RexH0