关于Poi,Sheet的问题

发布于 2022-09-04 00:24:33 字数 478 浏览 12 评论 0

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

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

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

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

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

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

        writeToExcelByTemp2(wb,inputStream, outputStream, list);

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

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

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

发布评论

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

评论(2

七堇年 2022-09-11 00:24:33

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

歌枕肩 2022-09-11 00:24:33

如果是多线程操作文件的话,对操作excel的代码加锁,先读取excel,在写入。

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