要设置显示或者隐藏分类数据下的详细信息,在便于数据查看、管理的同时也使文档更具美观性。那么,在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文件夹下查看生成的文档)

效果截图:

完整代码:

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");

}

}

}

(编辑:雷林鹏 来源:网络)

[.NET开发] C# 如何创建Excel多级分组的更多相关文章

  1. C# 如何创建Excel多级分组

    在Excel中如果能够将具有多级明细的数据进行分组显示,可以清晰地展示数据表格的整体结构,使整个文档具有一定层次感.根据需要设置显示或者隐藏分类数据下的详细信息,在便于数据查看.管理的同时也使文档更具 ...

  2. android开发使用jxl创建Excel

    这周水了几天,今天把博客赶上,找找状态. 周五的时候终于完成了课堂测试第二阶段,主要的难点就是生成Excel表并将填写的数据插入到Excel表中. 一.jxl使用 1.创建或读取一个工作薄 Workb ...

  3. 【基于WinForm+Access局域网共享数据库的项目总结】之篇二:WinForm开发扇形图统计和Excel数据导出

    篇一:WinForm开发总体概述与技术实现 篇二:WinForm开发扇形图统计和Excel数据导出 篇三:Access远程连接数据库和窗体打包部署 [小记]:最近基于WinForm+Access数据库 ...

  4. Excel催化剂开源第4波-ClickOnce部署要点之导入数字证书及创建EXCEL信任文件夹

    Excel催化刘插件使用Clickonce的部署方式发布插件,以满足用户使用插件过程中,需要对插件进行功能升级时,可以无痛地自动更新推送新版本.但Clickonce部署,对用户环境有较大的要求,前期首 ...

  5. 使用SPIRE.XLS来创建Excel 工作簿

               使用SPIRE.XLS来创建Excel 工作簿     概要 最近在研究 .NET 控件,使用这些控件在程序中可以快速低成本实现功能. 在这一篇中我们使用的控件是Spire.XL ...

  6. ADF_Desktop Integration系列2_ADF桌面集成入门之开发简单ADF Desktop Excel

    2013-05-01 Created By BaoXinjian

  7. VSTO之旅系列(二):创建Excel解决方案

    原文:VSTO之旅系列(二):创建Excel解决方案 本专题概要 引言 创建VSTO项目 Excel对象模型 创建Excel外接程序 创建Excel文档级自定义项 小结 一.引言 也许很多朋友都没有听 ...

  8. VSTO学习(三)——创建Excel解决方案

    四.创建Excel外接程序介绍完了Excel对象模型之后,我们就可以利用这些对象来对Excel文档进行操作了,下面就创建一个简单的Excel外接程序的.首先我们模拟一个需求,大多说软件在使用时都会弹出 ...

  9. 第二十章、QTableView与QStandardItemModel开发实战:展示Excel文件内容

    老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 一.概述 在前面<第十九章.Model/View开发:QTableView的功能及属性> ...

随机推荐

  1. linux脚本-判断进程是否存在,从而可以做预警处理..

    count=`ps -ef | grep Seeyon | grep -v "grep" | wc -l` echo $count if [ $count -gt 0 ]; the ...

  2. Keepalived 安装

    Keepalived 安装安装环境 keepalived-1.2.18.tar.gz VM虚拟机redhat6.5-x64:192.168.1.201 Xshell4 部署方案 201部署 安装步骤  ...

  3. linux常用命令:lsof 命令

    lsof(list open files) 是一个列出当前系统打开文件的工具.在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件.所以 如传输控制 ...

  4. Linux服务器配置---安装telnet

    安装telnet      telnet是标准的远程登录协议,历史悠久.但是telnet的对话数据没有加密,甚至用户名和密码都是明文显示,这样的服务风险极大.目前大多数系统多已经不会再安装这个服务了, ...

  5. Instagram 在 PyCon 2017 的演讲摘要

    Instagram 在 PyCon 2017 的演讲摘要 PyCon 简介 PyCon 是全世界最大的以 Python 编程语言 为主题的技术大会.大会由 Python 社区组织,每年举办一次.在大会 ...

  6. python3.4学习笔记(二十一) python实现指定字符串补全空格、前面填充0的方法

    python3.4学习笔记(二十一) python实现指定字符串补全空格.前面填充0的方法 Python zfill()方法返回指定长度的字符串,原字符串右对齐,前面填充0.zfill()方法语法:s ...

  7. AtCoder Beginner Contest 086 D - Checker

    Time limit : 2sec / Memory limit : 256MB Score : 500 points Problem Statement AtCoDeer is thinking o ...

  8. 用户可在Messenger内读书并与角色互动

    畅销小说作家 James Patterson 与 Facebook 合作,为新书<The Chef>在 Messenger 推出互动体验版. 10 月 30 日下午消息,据<香港经济 ...

  9. PT100高精度测温电路 AD623+REF3030(转)

    源: PT100高精度测温电路 AD623+REF3030(很稳定)

  10. win32 自定义右键菜单

    /**************************************************************************** 几大主要问题: 1.通过处理WM_MOUSE ...