在使用Apache POI编写Excel文件时更新进度条



给定使用Apache POI向excel文件写入大量数据的代码:

var workbook = new SXSSFWorkbook()
addSubstentialAmountOfDataToWorkbook(workbook)
workbook.write(outputStream) // might take a few minutes and need to update the progress bar
workbook.close()

和一个可以用progressBar.add(10) // add 10% to the progress

更新的进度条如何更新一个进度条,而写一个非常大的Excel文件使用Apache POI?

我最初的想法是在以某种异步方式编写xlsx文件时查看它的大小,但它似乎给代码增加了很多混乱。

有更好的方法吗?

如果工作簿书写使用的时间总是相同的,您可能会这样做。否则,我建议使用一个简单的旋转器(例如这里)来代替进度条。因为您不知道生成文件需要多长时间。你无法确定什么是"100%"。以及需要多长时间才能实现。

最新更新