读取 xlsb 文件会引发错误 - java poi
Reading xlsb files throws error - java poi
我正在尝试使用 Apache POI 并遇到以下异常:
Exception in thread "main" java.lang.IllegalAccessError: tried to access field org.apache.poi.xssf.eventusermodel.XSSFReader.pkg from class org.apache.poi.xssf.eventusermodel.XSSFBReader
at org.apache.poi.xssf.eventusermodel.XSSFBReader.getXSSFBStylesTable(XSSFBReader.java:78)
at org.apache.poi.xssf.extractor.XSSFBEventBasedExcelExtractor.getText(XSSFBEventBasedExcelExtractor.java:122)
at xlsbpar.XlsbPar.main(XlsbPar.java:38)
这是我的代码:
XSSFBEventBasedExcelExtractor ext = null;
try {
ext = new XSSFBEventBasedExcelExtractor("C:\Users\name\Desktop\abc.xlsb");
System.out.println(ext.getText());
} catch (Exception ex) {
System.out.println(ex.getMessage());
}
您需要使用 XSSFEventBasedExcelExtractor
(需要 poi-ooxml-x.y.jar
作为外部库,其中 x.y 代表版本),因为错误本身指出:
tried to access field org.apache.poi.xssf.eventusermodel.XSSFReader.pkg
from class org.apache.poi.xssf.eventusermodel.XSSFBReader.
XSSFEventBasedExcelExtractor ext = null;
try {
ext = new XSSFEventBasedExcelExtractor("C:\Users\name\Desktop\abc.xlsb");
System.out.println(ext.getText());
} catch (Exception ex) {
System.out.println(ex.getMessage());
}
此外,您可能想查看 this question on reading xlsb file using Apache POI OP 在何处使用了几乎相似的代码并略加添加以实现所需的结果。
下面的代码片段非常适合 XLSB 解析
Reading XLSB file with Apache POI
@AM_I_Helpful 暗示
我正在尝试使用 Apache POI 并遇到以下异常:
Exception in thread "main" java.lang.IllegalAccessError: tried to access field org.apache.poi.xssf.eventusermodel.XSSFReader.pkg from class org.apache.poi.xssf.eventusermodel.XSSFBReader at org.apache.poi.xssf.eventusermodel.XSSFBReader.getXSSFBStylesTable(XSSFBReader.java:78) at org.apache.poi.xssf.extractor.XSSFBEventBasedExcelExtractor.getText(XSSFBEventBasedExcelExtractor.java:122) at xlsbpar.XlsbPar.main(XlsbPar.java:38)
这是我的代码:
XSSFBEventBasedExcelExtractor ext = null;
try {
ext = new XSSFBEventBasedExcelExtractor("C:\Users\name\Desktop\abc.xlsb");
System.out.println(ext.getText());
} catch (Exception ex) {
System.out.println(ex.getMessage());
}
您需要使用 XSSFEventBasedExcelExtractor
(需要 poi-ooxml-x.y.jar
作为外部库,其中 x.y 代表版本),因为错误本身指出:
tried to access field org.apache.poi.xssf.eventusermodel.XSSFReader.pkg from class org.apache.poi.xssf.eventusermodel.XSSFBReader.
XSSFEventBasedExcelExtractor ext = null;
try {
ext = new XSSFEventBasedExcelExtractor("C:\Users\name\Desktop\abc.xlsb");
System.out.println(ext.getText());
} catch (Exception ex) {
System.out.println(ex.getMessage());
}
此外,您可能想查看 this question on reading xlsb file using Apache POI OP 在何处使用了几乎相似的代码并略加添加以实现所需的结果。
下面的代码片段非常适合 XLSB 解析 Reading XLSB file with Apache POI @AM_I_Helpful 暗示