Excel数据透视表是数据分类汇总和分析的一个强大工具,它具有容易操作和灵活度高等优点,用户只需单击几下即可使用数据透视表创建一个日常的报表。此外,数据透视表的一项重要功能是能够重新排列字段项,简单的拖拉便能快速轻松更改其外观。本文将介绍如何使用Spire.XLS组件创建Excel数据透视表及设置透视表的格式。
创建一个简单的数据透视表可以分为以下几个步骤:
- 创建数据缓存(数据透视表不是直接使用工作表中的数据作为数据源,而是使用数据的缓存)
- 创建数据透视表
- 添加行字段和列字段
- 添加值字段
- 设置样式
C#
//加载Excel文档
Workbook workbook = new Workbook();
workbook.LoadFromFile(@"产品销售统计表.xlsx");
//获取第一个工作表
Worksheet sheet = workbook.Worksheets[0];
//为需要汇总和分析的数据创建缓存
CellRange dataRange = sheet.Range["A1:D10"];
PivotCache cache = workbook.PivotCaches.Add(dataRange);
//使用缓存创建数据透视表,并指定透视表的名称以及在工作表中的位置
PivotTable pivotTable = sheet.PivotTables.Add("PivotTable", sheet.Range["F1"], cache);
//添加行字段
var r1 = pivotTable.PivotFields["日期"];
r1.Axis = AxisTypes.Row;
var r2 = pivotTable.PivotFields["售货员"];
r2.Axis = AxisTypes.Row;
//设置行字段的标题
pivotTable.Options.RowHeaderCaption = "日期";
//添加列字段
var col1 = pivotTable.PivotFields["产品"];
col1.Axis = AxisTypes.Column;
//设置列字段的标题
pivotTable.Options.ColumnHeaderCaption = "产品";
//添加值字段
pivotTable.DataFields.Add(pivotTable.PivotFields["销量"], "求和项:销量", SubtotalTypes.Sum);
//设置透视表的样式(Spire.XLS共支持80余种Excel内置的数据透视表样式)
pivotTable.BuiltInStyle = PivotBuiltInStyles.PivotStyleDark11;
//保存文档
workbook.SaveToFile("数据透视表.xlsx", ExcelVersion.Version2013);
VB.NET
'加载Excel文档
Dim workbook As New Workbook()
workbook.LoadFromFile("产品销售统计表.xlsx")
'获取第一个工作表
Dim sheet As Worksheet = workbook.Worksheets(0)
'为需要汇总和分析的数据创建缓存
Dim dataRange As CellRange = sheet.Range("A1:D10")
Dim cache As PivotCache = workbook.PivotCaches.Add(dataRange)
'使用缓存创建数据透视表,并指定透视表的名称以及在工作表中的位置
Dim pivotTable As PivotTable = sheet.PivotTables.Add("PivotTable", sheet.Range("F1"), cache)
'添加行字段
Dim r1 = pivotTable.PivotFields("日期")
r1.Axis = AxisTypes.Row
Dim r2 = pivotTable.PivotFields("售货员")
r2.Axis = AxisTypes.Row
'设置行字段的标题
pivotTable.Options.RowHeaderCaption = "日期"
'添加列字段
Dim col1 = pivotTable.PivotFields("产品")
col1.Axis = AxisTypes.Column
'设置列字段的标题
pivotTable.Options.ColumnHeaderCaption = "产品"
'添加值字段
pivotTable.DataFields.Add(pivotTable.PivotFields("销量"), "求和项:销量", SubtotalTypes.Sum)
'设置透视表的样式(Spire.XLS共支持80余种Excel内置的数据透视表样式)
pivotTable.BuiltInStyle = PivotBuiltInStyles.PivotStyleDark11
'保存文档
workbook.SaveToFile("数据透视表.xlsx", ExcelVersion.Version2013)