新聞中心
這里有您想知道的互聯網營銷解決方案
C#操作Excel數據透視表-創(chuàng)新互聯
一、概述
數據透視表(Pivot Table)是一種交互式的表,可以進行某些計算,如求和與計數等,可動態(tài)地改變透視表版面布置,也可以重新安排行號、列標和頁字段。當改變版面布置時,數據透視表也會按照新的布置來進行更新,可以說是一個功能強大的數據分析工具。因此,本篇文章將介紹在C# 中關于Excel數據透視表的操作示例,示例內容主要包含以下要點:
- 創(chuàng)建透視表
1.1 創(chuàng)建數據緩存
1.2創(chuàng)建數據透視表
1.3添加行字段和列字段
1.4添加值字段
1.5設置樣式 - 設置行折疊、展開
- 設置字段升序、降序
- 刪除透視表
二、準備工具
- Spire.XLS for .NET(可支持80余種Excel內置的數據透視表樣式)
PS:安裝后,注意在項目中引用Spire.XLS.dll再進行代碼操作,dll文件在安裝路徑下的Bin文件夾中獲取。三、示例操作
1.創(chuàng)建透視表
C#
//創(chuàng)建一個Workbook類實例,并加載Excel文檔
Workbook workbook = new Workbook();
workbook.LoadFromFile("test.xlsx");
//獲取第一個工作表
Worksheet sheet = workbook.Worksheets[0];
//為需要匯總和分析的數據創(chuàng)建緩存
CellRange dataRange = sheet.Range["A1:D10"];
PivotCache cache = workbook.PivotCaches.Add(dataRange);
//使用緩存創(chuàng)建數據透視表,并指定透視表的名稱以及在工作表中的位置
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");
測試效果:
2. 設置行折疊、展開
C#
//創(chuàng)建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");
測試結果:
3. 設置字段排序
這里支持三種不同類型的排序,可根據需要選擇相應的排序類型。
C#
//創(chuàng)建一個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");
測試結果:
4. 刪除透視表
刪除透視表可通過以下兩種方法:
1)根據透視表名稱刪除
2)根據透視表索引刪除
C#
//創(chuàng)建一個工作簿,并加載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);
測試結果:
以上內容為本次關于“Excel數據透視表的示例操作”的全部內容,歡迎轉載(轉載請注明出處)
感謝閱讀!
創(chuàng)新互聯www.cdcxhl.cn,專業(yè)提供香港、美國云服務器,動態(tài)BGP最優(yōu)骨干路由自動選擇,持續(xù)穩(wěn)定高效的網絡助力業(yè)務部署。公司持有工信部辦法的idc、isp許可證, 機房獨有T級流量清洗系統(tǒng)配攻擊溯源,準確進行流量調度,確保服務器高可用性。佳節(jié)活動現已開啟,新人活動云服務器買多久送多久。
本文標題:C#操作Excel數據透視表-創(chuàng)新互聯
分享路徑:http://www.dlmjj.cn/article/dpcehs.html