PHP Excel 在单击启用编辑之前为公式单元格提供空白输出

标签 php excel phpexcel

我正在使用 phpexcel 创建一个 xlsx 文件。我在文件中有很多公式。下载文件后,某些公式单元格(并非全部)显示为空白,直到我单击“启用编辑”选项。

我正在使用以下代码:

$objPHPExcel = new PHPExcel();
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="'.$xlsName.'"');
header('Cache-Control: max-age=0');
$objWriter->save('php://output');

这里的问题发生在使用没有启用编辑选项的早期 Office 版本的用户身上。对他们来说,这些单元格显示为空白。

最佳答案

我在其他地方看到了这个答案。如果其他人正在寻找答案。

$spreadsheet = new \PHPExcel();
$writer = new \PHPExcel_Writer_Excel2007($spreadsheet);

//Do things with the $spreadsheet

//This is the solution, do it before saving
$writer->setPreCalculateFormulas(); 
$writer->save($saving_filepath);

关于PHP Excel 在单击启用编辑之前为公式单元格提供空白输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33338593/

相关文章:

r - 计算R中多列数据的总和、均值和方差

未从单个单元格中删除 PHPExcel 空格

php - 在PhpExcel中获取单元格背景色

php - Google Visualization Column Chart - 如何将标签设为货币

javascript - 如何创建 JS 切换(向上/向下)标题?

php - 带点和字母数字的自然排序

arrays - 使用字符串数组作为子字符串参数的 VBA InStr 函数 (Excel)

php - 如何在 PHP 中向多维数组添加元素?

excel - 在 2 个子程序之间传递值时出错

codeigniter - 如何在 CODEIGNITER 中使用 phpExcel 将 mysql 表导出到 csv 或 excel 文件