Java Apache POI仅将最后一个单元格保存到新创建的文件中
因此,我从excel文件中的工作表中的选定单元格中提取数据,然后尝试将其写入另一个文件。数据在vatAdata数组中被很好地传输,从我所知,它被写入for循环中的单元格,因为它在插入到后打印出每个单元格(仅用于调试目的)。但当我稍后打开文件时,只有最后一个单元格中有数据,而所有其他单元格都为空。知道是什么导致了这个问题吗Java Apache POI仅将最后一个单元格保存到新创建的文件中,java,Java,因此,我从excel文件中的工作表中的选定单元格中提取数据,然后尝试将其写入另一个文件。数据在vatAdata数组中被很好地传输,从我所知,它被写入for循环中的单元格,因为它在插入到后打印出每个单元格(仅用于调试目的)。但当我稍后打开文件时,只有最后一个单元格中有数据,而所有其他单元格都为空。知道是什么导致了这个问题吗 for(int i=0;i<vatAdata.length;i++){ Cell cellInsert=sheet.createRow(rowIndex)
for(int i=0;i<vatAdata.length;i++){
Cell cellInsert=sheet.createRow(rowIndex).createCell(colIndex+i);
cellInsert.setCellType(vatAtype[i]);
// System.out.println(cellInsert.);
if(vatAtype[i]==0){
cellInsert.setCellValue(Double.parseDouble(vatAdata[i]));
System.out.println(cellInsert.getNumericCellValue()+" written");
}
else{
cellInsert.setCellValue(vatAdata[i]);
System.out.println(cellInsert.getStringCellValue()+" written");
}
}
FileOutputStream out=new FileOutputStream("/home/chris/Documents/test.xlsx");
wb.write(out);
out.close();
for(int i=0;i
您需要将新行值保存到变量以重用它
row = sheet.createRow(rowIndex);
cellInsert = row.createCell(colIndex+i);
非常感谢你马上解决了这个问题,当我一读到它,我就想…哦,是的,重现这一行很糟糕
row = sheet.createRow(rowIndex);
cellInsert = row.createCell(colIndex+i);