在Excel中如果能夠將具有多級明細的數據進行分組顯示,可以清晰地展示數據表格的整體結構,使整個文檔具有一定層次感。根據需要設置顯示或者隱藏分類數據下的詳細信息,在便於數據查看、管理的同時也使文檔更具美觀性。那麼,在C#中如何來創建Excel數據的多級分組顯示呢?下麵將進行詳細闡述。方法中使用了免費 ...
在Excel中如果能夠將具有多級明細的數據進行分組顯示,可以清晰地展示數據表格的整體結構,使整個文檔具有一定層次感。根據需要設置顯示或者隱藏分類數據下的詳細信息,在便於數據查看、管理的同時也使文檔更具美觀性。那麼,在C#中如何來創建Excel數據的多級分組顯示呢?下麵將進行詳細闡述。方法中使用了免費版組件Free Spire.XLS for .NET,下載安裝該組件,創建一個控制台應用程式後,添加引用該組件安裝包下的dll文件到項目中,同時添加相應的命名空間即可。下麵是具體的代碼操作步驟,供參考。
步驟一:創建一個Wordbook類對象,獲取第一個工作表
Workbook workbook = new Workbook(); Worksheet sheet = workbook.Worksheets[0];
步驟二:寫入數據到單元格
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 = "售後支持";
步驟三:設置IsSummaryRowBelow屬性為false, 即總結行顯示在明細行上方
sheet.PageSetup.IsSummaryRowBelow = false;
步驟四:選擇行進行分組,參數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);
步驟五:定義一個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;
步驟六:設置區域邊框樣式
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);
步驟七:保存文檔
workbook.SaveToFile("output.xlsx", ExcelVersion.Version2013);
運行程式生成文檔(可在該項目文件夾下bin>Debug文件夾下查看生成的文檔)
效果展示:
全部代碼:
1 using System; 2 using System.Drawing; 3 using Spire.Xls; 4 5 6 namespace MultilevelGroup_XLS 7 { 8 class Program 9 { 10 static void Main(string[] args) 11 { 12 //創建一個Wordbook類對象,獲取第一個工作表 13 Workbook workbook = new Workbook(); 14 Worksheet sheet = workbook.Worksheets[0]; 15 16 //寫入數據到單元格 17 sheet.Range["A1"].Value = "公司部門"; 18 sheet.Range["A3"].Value = "綜合部"; 19 sheet.Range["A4"].Value = "行政"; 20 sheet.Range["A5"].Value = "人事"; 21 sheet.Range["A6"].Value = "市場部"; 22 sheet.Range["A7"].Value = "業務部"; 23 sheet.Range["A8"].Value = "客服部"; 24 sheet.Range["A9"].Value = "技術部"; 25 sheet.Range["A10"].Value = "技術開發"; 26 sheet.Range["A11"].Value = "技術支持"; 27 sheet.Range["A12"].Value = "售前支持"; 28 sheet.Range["A13"].Value = "售後支持"; 29 30 //設置IsSummaryRowBelow為false, 即總結行顯示在明細行上方 31 sheet.PageSetup.IsSummaryRowBelow = false; 32 33 //選擇行進行一級分組 34 //參數false表示展開當前分組,若要隱藏設置成true 35 sheet.GroupByRows(2, 13, false); 36 37 //選擇行進行二級分組 38 sheet.GroupByRows(4,5 , false); 39 sheet.GroupByRows(7, 8, false); 40 sheet.GroupByRows(10,13 , false); 41 42 //選擇行進行三級分組 43 sheet.GroupByRows(12,13, true); 44 45 //定義一個CellStyle對象,設置並運用單元格內字體格式 46 CellStyle style = workbook.Styles.Add("style"); 47 style.Font.IsBold = true; 48 style.Color = Color.LawnGreen; 49 sheet.Range["A1"].CellStyleName = style.Name; 50 sheet.Range["A3"].CellStyleName = style.Name; 51 sheet.Range["A6"].CellStyleName = style.Name; 52 sheet.Range["A9"].CellStyleName = style.Name; 53 54 //設置區域邊框樣式 55 sheet.Range["A4:A5"].BorderAround(LineStyleType.Thin); 56 sheet.Range["A4:A5"].BorderInside(LineStyleType.Thin); 57 sheet.Range["A7:A8"].BorderAround(LineStyleType.Thin); 58 sheet.Range["A7:A8"].BorderInside(LineStyleType.Thin); 59 sheet.Range["A10:A13"].BorderAround(LineStyleType.Thin); 60 sheet.Range["A10:A13"].BorderInside(LineStyleType.Thin); 61 62 63 //保存文檔 64 workbook.SaveToFile("output.xlsx", ExcelVersion.Version2013); 65 System.Diagnostics.Process.Start("output.xlsx"); 66 } 67 } 68 }View Code
以上是關於設置Excel多級分組的全部操作步驟,如果對您有所幫助,歡迎轉載(轉載請註明出處)。
感謝閱讀!