本文介绍了java POI XSSF 公式评估器的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我在保存新的 excel 文件时遇到问题.我希望当它被保存时,公式会自行计算,但目前它只是在 excel 文件中返回一个字符串.公式是正确的.我不知道如何让 FormulaEvaluator
工作.
I am having a problem when i save my new excel file. I want it that when it gets saved the formula calculates itself but at the moment it is just returning a string in the excel file. The formula is correct. I don't know exactly to get the FormulaEvaluator
to work.
这里是我输入返回字符串的公式的地方:
Here is where I enter my formula that returns a string:
dataRow1.createCell((short)5).setCellValue("=VLOOKUP(A"+rowCountVlookup+",'C:\\Users\\Admin\\Documents\\JCreator LE\\MyProjects\\WordCount\\classes\\[Pricing.xlsx]Sheet1'!$B$3:$E$41,4, FALSE)*E"+rowCountVlookup+"");
任何帮助将不胜感激.
推荐答案
我使用此代码来计算公式
I use this code to evaluate a formula
//I use an instance of the workbook for the Excel workbook I'm working at the moment
Workbook wbook;
private CellValue formulaEvaluation(Cell cell) {
FormulaEvaluator formulaEval = wbook.getCreationHelper().createFormulaEvaluator();
return formulaEval.evaluate(cell);
}
public Double obtieneObjetoNumericoCelda(Cell cell) {
Double dblValue = null;
if (cell != null) {
switch(cell.getCellType()) {
case Cell.CELL_TYPE_NUMERIC:
dblValue = cell.getNumericCellValue();
break;
case Cell.CELL_TYPE_FORMULA:
CellValue objCellValue = formulaEvaluation(cell);
if (objCellValue.getCellType() == Cell.CELL_TYPE_NUMERIC) {
dblValue = objCellValue.getNumberValue();
}
break;
}
}
return dblValor;
}
这篇关于java POI XSSF 公式评估器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!