Как сохранить данные из Excel в ArrayList < ArrayList < String > >

sharky спросил: 07 октября 2018 в 02:20 в: java

У меня есть данные из Excel, подобные этим

111 | 222 | 333 | 444 | 555 | 666
11  | 12  | 13  | 14  | 15  | 16
1   | 2   | 3   | 4   | 5   | 6
a   | b   | c   | d   | e   | f

, и мой код выглядит так

public static void main(String[] args) {
    try {
        FileInputStream file = new FileInputStream(new File("xxx"));
        XSSFWorkbook wb = new XSSFWorkbook(file);
        XSSFSheet sheet = wb.getSheetAt(0);        DataFormatter formatter = new DataFormatter();        ArrayList<ArrayList<String>> mainArrayList = new ArrayList<ArrayList<String>>();        ArrayList<String> al = new ArrayList<String>();        for (int rowNum = 0; rowNum < sheet.getLastRowNum() + 1; rowNum++) {            String val = null;            Row r = sheet.getRow(rowNum);            for (int i = 0; i < r.getLastCellNum() + 1; i++) {
                Cell cell = r.getCell(i);
                val = formatter.formatCellValue(cell);            }
            al.add(val);
            mainArrayList.add(al);
        }        System.out.print(mainArrayList);    } catch (    Exception e) {
        e.printStackTrace();
    }
}

: [[, , , ], [, , , ], [, , , ], [, , , ]]

Я хочу, чтобы результат был что-то вроде этого

[[111, 222, 333, 444, 555, 666, ],[11, 12, 13, 14, 15, 16, ],[1, 2, 3, 4, 5, 6, ],[a, s, d, f, g, h, ]]

Я считаю, что это потому, что al.add(val); это null но я не знаю, как это сделать, чтобы добавить val в arraylist al. помочь?

0 ответов