附1EPPlus使用教程.docx

上传人:b****5 文档编号:29621578 上传时间:2023-07-25 格式:DOCX 页数:13 大小:18.33KB
下载 相关 举报
附1EPPlus使用教程.docx_第1页
第1页 / 共13页
附1EPPlus使用教程.docx_第2页
第2页 / 共13页
附1EPPlus使用教程.docx_第3页
第3页 / 共13页
附1EPPlus使用教程.docx_第4页
第4页 / 共13页
附1EPPlus使用教程.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

附1EPPlus使用教程.docx

《附1EPPlus使用教程.docx》由会员分享,可在线阅读,更多相关《附1EPPlus使用教程.docx(13页珍藏版)》请在冰豆网上搜索。

附1EPPlus使用教程.docx

附1EPPlus使用教程

EPPlus使用教程

1基本介绍

EPPlus是一个使用OpenOfficeXML(xlsx)文件格式,能读写Excel2007/2010文件的开源组件,在导出Excel的时候不需要电脑上安装office,官网为:

需要使用的Epplus的DLL文件,从官网上下载下来即可。

基本上Excel上的各种功能(例如图表、VBA、数据透视表、加密、数据验证等)Epplus都能实现,它的一个缺点就是不支持导出2003版的Excel。

网址:

版本:

4.0.4

最后日期:

2015-4-24

创建Excel

首先将epplus的dll文件添加到项目里,然后添加引用即可。

创建Excel,所有代码均放在这个using语句里面,在using语句里面我们可以创建多个worksheet,ExcelPackage后面可以传入路径参数:

