关于Poi,Sheet的问题
现有一模板Excel,里面有三个sheet。
有三段程序,每次读模板,并选择sheet写入到新的Excel中。
现在是这三个程序每运行一个就把之前的给覆盖了
怎样使得这三个程序分别运行不覆盖之前的,并且写入到不同的sheet中
因为为了防止一个出现错误其他的也进行不下去的情况,所以我才分开写的。因为是要查库,怕有时候超时什么的。
// writeToExcelByTemp(wb,inputStream, outputStream, list);
writeToExcelByTemp2(wb,inputStream, outputStream, list);
就是一个里面是wb.getSheetAt(0);
另一个是wb.getSheetAt(1);这种,
不过不是一个程序。就是这次调这个,下次调那个。通过注释,或者我另写到一个main方法里面。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果三段程序是并行执行,那么每段程序自己修改完Excel就保存所以只有最后一个保存的Excel被保留下来了。
如果三段程序是串行执行,那么每段程序先打开Excel,再选择sheet,再做修改,修改后保存Excel,下一段程序再次如此执行,怎么会出现覆盖的情况?
如果是多线程操作文件的话,对操作excel的代码加锁,先读取excel,在写入。