PHPExcel:文档在受保护的视图中打开,公式为零

Már*_*Rak 3 phpexcel

我正在生成一些包含大量工作表和公式的复杂Excel文件.这些公式引用其他工作表.但我有两个相似的工作表,他们有相同的"模板",只是不同的值和公式引用不同的单元格.

在Excel中生成并打开文件时,它会在受保护的视图中打开,并且第一个提到的工作表中的某些公式不会被计算并且为零.在第二个工作表中一切正常.当我点击"编辑无论如何"时,值得到计算,一切正常.

我找不到两个几乎相同的纸张表现不同的原因以及为什么=SUM()即使从互联网下载文件也无法计算简单的公式.什么可能导致这种行为?我不会发布代码,因为它长达数百行,我使用包装类,但它只是将值写入单元格.

我试过这个技巧:

PHPExcel_Calculation::getInstance($objPHPExcel)->clearCalculationCache();
PHPExcel_Calculation::getInstance()->clearCalculationCache();
$objWriter->setPreCalculateFormulas(false);
Run Code Online (Sandbox Code Playgroud)

但它们都不起作用.

感谢每一个提示可能是由此造成的.

ami*_*mik 5

我刚遇到同样的问题.正确的解决方案是:

$objWriter->setPreCalculateFormulas(TRUE);
Run Code Online (Sandbox Code Playgroud)

问题是由PHPExcel_Writer_Excel2007和其他编写器引起的,默认情况下将preCalculateFormulas值设置为FALSE.