如何在PhpExcel中插入大型公式?

时间:2014-10-06 08:42:55

标签: php phpexcel

需要你的问题帮助: 我需要在单元格中插入公式。 像= A1 + A2这样的简单公式正在上传。 但是如“=(C18100%/ D18)100%”不上传。只是空单元格。 另外,因为我来自乌克兰,我需要用我自己的语言上传公式。例如:

=(((((C17(1-(Скидка+НакопСкидка))(1-Самовывоз)))(1-ПоФакту)))(1-Скидка_Упаковка))
Attemp to upload such formula gives an error:
Fatal error: Uncaught exception 'PHPExcel_Calculation_Exception' with message 'Лист3!G17 -> Formula Error: Expecting ')'' in /var/www/zoobonus/zoobonus.ua/php_classes_2.1/Classes/PHPExcel/Cell.php:300 Stack trace: #0 /var/www/zoobonus/zoobonus.ua/php_classes_2.1/Classes/PHPExcel/Writer/Excel5/Worksheet.php(460): PHPExcel_Cell->getCalculatedValue() #1 /var/www/zoobonus/zoobonus.ua/php_classes_2.1/Classes/PHPExcel/Writer/Excel5.php(187): PHPExcel_Writer_Excel5_Worksheet->close() #2 /var/www/zoobonus/zoobonus.ua/templates/account/price_list/blank_for_all.php(75): PHPExcel_Writer_Excel5->save('/var/www/zoobon...') #3 /var/www/zoobonus/zoobonus.ua/admin/outlet_report.php(45): include('/var/www/zoobon...') #4 {main} thrown in /var/www/zoobonus/zoobonus.ua/php_classes_2.1/Classes/PHPExcel/Cell.php on line 300

如何解决这个问题?

2 个答案:

答案 0 :(得分:0)

=(C18100%/D18)100%

不是有效的excel公式((C18100%/D18)100%之间缺少运算符

=(((((C17(1-(Скидка+НакопСкидка))(1-Самовывоз)))(1-ПоФакту)))(1-Скидка_Упаковка))

您在该公式中使用的那些命名范围(例如Скидка)是什么?

我不相信C17是MS Excel中的一个功能,但看起来好像你在这里使用它一样。

另一个问题在于-(Скидка+НакопСкидка))(1-Самовывоз)))之间以及(1-Самовывоз)))(1-ПоФакту)))之间以及(1-ПоФакту)))(1-Скидка_Упаковка))之间缺少运算符< / p>

我从未意识到MS Excel允许您在没有任何操作员的情况下链接操作数,并且无法找到任何版本的MS Excel,它实际上允许我输入这样的公式而不会抱怨它,所以我再次&#39 ; d表明这是一个无效的公式。

答案 1 :(得分:0)

=(C18 * 100%/ D18)* 100% - 我修复了配方。它仍然不想插入单元格。为什么呢?

=(((((C17(1-(Скидка+НакопСкидка))(1-Самовывоз)))(1-ПоФакту)))(1-Скидка_Упаковка)) - 谢谢,它是非常无效的公式,像“Скидка”这样的单词是单元格上的链接。所以我在=(1-D7)* 17上对它进行了重复,现在插入它。