2015-05-27 52 views
0

我想這個公式PHPExcel:公式錯誤(IF)

=IF(Datenbasis!B3<0;((Datenbasis!K3-Datenbasis!B3)/ABS(Datenbasis!B3))^(1/9)-1;(Datenbasis!$K$3/Datenbasis!$B$3)^(1/9)-1) 

插入此samplefile 1與此代碼:

// .... 
try 
{ 
    $inputFileType = PHPExcel_IOFactory::identify("phpexceltest.xls"); 
    $objReader = PHPExcel_IOFactory::createReader($inputFileType); 
    $objPHPExcel = $objReader->load("phpexceltest.xls"); 
} 
catch(Exception $e) 
{ 
    $_loadingerror = TRUE; 
} 
if ($_loadingerror === TRUE) 
{ 
    // Fehler beim Laden der Vorlagen-Datei! 
    die("Fehler!"); 
} 
$objPHPExcel->setActiveSheetIndex("0"); 
// .... 
$objPHPExcel->getActiveSheet()->setCellValue("J4", "=IF(Datenbasis!B3<0;((Datenbasis!K3-Datenbasis!B3)/ABS(Datenbasis!B3))^(1/9)-1;(Datenbasis!$" . "K$3/Datenbasis!$" . "B$3)^(1/9)-1)"); 
// .... 
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5'); 
$objWriter->save("ready.xls"); 

我得到這個錯誤

Fatal error: Uncaught exception 'Exception' with message 'Results!J4 -> undefined variable ';'' in ...\PHPExcel\Cell.php:288 Stack trace: #0 ...\PHPExcel\Writer\Excel5\Worksheet.php(441): PHPExcel_Cell->getCalculatedValue() #1 ...\PHPExcel\Writer\Excel5.php(171): PHPExcel_Writer_Excel5_Worksheet->close() #2 phpexceltest.php(446): PHPExcel_Writer_Excel5->save('ready.xls') #3 {main} thrown in ...\PHPExcel\Cell.php on line 288 

,我不知道爲什麼。當我直接在Excel中使用此公式時,它正在工作。

任何想法,該怎麼辦?

回答

3

規則對PHPExcel寫入式(如在documentation描述)

  • 小數分隔爲 '.'(週期)
  • 函數參數分離器是 ','(逗號)
  • 矩陣行分號是';'(分號)
  • 必須使用英文函數名稱

,除非你明確地設定一個區域的計算引擎


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