LaravelExcel导出生成的括号太多

时间:2016-11-16 12:07:40

标签: php laravel excel-formula

这是我在这个论坛上的第一篇文章,如果可以,请耐心等待;)

首先是上下文:我正在开发一个导入excel文件(.xlsx)的网页,其中包含两个工作表,并使用数据库中的一些数据编辑第一个网页。我使用的是LaravelExcel,我遇到了公式问题。

我试图在单元格中编写现有公式。到目前为止,这是我的代码:

Excel::load('files/template_v02.xlsx', function($reader) use ($clients) {
     $sheet = $reader->setActiveSheetIndex(0);
     $sheet->setCellValue('A7', "=IFNA(VLOOKUP(\$C7;$'Billable items'.\$C$58:\$D$61;2;0); 0)+IF(D7=\"Yes\"; $'Billable items'.\$D$63;0)");                    
 })->store('xlsx', public_path('files/test'));

问题是第二个' $'就在第一次拨打' Billable项目'之前这是第二张表的名称。当我打开修改后的文件时,我不明白为什么这个char会生成这个结果:

=IFNA(VLOOKUP($C7;$'Billable items'.$C$58:$D$61;2;0); 0)+IF(D7="Yes"; $'Billable items'.$D$63;0)))

在公式的末尾出现两个括号(第二张表格中有一个括号,单词为' $'),我无法弄清楚原因(I&#39 ; m编码为UTF-8)。

或许有人有想法?

提前致谢!

1 个答案:

答案 0 :(得分:0)

当我发现问题是什么时,忘记回答,如果有人遇到同样的问题:

首先,在sheetname之前的美元符号

  

$ \&#39;可结算项目<&#39;

不应该在那里,LaravelExcel不喜欢它,不知道为什么。

最后,真正的问题是Excel的IFNA功能,必须由IFERROR取代,在这种情况下,IFNA似乎不适用于此库。