C#生成Excel跨行/跨列…支持各种样式
效果示例
基本能满足各种样式需求
安装包
首先在项目中安装包:DocumentFormat.OpenXml
使用
部分使用方法
//Cells[3, 1, 3, 2]:这是用于指定 Excel 单元格的范围。
//3, 1:表示开始的单元格,位于第 3 行,第 1 列。
//3, 2:表示结束的单元格,位于第 3 行,第 2 列。
// 合并 [2,1] 到 [3,1],使船名占两行一列
worksheet.Cells[2, 1, 3, 1].Merge = true;
// 设置水平和垂直居中对齐
worksheet.Cells[2, 1].Style.HorizontalAlignment = ExcelHorizontalAlignment.Center;
worksheet.Cells[2, 1].Style.VerticalAlignment = ExcelVerticalAlignment.Center;
// 设置单元格边框(注意边框区域和字体设置)
worksheet.Cells[2, 1, 3, 1].Style.Border.BorderAround(ExcelBorderStyle.Thin, System.Drawing.Color.Black);
// 设置字体为华文楷体
worksheet.Cells[2, 1].Style.Font.Name = "华文楷体";
//这行代码的作用是启用单元格中的自动换行功能。
worksheet.Cells[3, 1].Style.WrapText = true;
//字体加粗
worksheet.Cells[2, 1, 3, 21].Style.Font.Bold = true;
// 冻结前三行----在第四行和第一列的位置冻结窗格
worksheet.View.FreezePanes(4, 1);
// 冻结左边四列---从第一行和第五列开始滚动,因此左边的四列(1到4列)会被固定
worksheet.View.FreezePanes(1, 5);
// 冻结前三行和左边四列--组合使用
worksheet.View.FreezePanes(4, 5);
// 设置背景颜色
worksheet.Cells[3, 20].Style.Fill.PatternType = ExcelFillStyle.Solid; // 设置填充类型为实心
worksheet.Cells[3, 20].Style.Fill.BackgroundColor.SetColor(ColorTranslator.FromHtml("#fce4