我必须编写xls公式,它将从一列中总结几个单元格。 该公式的xls输出显示:
SUM(F5;F9;F13;F16)
我在org.apache.poi库中创建了该公式。
Cell cell = rowSum.createCell(j);
cell.setCellType(Cell.CELL_TYPE_NUMERIC);
// column number like (A or B) in excel to use in formula
String x = CellReference.convertNumToColString(j);
cell.setCellType(HSSFCell.CELL_TYPE_FORMULA);
// for total sum row
String totalSumFormula = "SUM(";
for(int s=0; s<sumRowNumbers.size(); s++) {
int tempSumRowNumber = sumRowNumbers.get(s);
tempSumRowNumber++;
totalSumFormula += (x + tempSumRowNumber);
if(s+1 != sumRowNumbers.size()) {
totalSumFormula += ";";
} else {
totalSumFormula += ")";
}
}
cell.setCellFormula(totalSumFormula);
但不幸的是我收到了一个我无法理解的错误:
[FormulaParseException: Parse error near char 6 ';' in specified formula 'SUM(F5;F9;F13;F16)'. Expected ',' or ')']
你可以给我任何建议吗?怎么处理呢?
答案 0 :(得分:1)
嘿,我找到了解决问题的方法。 我应该使用分隔符:&#34;,&#34;而不是&#34;;&#34;。
现在它就像一个魅力。 在库中正确生成公式:
SUM(F5,F9,F13,F16)
在excel文件中生成公式:
=SUM(F5;F9;F13;F16)