POI 生成的公式不能自动计算结果?急啊,求大神

浮云若水 2012-04-04 03:35:08

for (int i = 0; i < list.size(); i++) {

HSSFRow newRow = sheet.createRow(i + startRow);
for (int j = 0; j < 49; j++) {
HSSFCell newCell = newRow.createCell(j);
newCell.setCellStyle(firstRow.getCell(j).getCellStyle());
}
Object buff = null;
newRow.getCell(2).setCellFormula("VLOOKUP($D"+(4+i)+",別紙_班マスタ!$A$2:$B$65536,2,FALSE)");
newRow.getCell(3).setCellFormula((sheet1.getSheetName()+"!A3"));
sheet.setForceFormulaRecalculation(true);
buff=list.get(i).get("SDA_SetsubiID");
newRow.getCell(1).setCellValue(buff == null ? "" : buff.toString());


为什么我强制在计算了 还是不顶用

在Excel中显示的是 0 0 求大神解决

说下我想实现的内容:我生成了两个sheet 在第一个sheet中引用数据源在【別紙_班マスタ!】中,而第一个sheet中的有一个级联 在一个下拉列表中选择一个值,而在左边的单元格中显示与下拉列表所选定的值相关的信息,在POI生成Excel的时候下拉列表要预先选定一个选项,而该下拉列表左边相邻的单元格也要显示该预选选项想关的信息。 newRow.getCell(2).setCellFormula("VLOOKUP($D"+(4+i)+",別紙_班マスタ!$A$2:$B$65536,2,FALSE)");
newRow.getCell(3).setCellFormula((sheet1.getSheetName()+"!A3"));
这两行代码是我索要实现的,但是我在POI生成excel在浏览器打开的时候这两列都是显示0 0 公式根本没有生效,但当按F9时,或者双击含有公式的单元格 公式就起效了,我也设置了sheet强制公式再计算,但还是不顶用,求大神帮忙,或者给个实现的例子 谢谢
...全文
1671 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
azhqiang 2014-07-15
  • 打赏
  • 举报
回复
sheet.setForceFormulaRecalculation(true);这句的位置很重要,都生成完毕写EXCEL之前执行。我也遇到这个问题,刚刚解决了。
sheng_luo 2013-07-22
  • 打赏
  • 举报
回复
workbook.setForceFormulaRecalculation(true);
zhz163 2012-10-25
  • 打赏
  • 举报
回复
你不会用的是WPS吧,WPS不支持打开文件时自动计算。或者你EXCEL软件本身的自动计算没打开。。
浮云若水 2012-04-04
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]
http://svn.apache.org/repos/asf/poi/trunk/src/examples/src/org/apache/poi/ss/examples/LoanCalculator.java这是POI关于公式计算最权威的example,发点时间看,你的问题就会解决。
[/Quote]

囧 看了下 貌似没有我需要的效果
德薄才浅 2012-04-04
  • 打赏
  • 举报
回复
http://svn.apache.org/repos/asf/poi/trunk/src/examples/src/org/apache/poi/ss/examples/LoanCalculator.java这是POI关于公式计算最权威的example,发点时间看,你的问题就会解决。

24,923

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 Apache
社区管理员
  • Apache
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