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文件不自动计算公式的主要内容,如果未能解决你的问题,请参考以下文章
PHPExcel - 生成 Excel 报告期间的数据填充不正确
PHPExcel生成Excel文件---提示Class 'PHPExcel_Style_Alignment' not found