org.apache.poi写xls的单元格公式

时间:2014-06-10 08:45:00

标签: excel apache apache-poi xssf hssf

我必须编写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 ')'] 
你可以给我任何建议吗?怎么处理呢?

1 个答案:

答案 0 :(得分:1)

嘿,我找到了解决问题的方法。 我应该使用分隔符:&#34;,&#34;而不是&#34;;&#34;。

现在它就像一个魅力。 在库中正确生成公式:

SUM(F5,F9,F13,F16)

在excel文件中生成公式:

=SUM(F5;F9;F13;F16)