ExcelVersion.Version2013);System.Diagnostics.Process.Start(

时间:2021-12-02 02:36:18

标签:

一、概述

数据透视表(Pivot Table)是一种交互式的表,可以进行某些计算,如求和与计数等,可动态地转变透视表版面安插,也可以从头布置行号、列标和页字段。当转变版面安插时,数据透视表也会凭据新的安插来进行更新,,可以说是一个成果强大的数据分析工具。因此,本篇文章将介绍在C# 中关于Excel数据透视表的操纵示例,示例内容主要包罗以下要点:

创建透视表
1.1 创建数据缓存
1.2创建数据透视表
1.3添加行字段和列字段
1.4添加值字段
1.5设置样式

设置行折叠、展开

设置字段升序、降序

删除透视表

二、筹备工具 //创建一个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 = 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.PivotStyleDark13; //生存并打开文档 workbook.SaveToFile("数据透视表.xlsx", ExcelVersion.Version2013); System.Diagnostics.Process.Start("数据透视表.xlsx");

测试效果:

ExcelVersion.Version2013);System.Diagnostics.Process.Start(

2. 设置行折叠、展开

C#

//创建Workbook类东西,加载Excel文档 Workbook workbook = new Workbook(); workbook.LoadFromFile("数据透视表.xlsx"); //获取数据透视表 XlsPivotTable pivotTable = workbook.Worksheets[0].PivotTables[0] as XlsPivotTable; //计算数据 pivotTable.CalculateData(); //展开”月份”字段下“2”的详细信息 (pivotTable.PivotFields["月份"] as Spire.Xls.Core.Spreadsheet.PivotTables.XlsPivotField).HideItemDetail("2", false); //折叠”月份”字段下“3”的详细信息 (pivotTable.PivotFields["月份"] as Spire.Xls.Core.Spreadsheet.PivotTables.XlsPivotField).HideItemDetail("3", true); //生存并打开文档 workbook.SaveToFile("折叠、展开行.xlsx", ExcelVersion.Version2013); System.Diagnostics.Process.Start("折叠、展开行.xlsx");

测试功效:

ExcelVersion.Version2013);System.Diagnostics.Process.Start(

3. 设置字段排序

这里撑持三种差别类型的排序,可按照需要选择相应的排序类型。

ExcelVersion.Version2013);System.Diagnostics.Process.Start(


C# //创建一个Workbook类东西,并加载Excel文档 Workbook workbook = new Workbook(); workbook.LoadFromFile("数据透视表.xlsx"); //获取数据透视表 Spire.Xls.Core.Spreadsheet.PivotTables.XlsPivotTable pivotTable = workbook.Worksheets[0].PivotTables[0] as Spire.Xls.Core.Spreadsheet.PivotTables.XlsPivotTable; //对指定字段进行升序排序 pivotTable.PivotFields[2].SortType = PivotFieldSortType.Ascending; //生存并打开文档 workbook.SaveToFile("升序.xlsx", ExcelVersion.Version2013); System.Diagnostics.Process.Start("升序.xlsx");

测试功效:

ExcelVersion.Version2013);System.Diagnostics.Process.Start(

4. 删除透视表

删除透视表可通过以下两种要领:
1)按照透视表名称删除
2)按照透视表索引删除

C#

//创建一个事情簿,并加载Excel文档 Workbook workbook = new Workbook(); workbook.LoadFromFile("数据透视表.xlsx"); //删除第一张事情表上名称为“PivotTable”的数据透视表 workbook.Worksheets[0].PivotTables.Remove("PivotTable"); //删除第一张事情表上索引为0即第一个数据透视表 //workbook.Worksheets[0].PivotTables.RemoveAt(0); //生存文档 workbook.SaveToFile("删除数据透视表.xlsx", ExcelVersion.Version2013);