在PHPExcel上使用公式发布(Excel2007)

在PHPExcel上使用公式发布(Excel2007),php,phpexcel,xlsx,Php,Phpexcel,Xlsx,当我尝试使用公式设置单元格的值时,例如:setCellValue('C1','=A1+B1'),生成的文件没有单元格的计算值 我有以下脚本: <?php require_once '../vendor/autoload.php'; date_default_timezone_set('America/Sao_Paulo'); $objPHPExcel = new PHPExcel(); $objPHPExcel->setActiveSheetIndex(0); $objPHPE

当我尝试使用公式设置单元格的值时,例如:setCellValue('C1','=A1+B1'),生成的文件没有单元格的计算值

我有以下脚本:

<?php

require_once '../vendor/autoload.php';
date_default_timezone_set('America/Sao_Paulo');

$objPHPExcel = new PHPExcel();

$objPHPExcel->setActiveSheetIndex(0);
$objPHPExcel->getActiveSheet()->setCellValue('A1', 5)
    ->setCellValue('B1', 10)
    ->setCellValue('C1', '=A1+B1');
echo $objPHPExcel->getActiveSheet()->getCell('C1')->getCalculatedValue() . PHP_EOL;

$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
$objWriter->save('a.xlsx');

我对LibreOffice 5.0.5.2也有同样的问题

在LibreOffice Calc中更改以下选项对我有效:

  • 转到工具/选项…/LibreOffice Calc/Formula
  • 在“文件加载时重新计算”、“Excel 2007及更新版本”部分中,将值更改为“始终重新计算”
发现

什么版本的LibreOffice?LibreOffice 4.2.4.2 420(内部版本:2)这可能需要PHPExcel的补丁。。。。我知道它在LibreOffice的某些版本中工作正常,但我需要做一些测试。。。。可能需要几天时间我试着在Office 2013开业。单击“启用编辑”按钮后,它将计算单元格C1。我原以为问题出在我使用PHPExcel的方式上,但正如你所说,这可能与LibreOffice有关。我对LibreOffice 4.2.8.2也有同样的问题。你找到解决这个问题的办法了吗?使用Excel 2010打开的同一个XLSX文件可以正常工作。。。