данные из Excel читать и удалять пустые строки и извлекать данные из строк, добавлять в список из списка массивов - PullRequest
0 голосов
/ 07 мая 2019

Как удалить пустую строку и ячейку из списка массивов.Я использовал myList.removeAll (Arrays.asList ("", null));Эта строка помогает мне удалить пустую ячейку.но это все еще добавляет пустую строку в список.Также можно добавить чтение всех данных по строке и добавить список в виде строки.

За исключением вывода в виде строки списка.

    [DataGrouping RWAExposureType AA RWA ex 1.06x AA RWA SA RWA, Credit Available For Sale $ 449,454 $ 476,421 $ 264,503,Contingent $ 113,262 $ 120,057 $ 258,508,Total $ 562,715 $ 596,478 $ 523,011, Total $ 562,715 $ 596,478 $ 523,011]

Код для чтения Excel

      ArrayList myList = new ArrayList();
    FileInputStream fis = new FileInputStream(System.getProperty("user.dir") + "\\src\\main\\resources\\excelfiles\\Mode Report.xlsx");
    XSSFWorkbook wb = new XSSFWorkbook(fis);
    CreationHelper creationHelper = wb.getCreationHelper();
    // Read sheet inside the workbook by its name
    XSSFSheet sh1 = wb.getSheetAt(0);
    // Data formatter
    DataFormatter formatter = new DataFormatter();
    FormulaEvaluator formulaEvaluator = creationHelper.createFormulaEvaluator();

     for (Row row : sh1) {
         if (row == null) {

         }
    for (Cell cell : row) {

        CellStyle cellStyle = cell.getCellStyle();
        String dataFormatString = cellStyle.getDataFormatString();

        if (dataFormatString != null && dataFormatString.contains(";"))
            cellStyle.setDataFormat(creationHelper.createDataFormat().getFormat(dataFormatString + ";"));


        String cellContent = formatter.formatCellValue(cell, formulaEvaluator);

        myList.removeAll(Arrays.asList("", null));
        myList.add(cellContent);

    }
     }
        System.out.println(myList + "lisi");

OUTput with removeAll Все еще извлекает пустую строку из Excel

        [


        , Data Grouping, RWA Exposure Type, ( $ M ) AA RWA ex 1.06x, ( $ M ) AA RWA, ( $ M ) SA RWA, Credit, $ 562,715, $ 596,478, $ 523,011, Available For Sale, $ 449,454, $ 476,421, $ 264,503, Contingent, $ 113,262, $ 120,057, $ 258,508, Total, $ 562,715, $ 596,478, $ 523,011, 5/6/2019 2:23:35 PM
        , ]lisi

Вывод без removeAll.[

        , , , , , Data Grouping, RWA Exposure Type, ( $ M ) AA RWA ex 1.06x, ( $ M ) AA RWA, ( $ M ) SA RWA, Credit, , $ 562,715, $ 596,478, $ 523,011, , Available For Sale, $ 449,454, $ 476,421, $ 264,503, , Contingent, $ 113,262, $ 120,057, $ 258,508, Total, , $ 562,715, $ 596,478, $ 523,011, 5/6/2019 2:23:35 PM
        , , , , ]lisi

Ожидаемый результат должен быть

        [Data Grouping, RWA Exposure Type, ( $ M ) AA RWA ex 1.06x, ( $ M ) AA RWA, ( $ M ) SA RWA, Credit, $ 562,715, $ 596,478, $ 523,011, Available For Sale, $ 449,454, $ 476,421, $ 264,503, Contingent, $ 113,262, $ 120,057, $ 258,508, Total, $ 562,715, $ 596,478, $ 523,011, 5/6/2019 2:23:35 PM]lisi

1 Ответ

0 голосов
/ 07 мая 2019

Согласно комментарию от XtremeBaumer

if(cellContent != null && !cellContent.trim().isEmpty())
myList.add(cellContent);
...