读取xlsb文件时抛出错误-java poi

读取xlsb文件时抛出错误-java poi,java,apache-poi,illegalaccessexception,xlsb,Java,Apache Poi,Illegalaccessexception,Xlsb,我正在尝试使用Apache POI并获得以下异常: 线程“main”java.lang.IllegalAccessError中出现异常:试图从类org.apache.poi.xssf.eventusermodel.XSSFReader.pkg访问字段org.apache.poi.xssf.eventusermodel.XSSFBReader 位于org.apache.poi.xssf.eventusermodel.XSSFBReader.getXSSFBStylesTable(XSSFBRead

我正在尝试使用Apache POI并获得以下异常:

线程“main”java.lang.IllegalAccessError中出现异常:试图从类org.apache.poi.xssf.eventusermodel.XSSFReader.pkg访问字段org.apache.poi.xssf.eventusermodel.XSSFBReader 位于org.apache.poi.xssf.eventusermodel.XSSFBReader.getXSSFBStylesTable(XSSFBReader.java:78) 位于org.apache.poi.xssf.extractor.XSSFBEventBasedExcelExtractor.getText(XSSFBEventBasedExcelExtractor.java:122) 位于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表示版本),因为错误本身声明:

试图访问字段org.apache.poi.xssf.eventusermodel.XSSFReader.pkg 来自classorg.apache.poi.xssf.eventusermodel.XSSFBReader


此外,您可能希望检查OP在何处使用了几乎相似的代码,只需稍加添加即可获得所需的结果。

下面的代码片段非常适合XLSB解析
@AM_I_help建议

如果我使用XSSFEventBasedExcelExtractor,我需要用xlsb格式解析文件,它将为语句sop(ext.getText())提供null,即使在将ext更改为XSSFBEventBasedExcelExtractor后,错误仍然存在same@saran-检查此问题->;OP能够成功读取数据。你应该试一试!如果有任何进一步的查询,请随意询问。我开始使用收到相同错误的代码段编写代码。我的目标是读取和访问xlsb文件中的数据,我正试图使用apache poi 3.16执行此操作,但不幸的是,我收到了此错误。当我在单独的java文件中尝试该代码段时,问题得到了解决。不过,在我的项目(NoSuchFieldError)java.lang.NoSuchFieldError中,我面临以下错误:原始XML文件头谢谢兄弟!不要在不同版本之间混用罐子!你需要在同一个版本上安装所有POI JAR,它才能正常工作!我排除了ApachePOI的前一个版本,但我忘了删除我根本没有使用的ApacheTika库。删除Apache Tikka的引用后,问题立即得到解决
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());
}