用java操作POI的时候,excel写入cell多次循环无法正确写入

发布于 2021-12-01 12:36:18 字数 871 浏览 890 评论 7

在进行excel操作的时候,嵌套了for循环,发现无法正确写入,这是什么原因?

XSSFWorkbook wb = new XSSFWorkbook();
Sheet sheet = wb.createSheet("result");
for (int i = 0;i< 79;i++){
for(int j= 1;j<4;j++){
sheet.createRow(i).createCell(0).setCellValue("当前i:"+i);
sheet.createRow(i).createCell(j).setCellValue("当前j:"+j);
}
}

FileOutputStream fos = null;
try {  
fos = new FileOutputStream(McUtils.compareResult_str + "C666.xlsx");  
wb.write(fos);        
} catch (IOException e) {  
   System.out.println(e.toString());  
} finally {  
   try {  
   	fos.close();  
   } catch (IOException e) {  
       System.out.println(e.toString());  
   }  
}  




如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(7

眉黛浅 2021-12-04 01:51:49

嗯,是的, 后来我先创建row,再创建cell解决了。然后回头看发现,就跟上面说的,我一直在创建行。感谢~

沙与沫 2021-12-03 23:22:27

先createRow再根据创建的row进行createCell,最后set值。

这样即使某行某列创建失败你也能发现问题。。。。。。。

羁拥 2021-12-03 22:03:13

感谢~

眼泪淡了忧伤 2021-12-03 18:25:33

是……后来我发现了……

奈何桥上唱咆哮 2021-12-03 17:25:42

你一直在sheet.createRow,每次迭代都创建了新的row,当然没有数据了.

凡尘雨 2021-12-03 16:09:42

嗯嗯,是的,谢谢

策马西风 2021-12-03 08:48:55
for(inti =0;i<79;i++){
  sheet.createRow(i).createCell(0).setCellValue("当前i:"+i);
  for(intj=1;j<4;j++){
    sheet.getRow(i).createCell(j).setCellValue("当前j:"+j);
  }
}

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文