1

我的 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 中抛出

有人出主意

提前 THX

跟腱

4

2 回答 2

3

您需要关闭并检查您的parentheses( )-

$objPHPExcel->getSheet(1)->setCellValue('G4', '=IF(F4>0,E4/F4,0');

$objPHPExcel->getSheet(1)->setCellValue('G4', '=IF(F4>0,E4/F4,0)' );
于 2013-04-11T08:18:07.883 回答
1

你忘了关闭一个barcket:

$objPHPExcel->getSheet(1)->setCellValue('G4', '=IF(F4>0,E4/F4,0');

认为这将解决您的问题:

$objPHPExcel->getSheet(1)->setCellValue('G4', '=IF(F4>0,E4/F4,0)');
于 2013-04-11T08:21:46.670 回答