1

我必须编写 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 ')'] 

你能给我什么建议吗?如何处理?

4

1 回答 1

2

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

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

SUM(F5,F9,F13,F16)

在excel文件中生成公式:

=SUM(F5;F9;F13;F16)
于 2014-06-10T09:07:35.203 回答