//导出2: 学习基本的 excel样式
2-1: 单元格的字体样式 。
2-2 插入形状。
代码部分:
导出结果:
参考文献:
导出Excel之Epplus使用教程2(样式设置) - Wico - 博客园 (cnblogs.com)
导出Excel之Epplus使用教程2(样式设置)
1、公式计算
excel中离不开各种各样的公式计算,在Epplus中运用公式有两种方式,你都可以尝试一下:
1 2 |
worksheet.Cells[ "D2:D5" ].Formula = "B2*C2" ; //这是乘法的公式,意思是第二列乘以第三列的值赋值给第四列,这种方法比较简单明了
worksheet.Cells[6, 2, 6, 4].Formula = string .Format( "SUBTOTAL(9,{0})" , new ExcelAddress(2, 2, 5, 2).Address); //这是自动求和的方法,至于subtotal的用法你需要自己去了解了
|
至于别的公式大家可以自己尝试一下。
2、设置单元格格式
1 |
worksheet.Cells[5, 3].Style.Numberformat.Format = "#,##0.00" ; //这是保留两位小数
|
单元格的格式设置还有很多,我就不一一列出来了,基本上excel上能实现的Epplus都能实现,大家可以去Epplus的源码上看。
3、设置字体和单元格样式
设置单元格对齐方式
1 2 3 4 |
worksheet.Cells[1, 1].Style.HorizontalAlignment = ExcelHorizontalAlignment.Center; //水平居中
worksheet.Cells[1, 1].Style.VerticalAlignment = ExcelVerticalAlignment.Center; //垂直居中
worksheet.Cells[1, 4, 1, 5].Merge = true ; //合并单元格
worksheet.Cells.Style.WrapText = true ; //自动换行
|
设置单元格字体样式
1 2 3 4 |
worksheet.Cells[1, 1].Style.Font.Bold = true ; //字体为粗体
worksheet.Cells[1, 1].Style.Font.Color.SetColor(Color.White); //字体颜色
worksheet.Cells[1, 1].Style.Font.Name = "微软雅黑" ; //字体
worksheet.Cells[1, 1].Style.Font.Size = 12; //字体大小
|
设置单元格背景样式
1 2 |
worksheet.Cells[1, 1].Style.Fill.PatternType = ExcelFillStyle.Solid;
worksheet.Cells[1, 1].Style.Fill.BackgroundColor.SetColor(Color.FromArgb(128, 128, 128)); //设置单元格背景色
|
设置单元格边框,两种方法
1 2 3 |
worksheet.Cells[1, 1].Style.Border.BorderAround(ExcelBorderStyle.Thin, Color.FromArgb(191, 191, 191)); //设置单元格所有边框
worksheet.Cells[1, 1].Style.Border.Bottom.Style = ExcelBorderStyle.Thin; //单独设置单元格底部边框样式和颜色(上下左右均可分开设置)
worksheet.Cells[1, 1].Style.Border.Bottom.Color.SetColor(Color.FromArgb(191, 191, 191));
|
设置单元格的行高和列宽
1 2 3 4 |
worksheet.Cells.Style.ShrinkToFit = true ; //单元格自动适应大小
worksheet.Row(1).Height = 15; //设置行高
worksheet.Row(1).CustomHeight = true ; //自动调整行高
worksheet.Column(1).Width = 15; //设置列宽
|
4、设置sheet背景
1 2 3 4 |
worksheet.View.ShowGridLines = false ; //去掉sheet的网格线
worksheet.Cells.Style.Fill.PatternType = ExcelFillStyle.Solid;
worksheet.Cells.Style.Fill.BackgroundColor.SetColor(Color.LightGray); //设置背景色
worksheet.BackgroundImage.Image = Image.FromFile( @"firstbg.jpg" ); //设置背景图片
|
5、插入图片和形状
插入图片
1 2 3 |
ExcelPicture picture = worksheet.Drawings.AddPicture( "logo" , Image.FromFile( @"firstbg.jpg" )); //插入图片
picture.SetPosition(100, 100); //设置图片的位置
picture.SetSize(100, 100); //设置图片的大小
|
插入形状
1 2 3 4 5 6 7 8 9 |
ExcelShape shape = worksheet.Drawings.AddShape( "shape" , eShapeStyle.Rect); //插入形状
shape.Font.Color = Color.Red; //设置形状的字体颜色
shape.Font.Size = 15; //字体大小
shape.Font.Bold = true ; //字体粗细
shape.Fill.Style = eFillStyle.NoFill; //设置形状的填充样式
shape.Border.Fill.Style = eFillStyle.NoFill; //边框样式
shape.SetPosition(200, 300); //形状的位置
shape.SetSize(80, 30); //形状的大小
shape.Text = "test" ; //形状的内容
|
Epplus里面内置了很多形状,大家可以自己试一试。
6、超链接
给图片加超链接
1 |
ExcelPicture picture = worksheet.Drawings.AddPicture( "logo" , Image.FromFile( @"firstbg.jpg" ), new ExcelHyperLink( "http:\\www.baidu.com" , UriKind.Relative));
|
给单元格加超链接
1 |
worksheet.Cells[1, 1].Hyperlink = new ExcelHyperLink( "http:\\www.baidu.com" , UriKind.Relative);
|
7、隐藏sheet
1 2 3 |
worksheet.Hidden = eWorkSheetHidden.Hidden; //隐藏sheet
worksheet.Column(1).Hidden = true ; //隐藏某一列
worksheet.Row(1).Hidden = true ; //隐藏某一行
|