Я использую 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 обрабатывает
все формулы внутренне в этом формате. Это означает, что следующее
правила соблюдены:
• Десятичный разделитель - «.» (Период) * 1 025 *
• Разделителем аргумента функции является ',' (запятая)
• Матричный разделитель строк - это ';' (Точка с запятой)
• Должны использоваться английские названия функций
Это не зависит от языковой версии 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));
У кого-нибудь есть идеи, в чем еще может быть проблема?
спасибо, Майкл