我在PHPExcel导出中出错,因为我尝试使用IF公式获取一些值。
以下是本准则的一部分:
$objPHPExcel->getSheet(1)->setCellValue('G4', '=IF(F4>0,E4/F4,0');
$objPHPExcel->getSheet(1)->setCellValue('G11', '=IF(F11>0,E11/F11,0)');
$objPHPExcel->getSheet(1)->setCellValue('G18', '=IF(F18>0,E18/F18,0)');
$objPHPExcel->getSheet(1)->setCellValue('G22', '=IF(F22>0,E22/F22,0)');
在excel中,公式类型为:
=IF(F11>0;(E11/F11);0)
这里是错误代码:
Fatal error: Uncaught exception 'Exception' with message 'RECAP!G28 -> RECAP!G4 -> Formula Error: An unexpected error occured'
in D:\apache2215\htdocs\gdevise\lib\phpexcel\Classes\PHPExcel\Cell.php:288
#0 D:\apache2215\htdocs\gdevise\lib\phpexcel\Classes\PHPExcel\Worksheet.php(576): PHPExcel_Cell->getCalculatedValue()
#1 D:\apache2215\htdocs\gdevise\lib\phpexcel\Classes\PHPExcel\Writer\Excel5\Worksheet.php(290): PHPExcel_Worksheet->calculateColumnWidths()
#2 D:\apache2215\htdocs\gdevise\lib\phpexcel\Classes\PHPExcel\Writer\Excel5.php(171): PHPExcel_Writer_Excel5_Worksheet->close()
#3 D:\apache2215\htdocs\gdevise\cdd_export_all_nomail.php(985): PHPExcel_Writer_Excel5->save('php://output')
#4 {main}
在第288行的D:\ apache2215 \ htdocs \ gdevise \ lib \ phpexcel \ Classes \ PHPExcel \ Cell.php中抛出
有人有点想法
提前THXAchillix
答案 0 :(得分:2)
您需要关闭并检查parentheses( )
-
$objPHPExcel->getSheet(1)->setCellValue('G4', '=IF(F4>0,E4/F4,0');
要
$objPHPExcel->getSheet(1)->setCellValue('G4', '=IF(F4>0,E4/F4,0)' );
答案 1 :(得分:1)
你忘了关上一个小桶:
$objPHPExcel->getSheet(1)->setCellValue('G4', '=IF(F4>0,E4/F4,0');
认为这样可以解决您的问题:
$objPHPExcel->getSheet(1)->setCellValue('G4', '=IF(F4>0,E4/F4,0)');