Java 如何解决Apache POI“工作簿”可能尚未初始化
我需要阅读excel文件,我正在使用JavaSpringBoot和ApachePOI。 他们告诉我们 在使用较新的.xlsx文件格式时,您将使用XSSF工作簿、XSSFSheet、XSSFRow和XSSFCell类。要使用旧的.xls格式,请使用HSSF工作簿、HSSF表、HSSFRow和HSSFCell类 这是我的代码:Java 如何解决Apache POI“工作簿”可能尚未初始化,java,spring-boot,apache-poi,Java,Spring Boot,Apache Poi,我需要阅读excel文件,我正在使用JavaSpringBoot和ApachePOI。 他们告诉我们 在使用较新的.xlsx文件格式时,您将使用XSSF工作簿、XSSFSheet、XSSFRow和XSSFCell类。要使用旧的.xls格式,请使用HSSF工作簿、HSSF表、HSSFRow和HSSFCell类 这是我的代码: Workbook workbook; if (FileExtension == "xlsx"){ workb
Workbook workbook;
if (FileExtension == "xlsx"){
workbook = new XSSFWorkbook(excelFile);
}
else if (FileExtension == "xls"){
workbook = new HSSFWorkbook(excelFile);
}
Sheet datatypeSheet = workbook.getSheetAt(0);
现在我得到的工作簿可能尚未初始化。
如何解决这个问题?试试这个
Workbook workbook = null;
试试这个
Workbook workbook = null;
未初始化。。你应该这样做
Workbook wb;
wb = Workbook.getWorkbook(new File("d:\\test\\book1.xls"));
未初始化。。你应该这样做
Workbook wb;
wb = Workbook.getWorkbook(new File("d:\\test\\book1.xls"));
我想你想表达的是
Workbook workbook;
if (FileExtension == "xlsx"){
workbook = new XSSFWorkbook(excelFile);
}
// for other case
else{
workbook = new HSSFWorkbook(excelFile);
}
Sheet datatypeSheet = workbook.getSheetAt(0);
请注意代码中的注释,我相信您可以自己调查差异,这非常有帮助。我想您要表达的是
Workbook workbook;
if (FileExtension == "xlsx"){
workbook = new XSSFWorkbook(excelFile);
}
// for other case
else{
workbook = new HSSFWorkbook(excelFile);
}
Sheet datatypeSheet = workbook.getSheetAt(0);
请注意代码中的注释,我相信您可以自己调查差异,这非常有帮助。我相信这是JVM问题的一部分,但有时初始化和声明是唯一的方法。 试试这个:
if (FileExtension == "xlsx"){
Workbook workbook = new XSSFWorkbook(excelFile);
}
else if (FileExtension == "xls"){
Workbook workbook = new HSSFWorkbook(excelFile);
}
Sheet datatypeSheet=workbook.getSheetA我认为这是JVM问题的一部分,但有时初始化和声明是唯一的方法。 试试这个:
if (FileExtension == "xlsx"){
Workbook workbook = new XSSFWorkbook(excelFile);
}
else if (FileExtension == "xls"){
Workbook workbook = new HSSFWorkbook(excelFile);
}
Sheet datatypeSheet=工作簿。getSheetA提供当前版本。使用该类的create方法,不需要按文件扩展名确定文件格式XSSF或HSSF。WorkbookFactory.create方法根据找到的文件内容创建XSSF工作簿或HSSFWorkbook
使用以下工具也是如此:
...
Workbook workbook = WorkbookFactory.create(excelFile);
Sheet datatypeSheet = workbook.getSheetAt(0);
...
当前的apache版本提供。使用该类的create方法,不需要按文件扩展名确定文件格式XSSF或HSSF。WorkbookFactory.create方法根据找到的文件内容创建XSSF工作簿或HSSFWorkbook
使用以下工具也是如此:
...
Workbook workbook = WorkbookFactory.create(excelFile);
Sheet datatypeSheet = workbook.getSheetAt(0);
...
您需要使用xmlbeans3.1而不是xmlbeans4.0。您需要使用xmlbeans3.1而不是xmlbeans4.0。错误:25,33 java:org.apache.poi.ss.usermodel.Workbook是抽象的;无法实例化你能在你的逻辑中尝试这个吗??我刚刚编辑了我的答案不幸的是,正如我前面提到的,我使用的是POI apache,而不是JExcelError:25,33 java:org.apache.POI.ss.usermodel.Workbook是抽象的;无法实例化你能在你的逻辑中尝试这个吗??我刚刚编辑了我的回答不幸的是,正如我前面提到的,我使用的是POI apache,而不是Jetcel