当Excel表格中的数据具有极强的层属关系时,我们可以制作一个层次分明的多级分组来对数据进行分级显示。本文将展示如何创建多级分组,并将分组符号显示在数据上方。
C#
//创建Wordbook实例
Workbook workbook = new Workbook();
//获取第一个工作表
Worksheet sheet = workbook.Worksheets[0];
//写入模拟数据到单元格
sheet.Range["A1"].Value = "项目计划";
sheet.Range["A3"].Value = "筹备";
sheet.Range["A4"].Value = "任务 1";
sheet.Range["A5"].Value = "任务 2";
sheet.Range["A7"].Value = "启动";
sheet.Range["A8"].Value = "任务 1";
sheet.Range["A9"].Value = "任务 2";
//设置IsSummaryRowBelow为false, 即总结行显示在明细行上方
sheet.PageSetup.IsSummaryRowBelow = false;
//选择行进行一级分组
//参数false表示展开当前分组,若要隐藏设置成true
sheet.GroupByRows(2, 9, false);
//选择行进行二级分组
sheet.GroupByRows(4, 5, false);
sheet.GroupByRows(8, 9, false);
//定义一个CellStyle对象,设置单元格内字体颜色及加粗
CellStyle style = workbook.Styles.Add("style");
style.Font.Color = Color.CadetBlue;
style.Font.IsBold = true;
//应用单元格格式
sheet.Range["A1"].CellStyleName = style.Name;
sheet.Range["A3"].CellStyleName = style.Name;
sheet.Range["A7"].CellStyleName = style.Name;
//设置区域边框样式
sheet.Range["A4:A5"].BorderAround(LineStyleType.Thin);
sheet.Range["A4:A5"].BorderInside(LineStyleType.Thin);
sheet.Range["A8:A9"].BorderAround(LineStyleType.Thin);
sheet.Range["A8:A9"].BorderInside(LineStyleType.Thin);
//保存文档
workbook.SaveToFile("output.xlsx", ExcelVersion.Version2013);
VB.NET
'创建Wordbook实例 Dim workbook As New Workbook() '获取第一个工作表
Dim sheet As Worksheet = workbook.Worksheets(0)
'写入模拟数据到单元格 sheet.Range("A1").Value = "项目计划" sheet.Range("A3").Value = "筹备" sheet.Range("A4").Value = "任务 1" sheet.Range("A5").Value = "任务 2" sheet.Range("A7").Value = "启动" sheet.Range("A8").Value = "任务 1" sheet.Range("A9").Value = "任务 2" '设置IsSummaryRowBelow为false, 即总结行显示在明细行上方
sheet.PageSetup.IsSummaryRowBelow = False
'选择行进行一级分组 '参数false表示展开当前分组,若要隐藏设置成true
sheet.GroupByRows(2, 9, False)
'选择行进行二级分组 sheet.GroupByRows(4,5,False) sheet.GroupByRows(8,9,False) '定义一个CellStyle对象,设置单元格内字体颜色及加粗
Dim style As CellStyle = workbook.Styles.Add("style")
style.Font.Color = Color.CadetBlue
style.Font.IsBold = True
'应用单元格格式 sheet.Range("A1").CellStyleName = style.Name sheet.Range("A3").CellStyleName = style.Name sheet.Range("A7").CellStyleName = style.Name '设置区域边框样式
sheet.Range("A4:A5").BorderAround(LineStyleType.Thin)
sheet.Range("A4:A5").BorderInside(LineStyleType.Thin)
sheet.Range("A8:A9").BorderAround(LineStyleType.Thin)
sheet.Range("A8:A9").BorderInside(LineStyleType.Thin)
'保存文档 workbook.SaveToFile("output.xlsx",ExcelVersion.Version2013)