请教一个涉及到读 Excel 公式动态计算的问题。
需求描述: 需求是要做一个财务预算的复杂 Excel 表格功能,第一行和 C 列的数据可以手工填写,填写后触发相对应的计算逻辑(每个格子都有不同的公式),最终将页面上所有的数据入库,下次进入页面将数据重新展示出来。
难点: 奇葩就奇葩在,在 A 页面修改一些的值,B 页面的所有数据要根据新修改的数后台重新计算一遍并覆盖之前的数据。这样 A 页面的数据相当于字典,B 页面的第一行数据读的是 A 页面提前录入好的值。
实现方式: 领导要求用 Java 来实现,所有计算逻辑在后台做,前端只做展示( React ),本来可以用帆软报表实现就很简单,但卡点在于,A 页面填报后,B 页面无法后台进行动态的重新计算,必须要重新进入 B 页面后手工提交才行。
目前在网上找到解决方案有: Java 使用 POI 获取 Excel 公式并计算公式得到计算结果值,但这种读出来的数据难以维护。
Excel 内容大概是这样的: https://www.douban.com/photos/photo/2923046300/large
![]() |
1
SanjinGG 61 天前
目前看下来和 Excel 没太大关系啊? a 输入数据给后端计算好存表里,前端每次进入 b 页面获取下数据,再给个导出 Excel 功能就行了吧?
|
2
visper 61 天前
听起来像是后端会有一个 excel 模板,模板里面的一些单元格的公式是别人设置好的。然后前端填写了值,把值填写到对应的单元格,然后获取出自动计算后的单元格的值。 问 ai 的话说 poi 里面有这些触发 excel 自动计算的 FormulaEvaluator ,但是支持公式到什么程度不知道.
|
![]() |
3
execute 61 天前
尝试为每个 sheet 页建立一个数据库表和视图呢,表存未经计算原始数据,视图里面就是计算和取数的逻辑,查询的时候直接查视图
|
4
eric3797 61 天前
何必杀鸡用牛刀,这个直接用 excel 自带的锁定隐藏单元格就行,不显示公式计算过程只显示结果,允许编辑的内容取消锁定即可,如示例 example: https://ttttt.link/f/6865f83c9d139
|