Как прочитать файл Excel в Селен - PullRequest
0 голосов
/ 26 февраля 2019

Я пытаюсь сравнить 2 листа Excel.Мой Excel может содержать любой тип данных, которые я пробовал этот код. Я использую POI для сравнения данных Excel.Но когда я запускаю приведенный выше код, он вызывает проблему с нулевым указателем и читает только несколько ячеек листа.Также какое-то время выдает ошибку, не может прочитать строку как числовое значение.

        int numberOfSheets = workbook1.getNumberOfSheets();
         for (int i = 0; i < numberOfSheets; i++)

        {
         int lastRowNum2 = workbook1.getSheetAt(i).getLastRowNum();
         for (int j = 0; j < lastRowNum2; j++)

        {

         short lastCellNum = workbook1.getSheetAt(i).getRow(j).getLastCellNum();
         for (int k = 0; k < lastCellNum; k++)

         {
               Iterator<Row> rowIterator1 = sheet1.iterator();
                Iterator<Row> rowIterator2 = sheet2.iterator();

                while (rowIterator1.hasNext()) {
                    Row row = rowIterator1.next();
                         Iterator<Cell> cellIterator = row.cellIterator();

                    while (cellIterator.hasNext()) {

                        Cell cell = cellIterator.next();

                    switch (cell.getCellTypeEnum()) {
                    case BOOLEAN:
                        System.out.print(cell.getBooleanCellValue());
                        break;
                    case STRING:
                        System.out.print(cell.getRichStringCellValue().getString());
                        break;
                    case NUMERIC:
                        if (DateUtil.isCellDateFormatted(cell)) {
                            System.out.print(cell.getDateCellValue());
                        } else {
                            System.out.print(cell.getNumericCellValue());
                        }
                        break;
                    case FORMULA:
                        System.out.print(cell.getCellFormula());
                        break;
                    case BLANK:
                        System.out.println("This is blank");
                        break;
                    default:
                        System.out.print("This is default");
                }
                    System.out.print("\t");
                    }

                     System.out.println(workbook1.getSheetAt(i).getRow(j).getCell(k).getStringCellValue()
                 + workbook2.getSheetAt(i).getRow(j).getCell(k).getStringCellValue());  

         try {
             Assert.assertEquals(workbook1.getSheetAt(i).getRow(j).getCell(k),
                     workbook2.getSheetAt(i).getRow(j).getCell(k));
            }    
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...