数据透视表是一种交互式的表,可以进行某些计算,如统计总数,求平均值等,也可以改变它们的版面布置,有时根据所需为了使表格的数据透明化,我们需要展开或折叠明细数据。本文将详细介绍如何使用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)
效果图: