Ich verwende vaadin Tabellenkalkulation. In meinem Programm lese ich Metadaten, die in db wie isBold, isItalic usw. gespeichert sind, und setze diese kursiven, fettgedruckten usw. Stile auf Zelle abhängig von Metadaten. Nachdem ich diese Stile angewendet habe, muss ich die Zelle mithilfe von tabellarisch.getSpreadsheetStyleFactory() aktualisieren. CellStyleUpdated (cell, true); (Vaadin Tabellenkalkulationsprogramm). Diese api versagt manchmal werfen ArrayIndexOutOfBoundsException, die unterIn welchen Szenarien wird die getFontIndex() API einen negativen Index liefern?
gefunden werden kannVerursacht durch: java.lang.ArrayIndexOutOfBoundsException: -32768 bei java.util.ArrayList.elementData (ArrayList.java:400) [rt.jar: 1.7 .0_80] bei java.util.ArrayList.get (ArrayList.java:413) [rt.jar: 1.7.0_80] bei org.apache.poi.xssf.model.StylesTable.getFontAt (StylesTable.java:386) [seqnc-common-jar-1.0.0.jar:] bei org.apache.poi.xssf.usermodel.XSSFCellStyle.getFont (XSSFCellStyle.java:557) [seqnc-common-jar-1.0.0.jar:] bei com.vaadin.addon.spreadsheet.XSSFColorConverter.colorStyles (XSSFColorConverter.java:97) [seqnc-common-jar-1.0.0.jar:] um com.vaadin.addon.spreadsheet.SpreadsheetStyleFactory.addCellStyleCSS (SpreadsheetStyleFactory.java:594) [seqnc-common-jar-1.0.0.jar:] bei com.vaadin.addon.spreadsheet.SpreadsheetStyleFactory.cellStyleUpdated (SpreadsheetStyleFactory.java: 461) [seqnc-common-jar-1.0.0.jar:]
Was hier geschieht, ist XssfCellStyle irgendwie negativen Index -32768 wird, die in Arraylist als Index verwendet wird.
Ich will nur wissen, unter welchen Szenarien Fontindex
Welche Version von Apache POI verwenden Sie? Und wenn es nicht der neueste ist, was passiert beim Upgrade? – Gagravarr
@Gagravarr Ich verwende Version 3.15, die die neueste ist –
Können Sie versuchen, 3.16 Beta 1? Wenn das nicht hilft, können Sie einen kleinen Junit-Testfall erstellen, der das Problem in Verbindung mit einer sehr kleinen Excel-Datei zeigt? – Gagravarr