[alibaba/easyexcel]模板填充数据:模板带公式的话,怎么自动刷新公式?

2024-04-30 838 views
5
问题描述

如题,easyexcel 中有没有类似如下poi中的刷新公式的方法,不然导出excel后,必须点一下填充的单元格数据,否则其他公式关联的单元格的数据不会自动刷新。 其他问题:较复杂的excel导出,是建议直接使用模板填充方式,还是直接写出。如果是模板填充方式的话,计算公式是保留在模板里让他自己计算好,还是跟业务确定全部公式,在后台用代码计算出值,最后直接写入不带公式的模板中呢。

// poi刷新公式
workbook.setForceFormulaRecalculation(true);

回答

1
感谢,该问题已经通过以下方式解决。
Workbook workbook = excelWriter.writeContext().writeWorkbookHolder().getCachedWorkbook();
// 设置强制计算公式:不然公式会以字符串的形式显示在excel中
workbook.setForceFormulaRecalculation(true);

但是,现在出现新的问题,可以帮忙看看么,非常感谢。 问题如下: 使用填充模板的形式生成的excel文件(模板文件自带公式),数据虽然计算并显示出来了,但是打开文件后,文件是未保存的。这时,去读该文件的内容时,公式生成的数据无法正常读取,读取到的是 #VALUE! ,不知道该如何解决。以上

6

..什么叫打开文件是未保存的 你是之前的没关 wps缓存了吧

4

使用 fill 填充方式新生成的excel,没有引用其他excel文件的数据,也没有缓存。文件生成后,打开文件会显示是未保存的状态,就是关闭的时候它会提示你保存,就像下面这种。 如果不手动保存的话,直接读这个文件,公式计算后的数据读到的就是 #VALUE! image image

6

可能是生成公式的问题。 这边推荐的是在内存中把数据计算好写过去 尽量避免用公式。 如果一定要用公式可能需要一点点调试

7

好的 谢谢

2

同样的问题,请问是怎么解决的?@wangjxGithub