C# 操作Excel樞紐分析表

來源:互聯網
上載者:User

標籤: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樞紐分析表

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.