數(shù)據(jù)透視表(Pivot Table)是一種交互式的表,可以進(jìn)行某些計(jì)算,如求和與計(jì)數(shù)等,可動(dòng)態(tài)地改變透視表版面布置,也可以重新安排行號(hào)、列標(biāo)和頁字段。當(dāng)改變版面布置時(shí),數(shù)據(jù)透視表也會(huì)按照新的布置來進(jìn)行更新,可以說是一個(gè)功能強(qiáng)大的數(shù)據(jù)分析工具。因此,本篇文章將介紹在C# 中關(guān)于Excel數(shù)據(jù)透視表的操作示例,示例內(nèi)容主要包含以下要點(diǎn):
創(chuàng)新互聯(lián)公司主要業(yè)務(wù)有網(wǎng)站營銷策劃、成都網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)、微信公眾號(hào)開發(fā)、微信平臺(tái)小程序開發(fā)、H5技術(shù)、程序開發(fā)等業(yè)務(wù)。一次合作終身朋友,是我們奉行的宗旨;我們不僅僅把客戶當(dāng)客戶,還把客戶視為我們的合作伙伴,在開展業(yè)務(wù)的過程中,公司還積累了豐富的行業(yè)經(jīng)驗(yàn)、營銷型網(wǎng)站資源和合作伙伴關(guān)系資源,并逐漸建立起規(guī)范的客戶服務(wù)和保障體系。C#
//創(chuàng)建一個(gè)Workbook類實(shí)例,并加載Excel文檔
Workbook workbook = new Workbook();
workbook.LoadFromFile("test.xlsx");
//獲取第一個(gè)工作表
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è)置行字段的標(biāo)題
pivotTable.Options.RowHeaderCaption = "月份";
//添加列字段
var col1 = pivotTable.PivotFields["產(chǎn)品"];
col1.Axis = AxisTypes.Column;
//設(shè)置列字段的標(biāo)題
pivotTable.Options.ColumnHeaderCaption = "產(chǎn)品";
//添加值字段
pivotTable.DataFields.Add(pivotTable.PivotFields["總產(chǎn)量"], "求和項(xiàng):總產(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");
測試效果:
C#
//創(chuàng)建Workbook類對(duì)象,加載Excel文檔
Workbook workbook = new Workbook();
workbook.LoadFromFile("數(shù)據(jù)透視表.xlsx");
//獲取數(shù)據(jù)透視表
XlsPivotTable pivotTable = workbook.Worksheets[0].PivotTables[0] as XlsPivotTable;
//計(jì)算數(shù)據(jù)
pivotTable.CalculateData();
//展開”月份”字段下“2”的詳細(xì)信息
(pivotTable.PivotFields["月份"] as Spire.Xls.Core.Spreadsheet.PivotTables.XlsPivotField).HideItemDetail("2", false);
//折疊”月份”字段下“3”的詳細(xì)信息
(pivotTable.PivotFields["月份"] as Spire.Xls.Core.Spreadsheet.PivotTables.XlsPivotField).HideItemDetail("3", true);
//保存并打開文檔
workbook.SaveToFile("折疊、展開行.xlsx", ExcelVersion.Version2013);
System.Diagnostics.Process.Start("折疊、展開行.xlsx");
測試結(jié)果:
這里支持三種不同類型的排序,可根據(jù)需要選擇相應(yīng)的排序類型。
C#
//創(chuàng)建一個(gè)Workbook類對(duì)象,并加載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;
//對(duì)指定字段進(jìn)行升序排序
pivotTable.PivotFields[2].SortType = PivotFieldSortType.Ascending;
//保存并打開文檔
workbook.SaveToFile("升序.xlsx", ExcelVersion.Version2013);
System.Diagnostics.Process.Start("升序.xlsx");
測試結(jié)果:
刪除透視表可通過以下兩種方法:
1)根據(jù)透視表名稱刪除
2)根據(jù)透視表索引刪除
C#
//創(chuàng)建一個(gè)工作簿,并加載Excel文檔
Workbook workbook = new Workbook();
workbook.LoadFromFile("數(shù)據(jù)透視表.xlsx");
//刪除第一張工作表上名稱為“PivotTable”的數(shù)據(jù)透視表
workbook.Worksheets[0].PivotTables.Remove("PivotTable");
//刪除第一張工作表上索引為0即第一個(gè)數(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)容,歡迎轉(zhuǎn)載(轉(zhuǎn)載請(qǐng)注明出處)
感謝閱讀!
創(chuàng)新互聯(lián)www.cdcxhl.cn,專業(yè)提供香港、美國云服務(wù)器,動(dòng)態(tài)BGP最優(yōu)骨干路由自動(dòng)選擇,持續(xù)穩(wěn)定高效的網(wǎng)絡(luò)助力業(yè)務(wù)部署。公司持有工信部辦法的idc、isp許可證, 機(jī)房獨(dú)有T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確進(jìn)行流量調(diào)度,確保服務(wù)器高可用性。佳節(jié)活動(dòng)現(xiàn)已開啟,新人活動(dòng)云服務(wù)器買多久送多久。