gpt4 book ai didi

phpexcel - 更改输入值但不更改 PhpExcel 中的结果

转载 作者:行者123 更新时间:2023-12-02 19:47:05 24 4
gpt4 key购买 nike

我在使用 PHPExcel 时遇到以下问题

function Test($a, $b) {

// Create a new PHPExcel object with a single sheet
$objPHPExcel = new PHPExcel();
$activeSheet = $objPHPExcel->getActiveSheet();

$activeSheet->SetCellValue('B2',$a);
$activeSheet->SetCellValue('B3',$b);
$activeSheet->SetCellValue('C4',"=B2+B3");
$C4 = $activeSheet ->getCell('C4')->getCalculatedValue();

echo "C4:$C4<br/>";
}

最后,我调用这个函数

Test(10, 20);
Test(40, 70);
Test(30, 80);

但是,结果是

C4:30
C4:30
C4:30

为什么getCalculatedValue()不改变结果?看来这个函数只获取第一个值。

最佳答案

您可以更改结果,但出于性能原因,计算引擎会在计算公式计算结果后对其进行缓存。如果您想更改基础数据,则必须在再次请求计算值之前刷新该缓存:

PHPExcel_Calculation::getInstance()->clearCalculationCache();

PHPExcel_Calculation::flushInstance();

您还可以更改此默认行为 - 以便在向计算引擎发出任何其他请求之前根本不缓存结果:

PHPExcel_Calculation::getInstance()->setCalculationCacheEnabled(FALSE);

关于phpexcel - 更改输入值但不更改 PhpExcel 中的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9603400/

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