在使用PHPSpreadsheet保存文件后,如果计算功能无法正常工作,可能是由于保存文件时未手动计算公式所致。为解决此问题,您可以使用以下代码示例来手动计算公式:
use PhpOffice\PhpSpreadsheet\IOFactory;
// 加载文件
$spreadsheet = IOFactory::load('path/to/your/excel/file.xlsx');
// 获取活动工作表
$worksheet = $spreadsheet->getActiveSheet();
// 手动计算公式
$worksheet->calculateAll();
// 保存文件
$writer = IOFactory::createWriter($spreadsheet, 'Xlsx');
$writer->save('path/to/save/your/excel/file.xlsx');
通过使用$worksheet->calculateAll()
方法,我们可以手动计算所有的公式,然后再保存文件。这样,当您打开保存后的文件时,计算功能应该就可以正常工作了。请确保在保存文件之前手动计算公式。
另外,如果您使用的是旧版本的PHPSpreadsheet(例如v1.0.0),请考虑升级到最新版本,因为一些计算问题已在新版本中得到修复。