PHPExcel生成的excel文件不自动计算公式

Posted

技术标签:

【中文标题】PHPExcel生成的excel文件不自动计算公式【英文标题】:PHPExcel generated excel file not auto-calculating formula 【发布时间】:2018-04-17 01:46:36 【问题描述】:

问题

我们的网络应用程序使用 phpExcel 库生成 Excel 电子表格。 通常我们可以打开 Excel 文件,选择“启用编辑”,然后它会自动计算工作表上的公式。但是本月(2018 年 4 月),我收到报告称工作表不再自动计算。

我需要找到一个解决方案,让这些工作表在打开文件时再次自动计算。

我尝试过的解决方案

我检查了“公式”>“计算选项”下的设置,它始终设置为“自动”。

手动解决方案

我可以通过使用公式单击每个单元格并按 Enter 或使用 CTRL ALT F9 来强制工作表进行计算。

附加说明

    用户正在使用 Office 365 Excel。 LibreOffice Calc 中未出现该问题

【问题讨论】:

【参考方案1】:

虽然不会是解决方案,但在服务器端重新计算可能会得到一定程度的改善。

$writer     = PHPExcel_IOFactory::createWriter($excel, self::EXCEL_TYPE);
$writer->setPreCalculateFormulas();
$writer->save($tempfile);

【讨论】:

【参考方案2】:

后端是否有禁用自动计算的代码? 尝试添加这个 VBA 脚本:

Private Sub Workbook_Open()

Application.Calculation = xlCalculationAutomatic

结束子

这将在打开工作簿时强制进行自动计算。

【讨论】:

以上是关于PHPExcel生成的excel文件不自动计算公式的主要内容,如果未能解决你的问题,请参考以下文章

PHP 使用 PHPExcel 库生成 Excel 文件

PHPExcel读取excel文件示例

怎么在excel里设置逻辑公式,让填入的数值,自动生成

PHPExcel - 生成 Excel 报告期间的数据填充不正确

PHPExcel生成Excel文件---提示Class 'PHPExcel_Style_Alignment' not found

excel中如何自动生成散点图并进行线性拟合,然后用拟合出来的公式计算另外的值?