Excel中公式在报表,特别是财务报表和统计报表中用处很大,简化了使用者进行各种复杂和繁琐的统计。公式在Excel中应用大的不说,我们先说下下面这个简单的
价格统计,如图:
做了一个简单水果日常开销的统计,从该表中不难看出,其中单元格D2、D3、D4、D5和D7都使用了公式,对每种水果的单价和总价进行了统计。以苹果为类,单价为5.5,重量3,那苹果总价为5.5*3=16.5。前面例子已经讲述了如何在单元格中赋值,那如何在单元格中用公式呢,我们先看下Excel中的用法。
一、微软Excel单元格用公式
1.首先输入每种水果的单价和重量。
2.统计每种水果的统计
如要统计每种水果价格,那就应该用单价*重量。以香蕉为类,在单元格D2中输入=B2*C2,其中B2单元格代表香蕉的单价,C2单元格代表香蕉的重量,=B2*C2代表单价*重量,价格就是香蕉的总价。要注意的是:想对单元格用公式,必须要在前面加"=",如不加"=",就会被当文本,那就无法进行统计。
3.统计总价
把每种水果价格进行累加,就是总价。在单元格D7中我们使用的公式是:=SUM(D2:D5),你也可以使用=SUM(D2,D3,D4,D5),如果区域连续,显然用 =SUM(D2:D5)更简洁些,如果遇到要统计的单元格不连续,那=SUM(D2,D3,D4,D5)就能解决这样的问题。
二、用Acey.ExcelX实现的效果
/// <summary>
/// 下面例子展示公式的用法。
/// </summary>
public void Sample()
{
//创建工作薄。
IWorkbook workbook = ExcelxApplication.CreateWorkbook();
//获取指定索引的工作表。
IWorksheet worksheet = workbook.Worksheets[0];
//创建DataTable。
DataTable table = new DataTable();
table.Columns.Add("水果名称");
table.Columns.Add("单价", typeof(double));
table.Columns.Add("重量", typeof(double));
table.Columns.Add("价格", typeof(double));
table.Rows.Add(new object[] { "香蕉", 3.5, 2 });
table.Rows.Add(new object[] { "苹果", 5.5, 3 });
table.Rows.Add(new object[] { "西瓜", 6, 5.5 });
table.Rows.Add(new object[] { "橘子", 4, 3 });
//将DataTable数据导入到工作表指定的开始位置。
worksheet.ImportDataTable(table, true, "A1");
//获取指定名称的单元格对象。
ICell cell = worksheet.Cells["A7"];
//设置单元格值。
cell.Value = "统计总价";
//获取指定名称的单元格对象。
cell = worksheet.Cells["D2"];
//设置单元格公式。
cell.Formula = "=B2*C2";
//获取指定名称的单元格对象。
cell = worksheet.Cells["D3"];
//设置单元格公式。
cell.Formula = "=B3*C3";
//获取指定名称的单元格对象。
cell = worksheet.Cells["D4"];
//设置单元格公式。
cell.Formula = "=B4*C4";
//获取指定名称的单元格对象。
cell = worksheet.Cells["D5"];
//设置单元格公式。
cell.Formula = "=B5*C5";
//获取指定名称的单元格对象。
cell = worksheet.Cells["D7"];
//设置单元格公式。
cell.Formula = "=SUM(D2:D5)";
//保存该工作薄为指定类型。
string xlsFile = @"d:\Formula.xls";
workbook.SaveAs(xlsFile, FileFormat.Excel97To2003);
}
1.首先输入每种水果的单价和重量。这里使用创建DataTable并初始化数据,将该DataTable的数据导入到工作表中指定位置,简化了重复在Cell中赋值的操作。
2.统计每种水果单价:
其中cell = worksheet.Cells["D2"]; cell.Formula = "=B2*C2";表明单元格D2设置公式,对香蕉价格进行统计。
其中cell = worksheet.Cells["D3"];cell.Formula = "=B3*C3";表明单元格D3设置公式,对苹果价格进行统计。
其中cell = worksheet.Cells["D4"];cell.Formula = "=B4*C4";表明单元格D4设置公式,对西瓜价格进行统计。
其中cell = worksheet.Cells["D5"];cell.Formula = "=B5*C5";表明单元格D4设置公式,对橘子价格进行统计。
cell.Formula = "=SUM(D2:D5)";对每种水果价格进行累加。也可以使用=SUM(D2,D3,D4,D5)。
目前Acey.ExcelX已经支持基本场景中的公式,如下所示:
ABS, ACOS, ADDRESS, AND, ASIN, ATAN, AVEDEV, AVERAGE,
AVERAGEA, CEILING, CHOOSE, COLUMN, COLUMNS, COS, COSH, COUNT,
COUNTA, COUNTBLANK, DAY, FALSE, OUR,IF, ISBLANK, ISERR, ISERROR,
ISLOGICAL, ISNA, ISNONTEXT, ISNUMBER, ISREF, ISTEXT, MAX,
MAXA, MEDIAN, MIN, MINA, MINUTE, MONTH, NA, NOT,
NOW, OR, PI, POWER, ROUND, ROW, ROWS, SECOND, SIGN,
SIN, SINH, SQRT, SUM, SUMIF, SUMSQ, SUMPRODUCT, TAN,
TANH, TIME, TODAY, TRUE, TYPE, YEAR。
对公式的支持格式有如下:
以SUM为类:=SUM(1,2), =SUM(A1), =SUM(A1:A5), =SUM(A1,A2,A3,A4,A5), =SUM(A1,B1,C3), =SUM({1,2,3})
三、总结
无需安装微软Excel,用代码也能很轻松实现在报表中应用公式进行各种统计。
更多软件使用帮助请查看安装目录中的帮助文件: Acey.ExcelX for .NET.chm
更多应用示例请访问官方博客:http://www.cnblogs.com/happyfish78/
更多信息请访问Aceyoffice网站:http://www.aceyoffice.com/