为什么PHPExcel输出公式是公式本身而不计算后的值。
$objPHPExcel->getActiveSheet(0)->setCellValue('N14','=SUM(D14:E14)');
单元格 N14 我试了一下先有确定的值再写公式也不行。
PHPExcel输出公式而不是计算后的值,可能是因为PHPExcel默认情况下不会自动计算公式的值。您需要手动调用PHPExcel_Calculation类的getInstance()方法获取计算实例,然后设置自动计算公式的选项,以便PHPExcel在输出Excel文件时自动计算公式的值。以下是示例代码:
// 获取PHPExcel_Calculation实例并设置自动计算公式
PHPExcel_Calculation::getInstance()->setCalculationEngine(new PHPExcel_Calculation_ExplicitCalculation());
PHPExcel_Calculation::getInstance()->setPreCalculateFormulas(true);
// 创建PHPExcel对象
$objPHPExcel = new PHPExcel();
// 设置ActiveSheet等属性
// ...
// 设置公式
$objPHPExcel->getActiveSheet()->setCellValue('A1', '=SUM(B1:C1)');
// 输出Excel文件
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
$objWriter->save('output.xlsx');
在上述示例代码中,我们使用PHPExcel_Calculation类的getInstance()方法获取计算实例,并设置自动计算公式的选项。然后,我们创建PHPExcel对象,并在其中设置公式。最后,我们使用PHPExcel_IOFactory类的createWriter()方法将PHPExcel对象输出为Excel文件。输出Excel文件时,PHPExcel会自动计算公式的值,并将结果写入Excel文件中。
如果答案对您有所帮助,望采纳。