C#設置Excel數據多級分組

一、概述

在Excel中如果能夠將具有多級明細的數據進行分組顯示,可以清晰地展示數據表格的整體結構,使整個文檔具有一定層次感。根據需要設置顯示或者隱藏分類數據下的詳細信息,在便於數據查看、管理的同時也使文檔更具美觀性。那麼,在C#中如何來創建Excel數據的多級分組顯示呢?下面將進行詳細闡述。

 

二、工具使用

Free Spire.XLS for .NET

 

三、實現步驟

step1 創建一個Wordbook類對象,獲取第一個工作表

 

Workbook workbook = new Workbook();
Worksheet sheet = workbook.Worksheets[0];

 

 

step2 寫入數據到單元格

 

sheet.Range["A1"].Value = "公司部門";
sheet.Range["A3"].Value = "綜合部";
sheet.Range["A4"].Value = "行政";
sheet.Range["A5"].Value = "人事";
sheet.Range["A6"].Value = "市場部";
sheet.Range["A7"].Value = "業務部";
sheet.Range["A8"].Value = "客服部";
sheet.Range["A9"].Value = "技術部";
sheet.Range["A10"].Value = "技術開發";
sheet.Range["A11"].Value = "技術支持";
sheet.Range["A12"].Value = "售前支持";
sheet.Range["A13"].Value = "售後支持";

 

 

step3 設置IsSummaryRowBelow屬性爲false, 即總結行顯示在明細行上方

 

sheet.PageSetup.IsSummaryRowBelow = false;

 

 

step4 選擇行進行分組,參數false表示展開當前分組,如需隱藏,設置成true

 

//選擇行進行一級分組
sheet.GroupByRows(2, 13, false);
//選擇行進行二級分組
sheet.GroupByRows(4,5 , false);
sheet.GroupByRows(7, 8, false);
sheet.GroupByRows(10,13 , false);
//選擇行進行三級分組
sheet.GroupByRows(12,13, true);

 

 

step5 定義一個CellStyle對象,設置並運用格式到單元格內字體

CellStyle style = workbook.Styles.Add("style");
style.Font.IsBold = true;
style.Color = Color.LawnGreen;
sheet.Range["A1"].CellStyleName = style.Name;
sheet.Range["A3"].CellStyleName = style.Name;
sheet.Range["A6"].CellStyleName = style.Name;
sheet.Range["A9"].CellStyleName = style.Name;

 

step6 設置區域邊框樣式

sheet.Range["A4:A5"].BorderAround(LineStyleType.Thin);
sheet.Range["A4:A5"].BorderInside(LineStyleType.Thin);
sheet.Range["A7:A8"].BorderAround(LineStyleType.Thin);
sheet.Range["A7:A8"].BorderInside(LineStyleType.Thin);
sheet.Range["A10:A13"].BorderAround(LineStyleType.Thin);
sheet.Range["A10:A13"].BorderInside(LineStyleType.Thin);

 

step7 保存文檔

workbook.SaveToFile("output.xlsx", ExcelVersion.Version2013);

 

運行程序生成文檔(可在該項目文件夾下bin>Debug文件夾下查看生成的文檔)

 


 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章