標籤:ble 互動 c# lsp sys image tables MF styles
一、概述
樞紐分析表(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.建立透視表
C#
//建立一個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. 設定行摺疊、展開
C#
//建立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#
//建立一個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);
測試結果:
以上內容為本次關於“Excel樞紐分析表的樣本操作”的全部內容,歡迎轉載(轉載請註明出處)
感謝閱讀!
C# 操作Excel樞紐分析表