java - 如何使用 apache POI 将 Excel 表存储到双字符串数组中?

标签 java excel apache-poi xls

我想保存 Excel 表格中的值并将它们存储到 String[][] 变量中,以便于操作,这是我的代码:

public class TakingDataFromExcel {
  public static void main(String[] args) {
    try{
        FileInputStream file = new FileInputStream(new File("C:\\Book1.xls"));
        Workbook workbook = new HSSFWorkbook(file);
        Sheet sheet = workbook.getSheetAt(0);
        String[][] headers= null;
        String value = null;
        for (int i= 0;i < sheet.getPhysicalNumberOfRows(); i++) {
            DataFormatter formatter = new DataFormatter();
            for (int j=0; j<=6;j++) {
                Row row = sheet.getRow(i);
                value = formatter.formatCellValue(row.getCell(j));
                headers[i][j].concat(value.toString()); 
            }
        }     
        System.out.println(headers); 
        System.out.println(sheet.getPhysicalNumberOfRows());
        String[] cdsid=null;
        cdsid=headers[1][1].split(" ");
        for (int x=0; x<cdsid.length;x++) {
            System.out.println(cdsid[x]);
        }
        file.close();
        }catch (Exception e){
        e.printStackTrace();
        }
   }
}

我仍然收到空指针异常错误,但我看不到它在哪里。如果您认为有更简单的方法来完成此任务,我愿意接受任何建议。

这是错误:

java.lang.NullPointerException
at com.ford.samples.TakingDataFromExcel.main(TakingDataFromExcel.java:26)

最佳答案

你永远不会初始化你的二维 String[] 。

String[][] headers= null; 应该是

字符串[][] header =新字符串[SOME_X][SOME_Y]

关于java - 如何使用 apache POI 将 Excel 表存储到双字符串数组中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32077644/

相关文章:

excel - 如何在Grails excel-export/apache-POI插件中设置背景颜色?

java - 如何在java中给定单元格索引获取合并单元格的数据?

java - 从嵌套数组中提取值

java - 死存储到 List 对象 - 如何解决?

java - 如何在 java swing 中的 jtextarea 顶部插入或追加新行?

java - 带有 Java 8 lambdas 和 Optional 的子类

vba - 无法识别的数据库格式-Excel VBA Access 数据库

arrays - 按位置从数组中删除元素

彭博数据历史记录的 VBA-Macro 效率

java - Docx 到 HTML poi java.lang.NoSuchMethodError