小编给大家分享一下C#如何创建Excel多级分组,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
步骤一:创建一个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文件夹下查看生成的文档)
效果展示:
全部代码:
using System;
using System.Drawing;
using Spire.Xls;
namespace MultilevelGroup_XLS
{
class Program
{
static void Main(string[] args)
{
//创建一个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);
System.Diagnostics.Process.Start("output.xlsx");
}
}
}
以上是“C#如何创建Excel多级分组”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。