using(ExcelPackagepackage=newExcelPackage(newFileInfo(@"d:

\test.xlsx"))){} 

创建worksheet:

using(ExcelPackagepackage=newExcelPackage(newFileInfo(@"d:

\test.xlsx")))

{

ExcelWorksheetworksheet=package.Workbook.Worksheets.Add("test");//创建worksheet

}

保存Excel:

using(ExcelPackagepackage=newExcelPackage(newFileInfo(@"d:

\test.xlsx")))

{

ExcelWorksheetworksheet=package.Workbook.Worksheets.Add("test");//创建worksheet

package.Save();//保存excel

}

至此,一个基本的excel已经完工,下面就是填入数据了。

添加数据

Epplus中给单元格赋值非常简单,两种方法:

(注:

Epplus的所有行列数都是以1开始的)

worksheet.Cells[1,1].Value="名称";//直接指定行列数进行赋值

worksheet.Cells["A1"].Value="名称";//直接指定单元格进行赋值

下面是一个完整的输出一个简单的excel的代码:

FileInfonewFile=newFileInfo(@"d:

\test.xlsx");

if(newFile.Exists)

{

newFile.Delete();

newFile=newFileInfo(@"d:

\test.xlsx");

}

using(ExcelPackagepackage=newExcelPackage(newFile))

{

ExcelWorksheetworksheet=package.Workbook.Worksheets.Add("test");

worksheet.Cells[1,1].Value="名称";

worksheet.Cells[1,2].Value="价格";

worksheet.Cells[1,3].Value="销量";

worksheet.Cells[2,1].Value="大米";

worksheet.Cells[2,2].Value=56;

worksheet.Cells[2,3].Value=100;

worksheet.Cells[3,1].Value="玉米";

worksheet.Cells[3,2].Value=45;

worksheet.Cells[3,3].Value=150;

worksheet.Cells[4,1].Value="小米";

worksheet.Cells[4,2].Value=38;

worksheet.Cells[4,3].Value=130;

worksheet.Cells[5,1].Value="糯米";

worksheet.Cells[5,2].Value=22;

worksheet.Cells[5,3].Value=200;

package.Save();

}

2样式设置

公式计算

excel中离不开各种各样的公式计算,在Epplus中运用公式有两种方式,你都可以尝试一下:

worksheet.Cells["D2:

D5"].Formula="B2*C2";//这是乘法的公式,意思是第二列乘以第三列的值赋值给第四列,这种方法比较简单明了

worksheet.Cells[6,2,6,4].Formula=string.Format("SUBTOTAL(9,{0})",newExcelAddress(2,2,5,2).Address);//这是自动求和的方法,至于subtotal的用法你需要自己去了解了

至于别的公式大家可以自己尝试一下。

设置单元格格式

worksheet.Cells[5,3].Style.Numberformat.Format="#,##0.00";//这是保留两位小数

单元格的格式设置还有很多,我就不一一列出来了,基本上excel上能实现的Epplus都能实现,大家可以去Epplus的源码上看。

设置字体和单元格样式

设置单元格对齐方式

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;//自动换行

设置单元格字体样式

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;//字体大小

设置单元格背景样式

worksheet.Cells[1,1].Style.Fill.PatternType=ExcelFillStyle.Solid;

worksheet.Cells[1,1].Style.Fill.BackgroundColor.SetColor(Color.FromArgb(128,128,128));//设置单元格背景色

设置单元格边框,两种方法

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

设置单元格的行高和列宽

worksheet.Cells.Style.ShrinkToFit=true;//单元格自动适应大小

worksheet.Row

(1).Height=15;//设置行高

worksheet.Row

(1).CustomHeight=true;//自动调整行高

worksheet.Column

(1).Width=15;//设置列宽

设置sheet背景

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");//设置背景图片

插入图片和形状

插入图片

ExcelPicturepicture=worksheet.Drawings.AddPicture("logo",Image.FromFile(@"firstbg.jpg"));//插入图片

picture.SetPosition(100,100);//设置图片的位置

picture.SetSize(100,100);//设置图片的大小

插入形状

ExcelShapeshape=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里面内置了很多形状,大家可以自己试一试。

超链接

给图片加超链接

ExcelPicturepicture=worksheet.Drawings.AddPicture(

"logo",Image.FromFile(@"firstbg.jpg"),

newExcelHyperLink("http:

\\",UriKind.Relative));

给单元格加超链接

worksheet.Cells[1,1].Hyperlink=newExcelHyperLink(

"http:

\\",UriKind.Relative);

隐藏sheet

worksheet.Hidden=eWorkSheetHidden.Hidden;//隐藏sheet

worksheet.Column

(1).Hidden=true;//隐藏某一列

worksheet.Row

(1).Hidden=true;//隐藏某一行

3图表设置

嵌入VBA代码

首先将vba代码保存成txt文本格式,然后用epplus去调用这个txt文本文件即可,非常简单,当然要想vba调用成功,前提是你的vba代码是没问题的喽!

worksheet.CodeModule.Name="sheet";

worksheet.CodeModule.Code=File.ReadAllText(@"VBA-Code\vba.txt"),Encoding.Default);

Excel加密和锁定

对于一些不希望别人随便改的excel可以对其进行锁定和加密,这样别人只能看不能改了,除非有密码。

worksheet.Protection.IsProtected=true;//设置是否进行锁定

worksheet.Protection.SetPassword("yk");//设置密码

worksheet.Protection.AllowAutoFilter=false;//下面是一些锁定时权限的设置

worksheet.Protection.AllowDeleteColumns=false;

worksheet.Protection.AllowDeleteRows=false;

worksheet.Protection.AllowEditScenarios=false;

worksheet.Protection.AllowEditObject=false;

worksheet.Protection.AllowFormatCells=false;

worksheet.Protection.AllowFormatColumns=false;

worksheet.Protection.AllowFormatRows=false;

worksheet.Protection.AllowInsertColumns=false;

worksheet.Protection.AllowInsertHyperlinks=false;

worksheet.Protection.AllowInsertRows=false;

worksheet.Protection.AllowPivotTables=false;

worksheet.Protection.AllowSelectLockedCells=false;

worksheet.Protection.AllowSelectUnlockedCells=false;

worksheet.Protection.AllowSort=false;

属性设置

针对整个Excel本身的一些其他设置

epk.Workbook.Properties.Title="inventory";//设置excel的标题

epk.Workbook.Properties.Author="mei";//作者

epk.Workbook.Properties.Comments="thisisatest";//备注

epk.Workbook.Properties.Company="ABC";//公司

下拉框

设置下拉框时首先需要设置下拉框显示的数据区域块并将其命名。

varval=worksheet.DataValidations.AddListValidation(worksheet.Cells[7,8].Address);//设置下拉框显示的数据区域

val.Formula.ExcelFormula="=parameter";//数据区域的名称

val.Prompt="下拉选择参数";//下拉提示

val.ShowInputMessage=true;//显示提示内容

4图表设置

Epplus的图表实现是很简单的,它支持的图表类型也很多,基本上能满足我们的需求。

创建图表分为三步(以柱状图举例):

创建图表

ExcelChartchart=

worksheet.Drawings.AddChart("chart",eChartType.ColumnClustered);//eChartType中可以选择图表类型

选择数据

这一步是很关键的一步,chart.Series.Add()方法所需参数为:

chart.Series.Add(Y轴数据区,X轴数据区) 

ExcelChartSerieserie=chart.Series.Add(worksheet.Cells[2,3,5,3],worksheet.Cells[2,1,5,1]);//设置图表的x轴和y轴

serie.HeaderAddress=worksheet.Cells[1,3];//设置图表的图例

设置图表样式  

chart.SetPosition(150,10);//设置位置

chart.SetSize(500,300);//设置大小

chart.Title.Text="销量走势";//设置图表的标题

chart.Title.Font.Color=Color.FromArgb(89,89,89);//设置标题的颜色

chart.Title.Font.Size=15;//标题的大小

chart.Title.Font.Bold=true;//标题的粗体

chart.Style=eChartStyle.Style15;//设置图表的样式

chart.Legend.Border.LineStyle=eLineStyle.Solid;

chart.Legend.Border.Fill.Color=Color.FromArgb(217,217,217);//设置图例的样式

基本上生成图表就这么些东西了,不过不同的图表属性可能略有差异,得根据具体图表具体分析。

下面是例子的全部代码:

FileInfonewFile=newFileInfo(@"d:

\test.xlsx");

if(newFile.Exists)

{

newFile.Delete();

newFile=newFileInfo(@"d:

\test.xlsx");

}

using(ExcelPackagepackage=newExcelPackage(newFile))

{

ExcelWorksheetworksheet=package.Workbook.Worksheets.Add("test");

worksheet.Cells.Style.WrapText=true;

worksheet.View.ShowGridLines=false;//去掉sheet的网格线

worksheet.Cells[1,1].Value="名称";

worksheet.Cells[1,2].Value="价格";

worksheet.Cells[1,3].Value="销量";

worksheet.Cells[2,1].Value="大米";

worksheet.Cells[2,2].Value=56;

worksheet.Cells[2,3].Value=100;

worksheet.Cells[3,1].Value="玉米";

worksheet.Cells[3,2].Value=45;

worksheet.Cells[3,3].Value=150;

worksheet.Cells[4,1].Value="小米";

worksheet.Cells[4,2].Value=38;

worksheet.Cells[4,3].Value=130;

worksheet.Cells[5,1].Value="糯米";

worksheet.Cells[5,2].Value=22;

worksheet.Cells[5,3].Value=200;

using(ExcelRangerange=worksheet.Cells[1,1,5,3])

{

range.Style.HorizontalAlignment=ExcelHorizontalAlignment.Center;

range.Style.VerticalAlignment=ExcelVerticalAlignment.Center;

}

using(ExcelRangerange=worksheet.Cells[1,1,1,3])

{

range.Style.Font.Bold=true;

range.Style.Font.Color.SetColor(Color.White);

range.Style.Font.Name="微软雅黑";

range.Style.Font.Size=12;

range.Style.Fill.PatternType=ExcelFillStyle.Solid;

range.Style.Fill.BackgroundColor.SetColor(Color.FromArgb(128,128,128));

}

worksheet.Cells[1,1].Style.Border.BorderAround(ExcelBorderStyle.Thin,Color.FromArgb(191,191,191));

worksheet.Cells[1,2].Style.Border.BorderAround(ExcelBorderStyle.Thin,Color.FromArgb(191,191,191));

worksheet.Cells[1,3].Style.Border.BorderAround(ExcelBorderStyle.Thin,Color.FromArgb(191,191,191));

worksheet.Cells[2,1].Style.Border.BorderAround(ExcelBorderStyle.Thin,Color.FromArgb(191,191,191));

worksheet.Cells[2,2].Style.Border.BorderAround(ExcelBorderStyle.Thin,Color.FromArgb(191,191,191));

worksheet.Cells[2,3].Style.Border.BorderAround(ExcelBorderStyle.Thin,Color.FromArgb(191,191,191));

worksheet.Cells[3,1].Style.Border.BorderAround(ExcelBorderStyle.Thin,Color.FromArgb(191,191,191));

worksheet.Cells[3,2].Style.Border.BorderAround(ExcelBorderStyle.Thin,Color.FromArgb(191,191,191));

worksheet.Cells[3,3].Style.Border.BorderAround(ExcelBorderStyle.Thin,Color.FromArgb(191,191,191));

worksheet.Cells[4,1].Style.Border.BorderAround(ExcelBorderStyle.Thin,Color.FromArgb(191,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 成人教育 > 专升本

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1