数据透视表是一种交互式的表,可以进行某些计算,如统计总数,求平均值等,也可以改变它们的版面布置,有时根据所需为了使表格的数据透明化,我们需要展开或折叠明细数据。本文将详细介绍如何使用Spire.Xls展开或折叠数据透视表的行。
C#
//创建Workbook实例
Workbook book = new Workbook();
//加载一个有数据透视表的Excel文档
book.LoadFromFile("Sample.xlsx");
//获取工作表
Worksheet sheet = book.Worksheets["Pivot Table"];
//获取透视表
Spire.Xls.Core.Spreadsheet.PivotTables.XlsPivotTable pivotTable = sheet.PivotTables[0] as
Spire.Xls.Core.Spreadsheet.PivotTables.XlsPivotTable;
//计算数据
pivotTable.CalculateData();
//折叠行
(pivotTable.PivotFields["商品编号"] as
Spire.Xls.Core.Spreadsheet.PivotTables.XlsPivotField).HideItemDetail("A", true);
//展开行
(pivotTable.PivotFields["商品编号"] as
Spire.Xls.Core.Spreadsheet.PivotTables.XlsPivotField).HideItemDetail("B", false);
//保存文档
book.SaveToFile("Result.xlsx", ExcelVersion.Version2013);
VB.NET
'创建Workbook实例
Dim book As New Workbook()
'加载一个有数据透视表的Excel文档
book.LoadFromFile("Sample.xlsx")
'获取工作表
Dim sheet As Worksheet = book.Worksheets("Pivot Table")
'获取透视表
Dim pivotTable As Spire.Xls.Core.Spreadsheet.PivotTables.XlsPivotTable = TryCast(sheet.PivotTables(0), Spire.Xls.Core.Spreadsheet.PivotTables.XlsPivotTable)
'计算数据
pivotTable.CalculateData()
'折叠行
TryCast(pivotTable.PivotFields("商品编号"), Spire.Xls.Core.Spreadsheet.PivotTables.XlsPivotField).HideItemDetail("A", True)
'展开行
TryCast(pivotTable.PivotFields("商品编号"), Spire.Xls.Core.Spreadsheet.PivotTables.XlsPivotField).HideItemDetail("B", False)
'保存文档
book.SaveToFile("Result.xlsx", ExcelVersion.Version2013)
效果图: