用java读/写带公式的excel的问题

发布于 2021-11-12 06:01:47 字数 418 浏览 816 评论 6

有一个公式逻辑很复杂的excel,现在想在页面上做成自动的,就是从页面上得到的一些值通过poi或者jxl给写进excel里,然后通过那些公式的计算,再从excel里把结果取出来,避免以前那样要自己手动打开excel来计算。

现在的问题是,服务器是linux的,JDK是1.4的,所以就不能用HSSFFormulaEvaluator.evaluateAllFormulaCells(好像是3.X以后才加上的方法)方法来实现整个工作簿公式的刷新,而一个单元格一个单元格刷新的话因为里面有IF啊这种判断的,又会报错;而用jxl呢,值放进去以后,必须要打开文件,他的公式才会去计算,否则只能取出来计算前的值。

那么如果想取出来计算后的值的话,通过poi可以实现吗?还是通过jxl赋值,然后再用程序控制打开再马上关闭那个excel文件,达到让公式运行的目的(linux下貌似不行吧)?

向各位求教了

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

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

发布评论

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

评论(6

反目相谮 2021-11-13 14:15:50

按LZ你的意思就是通过输入一堆值到EXCEL来计算然后得去一堆值返回..EXCEL只是起到一个如function般的作用...难道我理解有错误?

        理解了作用后然后直接在java里写方法是一个最佳方法了...直接忽视掉excel...

要不你像楼上说的..把excel的公式用jxl算...你的excel模板时固定的反应了一个业务逻辑的吧?

乞讨 2021-11-13 14:15:00

按LZ你的意思就是通过输入一堆值到EXCEL来计算然后得去一堆值返回..EXCEL只是起到一个如function般的作用...难道我理解有错误?

        理解了作用后然后直接在java里写方法是一个最佳方法了...直接忽视掉excel...

要不你像楼上说的..把excel的公式用jxl算...你的excel模板时固定的反应了一个业务逻辑的吧?

柳若烟 2021-11-13 14:05:48

NumberFormat dp3 = new NumberFormat("#.###"); // 设置单元格里面的数字格式

WritableCellFormat dp3cell = new WritableCellFormat(dp3);

dp3cell.setWrap(true);

Formula f = new Formula(2, 9, "(a10+b10)/2", dp3cell); // 设置C10公式

sheet.addCell(f);

f = new Formula(3, 9, "SUM(A10:B10)", dp3cell);// 设置D10公式

sheet.addCell(f);

 

jxl.jar 有支持公式

灵芸 2021-11-13 13:59:49

NumberFormat dp3 = new NumberFormat("#.###"); // 设置单元格里面的数字格式

WritableCellFormat dp3cell = new WritableCellFormat(dp3);

dp3cell.setWrap(true);

Formula f = new Formula(2, 9, "(a10+b10)/2", dp3cell); // 设置C10公式

sheet.addCell(f);

f = new Formula(3, 9, "SUM(A10:B10)", dp3cell);// 设置D10公式

sheet.addCell(f);

 

jxl.jar 有支持公式

月牙弯弯 2021-11-13 13:16:18

为何那个公式不能直接做成个function 在java里计算呢?

像你 2021-11-13 12:58:28

为何那个公式不能直接做成个function 在java里计算呢?

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