C#如何操作Excel数据透视表

2019-12-30 19:25:01王旭

2. 设置行折叠、展开


//创建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");

测试结果:

C#,Excel,数据透视表

3. 设置字段排序

这里支持三种不同类型的排序,可根据需要选择相应的排序类型。 

C#,Excel,数据透视表


 //创建一个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");

测试结果:

C#,Excel,数据透视表

4. 删除透视表

删除透视表可通过以下两种方法:

 根据透视表名称删除  根据透视表索引删除

//创建一个工作簿,并加载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);