phpExcel VLOOKUP无法使用多个工作表

时间:2014-12-31 17:41:45

标签: php phpexcel vlookup

我今天感觉很蠢,所以请原谅我。 PphExcel 1.8和Php 5.5

我正在使用VLOOKUP ......

当我把它写出来并在excel中加载文件时一切都很好,但是当我尝试在phpExcel中获取解析后的值...在变量中我得到0 ...这是错误的结果。 不确定,但可能是因为它在另一张表上

我正在使用的公式是

=IFERROR(VLOOKUP(V3,zLOOKUPS!A2:B3,2,FALSE),zLOOKUPS!B1)

V3中的值是一个字符串,从查找返回的结果应该是数字...我认为它返回0,因为这是B1单元格中的内容...但肯定不应该是错误 - 首先。

让我有点疯狂。

1 个答案:

答案 0 :(得分:0)

如果设置公式但不设置值,则Excel会假定值不错,并加载文件而不重新计算以节省时间。如果按F9,它甚至不会重新计算。只有你触摸' Excel中的单元格将重新计算。

解决方法是告诉Excel,通过将PHPExcel编写器对象的setPreCalculateFormulas设置为false,未预先计算公式:

    $objWriter = PHPExcel_IOFactory::createWriter($this->_workbook, 'Excel2007');
    if ($this->_hasCharts) $objWriter->setIncludeCharts(TRUE);
    $objWriter->setPreCalculateFormulas(FALSE);
    $objWriter->save('php://output');

或者,您必须同时设置每个单元格的公式值。这要求您在PHP中计算单元格的值。

注意:这不是在Libre Office中加载文件时发生的情况,无论如何都要重新计算,因为它忽略了设置,或者因为它足够聪明而无法计算它。