gpt4 book ai didi

PHPExcel - 公式中的错误循环引用

转载 作者:行者123 更新时间:2023-12-02 07:05:04 26 4
gpt4 key购买 nike

我不断收到此错误“公式中的循环引用”。

当我尝试下载我的 excel 文件时。

现在当我从我的文件中删除公式中的“=”时

$this->exportObj->setActiveSheetIndex(0)
->setCellValue(strtoupper($this->abc[$currentColumn]).$currentLine, (str_replace("=", "", $column)) );

我可以下载文件,但formala当然行不通..

这是我的 excel 文件: http://www.2shared.com/document/SPtnvq6e/excel.html

我的公式有什么问题?我看不到我做错了什么..

最佳答案

循环公式类似于(例如)单元格 A1 包含公式 =B1+1 而单元格 B1 包含 =A1+1,即。执行公式会导致一连串计算循环回自身。

这在 Excel 中可能有效,但默认行为是在遇到错误消息时生成错误消息。但是,您可以更改此行为,以便 Excel 将通过指定数量的循环或迭代来处理公式。

PHPExcel 支持这两种行为:默认是生成错误消息,就像 Excel 一样。但是,如果将计算引擎的 $cyclicFormulaCount 属性设置为大于 0 的值,它将模拟 Excel 可以表现出的第二种行为。在最简单的层面上:

PHPExcel_Calculation::getInstance()->cyclicFormulaCount = 1;

将抑制循环错误并允许执行基本的循环计算,将 $cyclicFormulaCount 设置为更高的值将允许通过多个循环或迭代计算公式(到您指定的值)。

getOldCalculatedValue() 方法检索最后一次由 MS Excel 本身执行的计算结果。这可能是正确的,但不能保证(例如:如果 Excel 本身已禁止公式计算)。

或者,您可以在保存文件之前阻止 PHPExcel 计算公式:

$objWriter->setPreCalculateFormulas(FALSE);

编辑

从 1.7.9 版本开始修改了计算引擎,每个工作簿文件都有一个计算引擎实例,因此需要指明需要为哪个实例设置 cyclicFormulaCount。

而不是

PHPExcel_Calculation::getInstance()->cyclicFormulaCount = 1;

你会使用

PHPExcel_Calculation::getInstance($objPHPExcel)->cyclicFormulaCount = 1;

关于PHPExcel - 公式中的错误循环引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13786887/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com