这个周末我要在自学Apache POI。我的最新任务是获取具有数值和空白单元格的列,并将值添加到空白单元格中。我认为我几乎已经通过switch语句和setCellValues完成了很多工作,但是我似乎无法将内容输出回特定工作表和列上的工作簿中。

这是我下面的内容。数据被很好地拉入方法中。

Random randomNum = new Random();
      double randomD = randomNum .nextDouble();


      for (Row row : sheet2) {
          for (Cell cell : row) {

              switch (cell.getCellType()) {
                  case Cell.CELL_TYPE_NUMERIC:
                  System.out.println(cell.getNumericCellValue());
                      break;
                  case Cell.CELL_TYPE_BLANK:
                     cell.setCellValue(randomD);
                     FileOutputStream fileOut = new FileOutputStream("C:/Users/testtest/Desktop/Test/ProductTests.xls");
                     wb.write(fileOut);
                     fileOut.close();
                        System.out.println(cell.getNumericCellValue());
                      break;
                  default:
                      System.out.println();
              }
          }
      }

最佳答案

第一:不要尝试在每个单元格上写入整个文件,只有在完成所有更改后才这样做

第二:不要尝试写入与用于加载的文件相同的文件,POI不支持就地写入更改(但)。

09-04 14:42