我正在使用PHPExcel_v1_8,我已经为一些单元格实现了公式,如下所示。
$objPHPExcel->getActiveSheet()->SetCellValue('G4','=SUBTOTAL(2,B6:B'.$row.')');
$objPHPExcel->getActiveSheet()->SetCellValue('H4','=ROUND(SUBTOTAL(9,Q6:Q'.$row.'),2)');
我也尝试了
$objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow(6,4,'=SUBTOTAL(2,B6:B'.$row.')');
这里$ row表示总行数。
但是当我过滤任何列时,它会追加/覆盖公式应用单元格的值。请参阅以下过滤的总行。
我只希望在过滤总行中的最新值意味着要替换现有值。现在,我得到了正确的价值,但为什么它被压倒了?有什么建议可以解决方案吗?
答案 0 :(得分:0)
你真的发现了一个真正的错误。 当我在PHPExcel中实现SUBTOTAL逻辑时,我不知道它只对可见行有效,并忽略了隐藏的行。你能否在github repo
上提出问题但是,通过MS Excel docs读取SUBTOTAL,2
或9
的函数将返回范围内所有行(隐藏或其他)的结果{{1} }或102
将仅返回可见行的结果