不接受 Php 电子表格公式

Phpspreadsheet formula not accepted

使用 php 电子表格,我无法将公式放入单元格中。 我收到一个错误:L43 -> 公式错误:发生意外错误

当我将此公式直接放入 excel 文件时,它运行良好。

我的公式是:“=IF(SUM(J2:J41)<>SUM(L2:L41);"1";"2")"。

这是我的代码:

$sheet->setCellValue($cell, $formula);

我也用

$sheet->setCellValueExplicit($cell, $formula, DataType::TYPE_FORMULA);

测试

可是我也不工作

我认为错误是因为公式中的引号,所以我添加了 addslashes php 函数

$formula = addslashes("=IF(SUM(J2:J41)<>SUM(L2:L41);"1";"2")");

我用数字测试

$formula = "=IF(SUM(J2:J41)<>SUM(L2:L41);1;2)";

进入库代码源时,发现报错的字符是分号(;)。

如果问题的根源是我的公式或图书馆,我不知道。

欢迎任何帮助。谢谢。

希望对您有所帮助:https://phpspreadsheet.readthedocs.io/en/latest/topics/recipes/#write-a-formula-into-a-cell 什么会做你想做的事:

$formula1 =  "=IF(SUM(J2:J41)<>SUM(L2:L41),\"1\",\"2\")";
$formula2 =  "=IF(SUM(J2:J41)<>SUM(L2:L41),1,2)";
$sheet->setCellValueExplicit('A4', $formula2, Cell\DataType::TYPE_FORMULA);
$sheet->setCellValue('A5', $formula2);

正如您在文档中看到的那样,使用 , 来分隔操作数,而不是 ;