猿问

关于Poi,Sheet的问题

现有一模板Excel,里面有三个sheet。

有三段程序,每次读模板,并选择sheet写入到新的Excel中。

现在是这三个程序每运行一个就把之前的给覆盖了

怎样使得这三个程序分别运行不覆盖之前的,并且写入到不同的sheet中

因为为了防止一个出现错误其他的也进行不下去的情况,所以我才分开写的。因为是要查库,怕有时候超时什么的。

// writeToExcelByTemp(wb,inputStream, outputStream, list);

writeToExcelByTemp2(wb,inputStream, outputStream, list);

就是一个里面是wb.getSheetAt(0); 
另一个是wb.getSheetAt(1);这种,
不过不是一个程序。就是这次调这个,下次调那个。通过注释,或者我另写到一个main方法里面。


慕村9548890
浏览 639回答 2
2回答

子衿沉夜

如果三段程序是并行执行,那么每段程序自己修改完Excel就保存所以只有最后一个保存的Excel被保留下来了。如果三段程序是串行执行,那么每段程序先打开Excel,再选择sheet,再做修改,修改后保存Excel,下一段程序再次如此执行,怎么会出现覆盖的情况?

繁星淼淼

如果是多线程操作文件的话,对操作excel的代码加锁,先读取excel,在写入。
随时随地看视频慕课网APP

相关分类

Java
我要回答