国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

C#如何操作Excel數(shù)據(jù)透視表

2020-01-24 00:19:08
字體:
供稿:網(wǎng)友

一、概述

數(shù)據(jù)透視表(Pivot Table)是一種交互式的表,可以進行某些計算,如求和與計數(shù)等,可動態(tài)地改變透視表版面布置,也可以重新安排行號、列標和頁字段。當(dāng)改變版面布置時,數(shù)據(jù)透視表也會按照新的布置來進行更新,可以說是一個功能強大的數(shù)據(jù)分析工具。因此,本篇文章將介紹在C# 中關(guān)于Excel數(shù)據(jù)透視表的操作示例,示例內(nèi)容主要包含以下要點:

1. 創(chuàng)建透視表

     (1)創(chuàng)建數(shù)據(jù)緩存

     (2)創(chuàng)建數(shù)據(jù)透視表

     (3)添加行字段和列字段

     (4)添加值字段

     (5)設(shè)置樣式

2.  設(shè)置行折疊、展開

3.  設(shè)置字段升序、降序

4.  刪除透視表

二、準備工具

Spire.XLS for .NET (可支持80余種Excel內(nèi)置的數(shù)據(jù)透視表樣式)

PS:安裝后,注意在項目中引用Spire.XLS.dll再進行代碼操作,dll文件在安裝路徑下的Bin文件夾中獲取。

三、示例操作

1.創(chuàng)建透視表

 //創(chuàng)建一個Workbook類實例,并加載Excel文檔Workbook workbook = new Workbook(); workbook.LoadFromFile("test.xlsx"); //獲取第一個工作表 Worksheet sheet = workbook.Worksheets[0];//為需要匯總和分析的數(shù)據(jù)創(chuàng)建緩存CellRange dataRange = sheet.Range["A1:D10"];PivotCache cache = workbook.PivotCaches.Add(dataRange);//使用緩存創(chuàng)建數(shù)據(jù)透視表,并指定透視表的名稱以及在工作表中的位置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;//設(shè)置行字段的標題pivotTable.Options.RowHeaderCaption = "月份";//添加列字段var col1 = pivotTable.PivotFields["產(chǎn)品"];col1.Axis = AxisTypes.Column;   //設(shè)置列字段的標題pivotTable.Options.ColumnHeaderCaption = "產(chǎn)品";//添加值字段pivotTable.DataFields.Add(pivotTable.PivotFields["總產(chǎn)量"], "求和項:總產(chǎn)量", SubtotalTypes.Sum);//設(shè)置透視表的樣式(Spire.XLS共支持80余種Excel內(nèi)置的數(shù)據(jù)透視表樣式)pivotTable.BuiltInStyle = PivotBuiltInStyles.PivotStyleDark13;//保存并打開文檔 workbook.SaveToFile("數(shù)據(jù)透視表.xlsx", ExcelVersion.Version2013); System.Diagnostics.Process.Start("數(shù)據(jù)透視表.xlsx");

測試結(jié)果:

2. 設(shè)置行折疊、展開

//創(chuàng)建Workbook類對象,加載Excel文檔  Workbook workbook = new Workbook(); workbook.LoadFromFile("數(shù)據(jù)透視表.xlsx");//獲取數(shù)據(jù)透視表 XlsPivotTable pivotTable = workbook.Worksheets[0].PivotTables[0] as XlsPivotTable;//計算數(shù)據(jù) 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");

測試結(jié)果:

3. 設(shè)置字段排序

這里支持三種不同類型的排序,可根據(jù)需要選擇相應(yīng)的排序類型。 

 //創(chuàng)建一個Workbook類對象,并加載Excel文檔  Workbook workbook = new Workbook();workbook.LoadFromFile("數(shù)據(jù)透視表.xlsx"); //獲取數(shù)據(jù)透視表  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");

測試結(jié)果:

4. 刪除透視表

刪除透視表可通過以下兩種方法:

  •  根據(jù)透視表名稱刪除
  •  根據(jù)透視表索引刪除
//創(chuàng)建一個工作簿,并加載Excel文檔 Workbook workbook = new Workbook(); workbook.LoadFromFile("數(shù)據(jù)透視表.xlsx"); //刪除第一張工作表上名稱為“PivotTable”的數(shù)據(jù)透視表 workbook.Worksheets[0].PivotTables.Remove("PivotTable");//刪除第一張工作表上索引為0即第一個數(shù)據(jù)透視表  //workbook.Worksheets[0].PivotTables.RemoveAt(0); //保存文檔  workbook.SaveToFile("刪除數(shù)據(jù)透視表.xlsx", ExcelVersion.Version2013);

測試結(jié)果:

以上內(nèi)容為本次關(guān)于“Excel數(shù)據(jù)透視表的示例操作”的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持武林網(wǎng)。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 江源县| 班玛县| 右玉县| 瑞丽市| 安福县| 江永县| 北票市| 贵溪市| 永春县| 吐鲁番市| 黑水县| 乃东县| 米林县| 中宁县| 怀来县| 宜兴市| 淮北市| 蒙阴县| 伊宁市| 鹿泉市| 朝阳区| 衡水市| 棋牌| 新竹市| 板桥市| 汤阴县| 曲周县| 巴青县| 商城县| 辽源市| 罗定市| 赤峰市| 长葛市| 德阳市| 南郑县| 永川市| 罗田县| 图木舒克市| 兰溪市| 安吉县| 甘孜县|