C#如何创建Excel多级分组
1个回答
展开全部
下载Spire.XLS, 引用Spire.Xls.dll到项目
using Spire.Xls;
using System.Drawing;
namespace GroupRows
{
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 = "任务 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);
}
}
}
效果:
当然,你可以用Workbook.LoadFormFile方法加载一个现成的Excel文件,然后对其中的行或列进行分组。希望对你有用。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询