2014-12-31 68 views
1

我今天感覺很蠢,所以原諒我。 PphExcel 1.8和PHP 5.5phpExcel VLOOKUP不能與多張工作

我使用的是VLOOKUP ...

當我寫出來,並加載在Excel中的一切文件是好的,但是當我嘗試並獲得在phpExcel解析值...在變化我得到0 ...這是錯誤的結果。 不知道,但也許那是因爲它是在不同的片

我使用的公式是

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

在V3的值是一個字符串,從查找回來應該是一個結果數字...我認爲它返回0,因爲這是B1單元格中的內容......但肯定不應該首先出現錯誤。

駕駛我有點堅果。

回答

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中加載文件時不會發生這種情況,它會重新計算,無論是因爲它忽略了設置,還是因爲它足夠聰明才能意識到它需要計算。