2015-07-20 100 views
-1

我使用PHP excel 1.8.0。我到處搜索,但我不明白爲什麼下面的錯誤發生,我的Excel文件已損壞。PHPexcel公式IFERROR

Uncaught exception 'PHPExcel_Calculation_Exception' with message 'Worksheet!K2 -> Formula Error: An unexpected error occured' 

我必須使用ISO 8859-2編碼

$formula = iconv('ISO-8859-2', 'UTF-8//IGNORE//TRANSLIT', '=IFERROR(IF(OR(C'.$row.'="string1";C'.$row.'="strin2");D'.$row.';" ");" ")'); 
$objPHPExcel->getActiveSheet()->setCellValue($where, $formula); 

我嘗試設置式無=。之後,當我打開我的Excel文件時,所有公式都設置正確,沒有=標記。然後,如果我手動將它添加到公式,它的工作原理。但有了你可以看到的代碼,公式就被破壞了。 我也曾嘗試加入=後,我用iconv,但沒有任何改變文件仍然被打破。如果有人能夠幫助我解決這個問題,我會很高興。

回答

1

PHPExcel documentation

寫公式到單元格

裏面的Excel文件,公式始終存儲,因爲它們將出現在英文版本的Microsoft Office Excel,和PHPExcel以這種格式內部處理所有公式。這意味着以下規則成立:

  • 小數點分隔符是'。' (句點)
  • 函數參數分隔符是','(逗號)
  • 矩陣行分隔符是';' (分號)
  • 英文函數名稱必須使用

這是無論Microsoft Office Excel中的語言版本可能已被用於創建Excel文件。

您使用分號(;)作爲函數參數的分隔符

+0

非常感謝你 –