为什么我的Apache POI代码没有读取excel工作表?
我的代码:
public class ReadExcelFile {
public static void main(String[] args) throws IOException {
Workbook book = new XSSFWorkbook(ReadExcelFile.class.getClassLoader().getResourceAsStream("C:\\Users\\Gi\\Desktop\\ExcelReader\\ExcelFramework\\src\\test\\java\\com\\ExcelFramework\\ExcelFramework\\data\\data.xlsx"));
Sheet sheet = book.getSheet("Sheet1");
Row row = sheet.getRow(1);
Cell cel = row.getCell(1);
System.err.println("Value: " + cel.getStringCellValue());
}
}
似乎收到以下错误:
Exception in thread "main" java.lang.NullPointerException
at org.apache.poi.openxml4j.opc.internal.ZipHelper.prepareToCheckHeader(ZipHelper.java:211)
at org.apache.poi.openxml4j.opc.internal.ZipHelper.openZipStream(ZipHelper.java:228)
at org.apache.poi.openxml4j.opc.ZipPackage.<init>(ZipPackage.java:97)
at org.apache.poi.openxml4j.opc.OPCPackage.open(OPCPackage.java:342)
at org.apache.poi.util.PackageHelper.open(PackageHelper.java:37)
at org.apache.poi.xssf.usermodel.XSSFWorkbook.<init>(XSSFWorkbook.java:285)
at com.ExcelFramework.ExcelFramework.ReadExcelFile.main(ReadExcelFile.java:11)
答案 0 :(得分:3)
你可以尝试如下使用FileInputStream:
Workbook book = new XSSFWorkbook(new FileInputStream("C:\\Users\\Gi\\Desktop\\ExcelReader\\ExcelFramework\\src\\test\\java\\com\\ExcelFramework\\ExcelFramework\\data\\data.xlsx"));
Sheet sheet = book.getSheet("Sheet1");
Row row = sheet.getRow(1);
Cell cel = row.getCell(1);
System.err.println("Value: " + cel.getStringCellValue());
答案 1 :(得分:0)
请参阅 4部分。示例https://www.mkyong.com/java/apache-poi-reading-and-writing-excel-file-in-java/
中的Apache POI库 - 读取Excel文件