poi 导出excel2007的时候,自动执行excel中的公式?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了poi 导出excel2007的时候,自动执行excel中的公式?相关的知识,希望对你有一定的参考价值。
poi 导出excel2007的时候,数据可以写入excel,但是之前excel存储的计算公式不执行,需要把导出的数据在重新手动写一次,才执行公式,怎么解决,让它自动导出的时候之后就执行公式?
八种情况:1、一般输入公式就得出结果,引用公示结果的话,需刷新数据;
2、数据是否设成了文本格式?如是,请设置为常规或数值格式然后双击该单元格后回车;
3、电脑反应太慢,按F9强制重新计算;
4、使用替换将=替换成=,按回车执行;
5、工具\选项\重新计算\选自动计算;
6、引用的poi3.7的包 不支持,sheet.setForceFormulaRecalculation(true);换成3.8的包
7、使用cell.setCellFormula方法重新在制定Cell里写入公式。
8、使用sheet.setForceFormulaRecalculation(true);方法强制让改Sheet执行公式。 参考技术A 五种情况:
1、举个例子看呢,一般输入公式就得出结果啊,引用公示结果的话,你刷新下数据看看;
2、看看你的数据是不是设成了文本格式?如是请设置为常规或数值格式然后双击该单元格后回车;
3、如果还不行的话那是电脑反应太慢,你可以按F9就可以重新计算了;
4、先输入=,再输入公式,最后按回车执行;
5、工具\选项\重新计算\选自动计算,是否为自动重算;
希望帮到你。追问
恩,我自己已经解决了,我之前引用的poi3.7的包 不支持,
sheet.setForceFormulaRecalculation(true);换成3.8的包就好使了,不过还是谢谢的你回答。
1、举个例子看呢,一般输入公式就得出结果,引用公示结果的话,刷新下数据看看;
2、看看数据是不是设成了文本格式,如是请设置为常规或数值格式然后双击该单元格后回车;
3、如果还不行的话那是电脑反应太慢,可以按F9就可以重新计算了;
4、先输入=,再输入公式,最后按回车执行;
5、工具\选项\重新计算\选自动计算,是否为自动重算; 参考技术C 是的,详细代码如下:
1 package hrds.zpf.poi;
2
3 import org.apache.poi.hssf.usermodel.HSSFWorkbook;
4 import org.apache.poi.hssf.usermodel.HSSFSheet;
5 import org.apache.poi.hssf.usermodel.HSSFRow;
6 import org.apache.poi.hssf.usermodel.HSSFCell;
7
8 import java.io.*;
9
10 public class FormulaToString
11
12 /**
13 * @param args
14 */
15 public void fileInput() throws IOException
16
17 HSSFWorkbook hw = new HSSFWorkbook(new FileInputStream(
18 "d:/My Documents/Desktop/poi.xls"));
19 HSSFSheet hsheet = hw.getSheet("poi test");
20 HSSFRow hrow = hsheet.getRow(0);
21 HSSFCell hcell = hrow.getCell(0);
22 String cellValue = this.getCellValue(hcell);
23 System.out.println(cellValue);
24
25
26
27 public String getCellValue(HSSFCell cell)
28 String value = null;
29 if (cell != null)
30 switch (cell.getCellType())
31 case HSSFCell.CELL_TYPE_FORMULA:
32 // cell.getCellFormula();
33 try
34 value = String.valueOf(cell.getNumericCellValue());
35 catch (IllegalStateException e)
36 value = String.valueOf(cell.getRichStringCellValue());
37
38 break;
39 case HSSFCell.CELL_TYPE_NUMERIC:
40 value = String.valueOf(cell.getNumericCellValue());
41 break;
42 case HSSFCell.CELL_TYPE_STRING:
43 value = String.valueOf(cell.getRichStringCellValue());
44 break;
45
46
47
48 return value;
49
50
51 public static void main(String[] args)
52 try
53 // TODO Auto-generated method stub
54 FormulaToString fts = new FormulaToString();
55 fts.fileInput();
56 catch (IOException e)
57 e.printStackTrace();
58
59
60
61
以上是关于poi 导出excel2007的时候,自动执行excel中的公式?的主要内容,如果未能解决你的问题,请参考以下文章