一、概述
数据透视表(Pivot Table)是一种交互式的表,可以进行某些计算,如求和与计数等,可动态地改变透视表版面布置,也可以重新安排行号、列标和页字段。当改变版面布置时,数据透视表也会按照新的布置来进行更新,可以说是一个功能强大的数据分析工具。因此,本篇文章将介绍在C# 中关于Excel数据透视表的操作示例,示例内容主要包含以下要点:
1. 创建透视表
(1)创建数据缓存
(2)创建数据透视表
(3)添加行字段和列字段
(4)添加值字段
(5)设置样式
2. 设置行折叠、展开
3. 设置字段升序、降序
4. 删除透视表
二、准备工具
- Spire.XLS for .NET (可支持80余种Excel内置的数据透视表样式)
PS:安装后,注意在项目中引用Spire.XLS.dll再进行代码操作,dll文件在安装路径下的Bin文件夹中获取。
三、示例操作
1.创建透视表
C#
//创建一个Workbook类实例,并加载Excel文档 Workbook workbook = new Workbook(); workbook.LoadFromFile("test.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[A12],cache); 添加行字段 var r1 = pivottable.PivotFields[月份]; r1.Axis = AxisTypes.Row; var r2 = pivottable.PivotFields[厂商]; r2.Axis =设置行字段的标题 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.PivotStyleDark13; 保存并打开文档 workbook.SavetoFile(数据透视表.xlsxstem.Diagnostics.Process.Start(");
测试结果:
2. 设置行折叠、展开
C#
创建Workbook类对象,加载Excel文档 Workbook workbook = 获取数据透视表 XlsPivottable pivottable = workbook.Worksheets[0].Pivottables[0] as XlsPivottable; 计算数据 pivottable.CalculateData(); 展开”月份”字段下“2”的详细信息 (pivottable.PivotFields["] as Spire.Xls.Core.Spreadsheet.Pivottables.XlsPivotField).HideItemDetail(2false); 折叠”月份”字段下“3”的详细信息 (pivottable.PivotFields[3true保存并打开文档 workbook.SavetoFile(折叠、展开行.xlsx");
测试结果:
3. 设置字段排序
这里支持三种不同类型的排序,可根据需要选择相应的排序类型。
C#
创建一个Workbook类对象,并加载Excel文档 Workbook workbook = 获取数据透视表 Spire.Xls.Core.Spreadsheet.Pivottables.XlsPivottable pivottable = workbook.Worksheets[ Spire.Xls.Core.Spreadsheet.Pivottables.XlsPivottable; 对指定字段进行升序排序 pivottable.PivotFields[2].sortType = PivotFieldSortType.Ascending; 升序.xlsx");
测试结果:
4. 删除透视表
创建一个工作簿,并加载Excel文档 Workbook workbook = 删除第一张工作表上名称为“Pivottable”的数据透视表 workbook.Worksheets[0].Pivottables.Remove(删除第一张工作表上索引为0即第一个数据透视表 workbook.Worksheets[0].Pivottables.RemoveAt(0); 保存文档 workbook.SavetoFile(删除数据透视表.xlsx![]()
以上内容为本次关于“Excel数据透视表的示例操作”的全部内容,欢迎转载(转载请注明出处)
感谢阅读!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。