加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

C# 操作Excel数据透视表

发布时间:2020-12-16 01:09:54 所属栏目:百科 来源:网络整理
导读:一、概述 数据透视表(Pivot Table)是一种交互式的表,可以进行某些计算,如求和与计数等,可动态地改变透视表版面布置,也可以重新安排行号、列标和页字段。当改变版面布置时,数据透视表也会按照新的布置来进行更新,可以说是一个功能强大的数据分析工具

一、概述

数据透视表(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(数据透视表.xlsx");

测试结果:

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数据透视表的示例操作”的全部内容,欢迎转载(转载请注明出处)

感谢阅读!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读