在Excel中如果能夠?qū)⒕哂卸嗉壝骷毜臄?shù)據(jù)進行分組顯示,可以清晰地展示數(shù)據(jù)表格的整體結(jié)構(gòu),使整個文檔具有一定層次感。根據(jù)需要設(shè)置顯示或者隱藏分類數(shù)據(jù)下的詳細信息,在便于數(shù)據(jù)查看、管理的同時也使文檔更具美觀性。那么,在C#中如何來創(chuàng)建Excel數(shù)據(jù)的多級分組顯示呢?下面將進行詳細闡述。方法中使用了免費版組件Free Spire.XLS for .NET,下載安裝該組件,創(chuàng)建一個控制臺應(yīng)用程序后,添加引用該組件安裝包下的dll文件到項目中,同時添加相應(yīng)的命名空間即可。下面是具體的代碼操作步驟,供參考。
創(chuàng)新互聯(lián)是一家專注于網(wǎng)站建設(shè)、網(wǎng)站設(shè)計與策劃設(shè)計,碾子山網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)10多年,網(wǎng)設(shè)計領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:碾子山等地區(qū)。碾子山做網(wǎng)站價格咨詢:18982081108
步驟一:創(chuàng)建一個Wordbook類對象,獲取第一個工作表
Workbook workbook = new Workbook();
Worksheet sheet = workbook.Worksheets[0];
步驟二:寫入數(shù)據(jù)到單元格
sheet.Range["A1"].Value = "公司部門";
sheet.Range["A3"].Value = "綜合部";
sheet.Range["A4"].Value = "行政";
sheet.Range["A5"].Value = "人事";
sheet.Range["A6"].Value = "市場部";
sheet.Range["A7"].Value = "業(yè)務(wù)部";
sheet.Range["A8"].Value = "客服部";
sheet.Range["A9"].Value = "技術(shù)部";
sheet.Range["A10"].Value = "技術(shù)開發(fā)";
sheet.Range["A11"].Value = "技術(shù)支持";
sheet.Range["A12"].Value = "售前支持";
sheet.Range["A13"].Value = "售后支持";
步驟三:設(shè)置IsSummaryRowBelow屬性為false, 即總結(jié)行顯示在明細行上方
sheet.PageSetup.IsSummaryRowBelow = false;
步驟四:選擇行進行分組,參數(shù)false表示展開當前分組,如需隱藏,設(shè)置成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對象,設(shè)置并運用格式到單元格內(nèi)字體
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;
步驟六:設(shè)置區(qū)域邊框樣式
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文件夾下查看生成的文檔)
效果截圖:
完整代碼:
using System;
using System.Drawing;
using Spire.Xls;
namespace MultilevelGroup_XLS
{
class Program
{
static void Main(string[] args)
{
//創(chuàng)建一個Wordbook類對象,獲取第一個工作表
Workbook workbook = new Workbook();
Worksheet sheet = workbook.Worksheets[0];
//寫入數(shù)據(jù)到單元格
sheet.Range["A1"].Value = "公司部門";
sheet.Range["A3"].Value = "綜合部";
sheet.Range["A4"].Value = "行政";
sheet.Range["A5"].Value = "人事";
sheet.Range["A6"].Value = "市場部";
sheet.Range["A7"].Value = "業(yè)務(wù)部";
sheet.Range["A8"].Value = "客服部";
sheet.Range["A9"].Value = "技術(shù)部";
sheet.Range["A10"].Value = "技術(shù)開發(fā)";
sheet.Range["A11"].Value = "技術(shù)支持";
sheet.Range["A12"].Value = "售前支持";
sheet.Range["A13"].Value = "售后支持";
//設(shè)置IsSummaryRowBelow為false, 即總結(jié)行顯示在明細行上方
sheet.PageSetup.IsSummaryRowBelow = false;
//選擇行進行一級分組
//參數(shù)false表示展開當前分組,若要隱藏設(shè)置成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對象,設(shè)置并運用單元格內(nèi)字體格式
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;
//設(shè)置區(qū)域邊框樣式
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);
System.Diagnostics.Process.Start("output.xlsx");
}
}
}
以上是關(guān)于設(shè)置Excel多級分組的全部操作步驟,如果對您有所幫助,歡迎轉(zhuǎn)載(轉(zhuǎn)載請注明出處)。
感謝閱讀!