这节我们开始学习Excel中最常用的函数—Sum求和函数。
首先,我们先看一上最简单的Sum函数:Sum(num1,num2,...)。使用效果如图
图中的E1=Sum(A1,C1)表示将A1与C1的和填充在E1处,与公式”E1=A1+C1”等效。对应的生成代码与上一节中的基本计算公式类似:
HSSFSheet sheet1
=
hssfworkbook.CreateSheet(
"
Sheet1
"
);
HSSFRow row1 = sheet1.CreateRow( 0 );
HSSFCell cel1 = row1.CreateCell( 0 );
HSSFCell cel2 = row1.CreateCell( 1 );
HSSFCell cel3 = row1.CreateCell( 2 );
HSSFCell celSum1 = row1.CreateCell( 3 );
HSSFCell celSum2 = row1.CreateCell( 4 );
HSSFCell celSum3 = row1.CreateCell( 5 );
cel1.SetCellValue( 1 );
cel2.SetCellValue( 2 );
cel3.SetCellValue( 3 );
celSum2.SetCellFormula( " sum(A1,C1) " );
HSSFRow row1 = sheet1.CreateRow( 0 );
HSSFCell cel1 = row1.CreateCell( 0 );
HSSFCell cel2 = row1.CreateCell( 1 );
HSSFCell cel3 = row1.CreateCell( 2 );
HSSFCell celSum1 = row1.CreateCell( 3 );
HSSFCell celSum2 = row1.CreateCell( 4 );
HSSFCell celSum3 = row1.CreateCell( 5 );
cel1.SetCellValue( 1 );
cel2.SetCellValue( 2 );
cel3.SetCellValue( 3 );
celSum2.SetCellFormula( " sum(A1,C1) " );
当然,把每一个单元格作为Sum函数的参数很容易理解,但如果要求和的单元格很多,那么公式就会很长,既不方便阅读也不方便书写。所以Excel提供了另外一种多个单元格求和的写法:
如上图中的“Sum(A1:C1)”表示求从A1到C1所有单元格的和,相当于A1+B1+C1。
对应的代码为:
celSum1.SetCellFormula(
"
sum(A1:C1)
"
);
最后,还有一种求和的方法。就是先定义一个区域,如”range1”,然后再设置Sum(range1),此时将计算区域中所有单元格的和。
定义区域的代码为:
HSSFName range
=
hssfworkbook.CreateName();
range.Reference = " Sheet1!$A1:$C1 " ;
range.NameName = " range1 " ;
range.Reference = " Sheet1!$A1:$C1 " ;
range.NameName = " range1 " ;
执行此代码后的Excel文件将在的公式菜单下的名称管理器(Excel2007的菜单路径,2003稍有不同)中看到如下区域定义:
给单元格F1加上公式:
celSum3.SetCellFormula(
"
sum(range1)
"
);
生成的Excel如下图所示: