0

我在使用sum公式生成 EXCEL 文件时遇到了这个问题。

PHP代码:

$objPHPExcel->getActiveSheet()->setCellValue("I".$fila,"=SUMA(I17:I".($fila-1).")");

注意:SUMA在西班牙语中是“总和”.. 像西班牙语配置一样工作

当我打开 Excel 文件时,它显示的值为:######

但是公式是正确的,当我在公式后输入回车时,它会重新计算并正确。

4

3 回答 3

2

PHPExcel 在内部使用英语:如果您的公式函数使用西班牙语,您必须将本地设置为西班牙语;然后可以将它们翻译成英文注入细胞。请参阅开发人员文档的第 4.6.5 节(标题为“公式的区域设置”)。

$locale = 'es';
$validLocale = PHPExcel_Settings::setLocale($locale);
if (!$validLocale) {
    echo 'Unable to set locale to '.$locale." - reverting to en_us<br />\n";
}

$formula = "=SUMA(I17:I".($fila-1).")";
$internalFormula = 
    PHPExcel_Calculation::getInstance()->translateFormulaToEnglish($formula);
$objPHPExcel->getActiveSheet()->setCellValue("I".$fila, $internalFormula);
于 2013-08-11T22:12:24.130 回答
1

您可以使用英文的公式函数。

$objPHPExcel->getActiveSheet()->setCellValue("I".$fila,"=SUM(I17:I".($fila-1).")");

在excel中打开文档,你可以看到计算的总数和函数公式“=SUMA()”

于 2014-11-20T11:36:08.580 回答
0

只有一个更正:

$internalFormula = PHPExcel_Calculation::getInstance()->_translateFormulaToEnglish($formula);

于 2016-07-19T00:55:04.820 回答