这个周末我正在自学 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/