所以我在我的Laravel项目中使用PHPExcel,在某些地方我有不同的公式,不是指定的公式,而是自定义数学,如E10*5/E8
等。
下载后我在这些单元格中得到零,所有公式都被保存,但没有预先计算。
据我了解,我需要将setPreCalculatedFormulas
设置为true
,但我找不到插入此行的位置。我的代码如下:
public function get_excel($id)
{
Excel::create('table_'.$id, function($excel) {
$excel->setCreator("Ana");
$excel->setLastModifiedBy("Ana");
<...>
$excel->sheet('sheet', function($sheet) {
$sheet->setCellValueByColumnAndRow<...>
});
})->download("xsls");
}
当我尝试将此setPreCalculatedFormulas放入时,我收到错误
LaravelExcelWriter.php第628行中的LaravelExcelException:[ERROR] 作家方法[setPreCalculateFormulas]不存在。
我的错误在哪里?真的很感激任何可能的帮助!
UPD :我在LaravelExcelWriter配置中将“calculate
”和“setPreCalculateFormulas
更改为true,但结果仍然相同。
UPD2 :我在插入公式后尝试添加$sheet->getCell("K".$row)->getCalculatedValue();
,但它没有帮助
UPD3 :像SUM这样的预定义公式得到计算,但是自定义公式没有,这很奇怪
快乐结束:我在控制器的开头添加了Config::set(['excel.export.calculate' => true]);
,而且这个问题已经解决了