我在Php 5.5上使用PhpExcel 1.8.0
在计算方面,我试图让phpexcel得到一大堆繁重的工作。我正在生成一个包含命名范围的工作表,该范围跨越单个列但多行(RANGE_1 = A2:A6,RANGE_2 = B2:B6)。 然后我有另一组细胞(C2:C6),其中每个细胞中的公式为RANGE_1 + RANGE_2。 在Excel中加载生成的文件时,它会根据每行中的内容正确计算C列中的值。这太棒了。
但是,当我得到(C2)的计算值时,它返回0而不是(A2 + B2)的预期结果。有没有什么我显然并且明显做错了,或者我是否需要将公式中的命名范围转换为实际的单元格引用(因为它工作得非常好,这将非常繁琐)。
我很感激你的帮助。
答案 0 :(得分:1)
在MS Excel中,C2:C6中的公式为range formula
,通常描述为
{=(RANGE_1+RANGE_2)}
公式栏中的(带括号);并使用shift-ctrl-enter
而非简单enter
命名范围可用于通用公式,例如
=SUM(RANGE_1)
但PHPExcel目前不支持范围公式,无论是使用命名范围还是直接输入范围
实现你想要做的事情的唯一方法是在C2到C6的每个单元格中使用不同的公式,例如:
=SUM(A2,B2)
虽然我目前正在为下一个主要版本的PHPExcel重新编写计算引擎以支持范围公式,但它将不会作为生产版本提供,直到明年下半年< / p>