java - 如何使用 Apache POI 输出到特定列和工作表?

标签 java excel apache-poi

这个周末我正在自学 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 尚不支持就地写入更改。

关于java - 如何使用 Apache POI 输出到特定列和工作表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36519945/

相关文章:

java - Java 中的单元测试缺少分支覆盖率

java - Swing Worker 模态对话框不会关闭

Java ArrayList 填充

java - 使用 Apache POI 获取 Excel 工作簿密码

java - 如何使用 POI 库从 Excel 中读取筛选后的行

java - Apache poi 中的数组公式

java - 如何使用 Apache POI 动态写入第 0 行?

c# - Excel共享公式展开

使用 OleDb 和 Access 数据库引擎的 C# Excel INSERT 错误

java - 保存 XSSFWorkbook 时仅更新一行