PHPExcel Formula在生产中失败,但可在本地运行

时间:2019-01-12 09:36:36

标签: php laravel phpexcel

我正在使用Laravel 5.4和PHPExcel 1.8.1。

在我的代码中,我添加了以下公式来计算该行的增值税:

    $vatPercent = $invoiceManager->getVatPercent($iData);
    $worksheet->setCellValueByColumnAndRow(22, $row, sprintf('=V%d*%f', $row, ($vatPercent / 100)));

$vatPercent =整数,例如20。

这将在本地生成此excel公式:

=V7*0,19

但是当我部署并想导出相同的excel(实时数据和本地数据)时,出现以下错误:

  

PHPExcel_Calculation_Exception:Verkäufe!W7->公式错误:   出乎意料   /var/app/current/vendor/phpoffice/phpexcel/Classes/PHPExcel/Cell.php:291

我的第一个猜测是这是由于语言版本造成的

  

4.6.4。将公式写入单元格

     

在Excel文件中,公式始终按其显示的方式存储   用英文版的Microsoft Office Excel和PHPExcel处理   内部所有公式都采用这种格式。这意味着以下   规则成立:

     

•小数点分隔符为'。 (句号)

     

•函数参数分隔符为','(逗号)

     

•矩阵行分隔符为';' (分号)

     

•必须使用英文功能名称

     

这与Microsoft Office Excel的哪种语言版本无关   可能已用于创建Excel文件。

所以我尝试了以下失败的尝试:

$vat = $invoiceManager->getVatPercent($iData);
$vatPercent = number_format(((float) $commissionVat) / 100, 2, '.', '');

$worksheet->setCellValueByColumnAndRow(22, $row, sprintf('=V%d*%f', $row, $vatPercent));

有没有人知道还有什么问题?

谢谢迈克尔

0 个答案:

没有答案