导出为csv时未计算的公式

时间:2016-11-04 09:30:31

标签: php excel laravel phpexcel laravel-excel

我有这个Excel文件(.xlsx):

+---+-------+
|   |   A   |
+---+-------+
| 1 | 1     |
| 2 | =A1+1 |
| 3 | =2*3  |
+---+-------+

在Laravel中,我已将此代码配置为显示内容

return Excel::load(base_path() . '/test.xlsx')->string('csv');

返回单元格的文本:"1","=A1+1","=3*2"

我想要的是计算出的值,但格式相同:"1","2","6"

代码

return Excel::load(base_path() . '/test.xlsx')->get();

返回正确的计算数据,但格式错误。

1 个答案:

答案 0 :(得分:4)

有一个选项正是为了这个目的。您可能在config/excel.php处有一个配置文件(如果不只是php artisan vendor:publish --provider="Maatwebsite\Excel\ExcelServiceProvider")。看一下export数组,其中包含以下选项:

    /*
    |--------------------------------------------------------------------------
    | Pre-calculate formulas during export
    |--------------------------------------------------------------------------
    */
    'calculate'                   => false,

将其设置为true,然后就可以了。