您好,登錄后才能下訂單哦!
這篇文章主要介紹了C#怎么操作Excel數據透視表,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
一、概述
數據透視表(Pivot Table)是一種交互式的表,可以進行某些計算,如求和與計數等,可動態地改變透視表版面布置,也可以重新安排行號、列標和頁字段。當改變版面布置時,數據透視表也會按照新的布置來進行更新,可以說是一個功能強大的數據分析工具。因此,本篇文章將介紹在C# 中關于Excel數據透視表的操作示例,示例內容主要包含以下要點:
1. 創建透視表
(1)創建數據緩存
(2)創建數據透視表
(3)添加行字段和列字段
(4)添加值字段
(5)設置樣式
2. 設置行折疊、展開
3. 設置字段升序、降序
4. 刪除透視表
二、準備工具
Spire.XLS for .NET (可支持80余種Excel內置的數據透視表樣式)
PS:安裝后,注意在項目中引用Spire.XLS.dll再進行代碼操作,dll文件在安裝路徑下的Bin文件夾中獲取。
三、示例操作
1.創建透視表
//創建一個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");
測試結果:
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");
測試結果:
3. 設置字段排序
這里支持三種不同類型的排序,可根據需要選擇相應的排序類型。
//創建一個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. 刪除透視表
刪除透視表可通過以下兩種方法:
根據透視表名稱刪除
根據透視表索引刪除
//創建一個工作簿,并加載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);
測試結果:
感謝你能夠認真閱讀完這篇文章,希望小編分享的“C#怎么操作Excel數據透視表”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。