Java 无法使用POI在Excel工作表中写入多行

Java 无法使用POI在Excel工作表中写入多行,java,Java,我正在使用POI在java中开发一个应用程序,它将数据写入ExcelSheet。 当我有一个新数据时,我想写一个新行(以帮助用户跟踪数据)。 我不想每次有新数据要写入时都关闭并重新打开excell文件 初始化代码为: FileOutputStream fileOut = new FileOutputStream(new File (excellFileName)); HSSFWorkbook workbook = new HSSFWorkbook(); HSSFSheet sheet = w

我正在使用POI在java中开发一个应用程序,它将数据写入ExcelSheet。 当我有一个新数据时,我想写一个新行(以帮助用户跟踪数据)。 我不想每次有新数据要写入时都关闭并重新打开excell文件

初始化代码为:

FileOutputStream fileOut =  new FileOutputStream(new File (excellFileName));
HSSFWorkbook workbook = new HSSFWorkbook();
HSSFSheet sheet =  workbook.createSheet("FirstSheet");
rowNum = 0;

HSSFRow rowhead = sheet.createRow((short)rowNum);
createRowColumns(rowhead, rowNum);
workbook.write(fileOut);    
rowNum++;
每次有新数据时,我都使用以下代码:

HSSFRow rowMsg = sheet.createRow((short)rowNum);      
createRowColumns(rowMsg, rowNum);
workbook.write(fileOut);       
rowNum++;
(createRowColumns方法设置数据(在新的:rowMsg中的单独单元格中)
问题是,除了第一行(rowhead,row#0),我在excell文件中看不到任何行

我错过了什么? (请注意,我不希望每次有数据要写入时都关闭并重新打开文件)


感谢您只需在工作表中写入一次就可以写入所有行。因此,您需要按如下方式更新代码

for(int index = 0; index < rowNum; rowNum++) {
    HSSFRow rowMsg = sheet.createRow((short)rowNum);      
    createRowColumns(rowMsg, rowNum);
}
workbook.write(fileOut);     
for(int index=0;index