在.NET中不安装Office使用EPPlus生成带图表的Excel报表_第1页
在.NET中不安装Office使用EPPlus生成带图表的Excel报表_第2页
在.NET中不安装Office使用EPPlus生成带图表的Excel报表_第3页
在.NET中不安装Office使用EPPlus生成带图表的Excel报表_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

在.NET中不安装Office使用EPPlus生成带图表的Excel报表在.NET中不安装Office使用EPPlus生成带图表的Excel报表在.NET中不安装Office使用EPPlus生成带图表的Excel报表在.NET中不安装Office使用EPPlus生成带图表的Excel报表编制仅供参考审核批准生效日期地址:电话:传真:邮编:在.NET中不安装Office使用EPPlus生成带图表(Chart)的Excel报表在开发.NET应用中可能会遇到需要生成带图表(Chart)的Excel报表的需求,特别是在一些网站中,有时候我们并不能保证Web服务器上一定安装了Office组件,所以使用微软的Office来生成Excel并不保证在所有情况下都使用,有时候即使Web服务器上安装了Office也会出现一些运行权限方面的原因到导致调用Excel组件生成Excel失败,所以在这里介绍一种无需安装Office并且无需较高权限就能生成Excel的方法。EPPlus简介在介绍EPPlus之前,首先要介绍一下OfficeOpenXML。以下文字来自于维基百科(网址:,有删节):OfficeOpenXML(缩写:OpenXML、OpenXML或OOXML),是由Microsoft开发的一种以XML为基础并以ZIP格式压缩的电子文件,支持Word、Excel、OfficeNote、PPT等文件格式。OOXML在2006年12月成为了ECMA规范的一部分,编号为ECMA-376;并于2008年4月国际标准化组织(ISO)的表決,在两个月公布为ISO/IEC29500国际标准。从MicrosoftOffice2007开始,OfficeOpenXML文件格式已经成为MicrosoftOffice默认的文件格式。MicrosoftOffice2010支持对ECMA-376标准文档的读操作,ISO/IEC29500Transitional的读/写,ISO/IEC29500Strict的读取。MicrosoftOffice2013同时支持ISO/IEC29500Strict的读写操作。EPPlus就是一个通过OpenXML方式来读写Office文件的开源.NET类库,所以使用它生成Office文件完全不需要MicrosoftOffice(当然如果你需需要查看生成的文件就需要Office了)。它的官方网址是:。如果需要体验本文中提到的效果,需要从这个网址下载最新版本的类库,我现在使用的这个名为类库仅658K,非常方便部署。代码示例为了演示EPPlus的用法,这里写了一个简单的例子,在这个例子里演示模拟了几大公司实际业绩与计划业绩的百分比,如果这个百分比大于95%则会将所在的单元格显示为绿色,如果小于90%则会显示为红色,否则就显示为黄色,并且还会生成一个图标来直观表示每月实际完成情况与计划的百分比。完整代码如下:/***********************************************************************************ProjectAreportproject*ModuleNameExcelReport*AuthorZhou,Jin-Qiao(周金桥)*CreationDate[11/03/2013]*DescriptionGenerateExcelReportwithChatdemobyEpplus**©Copyright2013zhoufoxcn.**********************************************************************************/usingSystem;using;using;using;usingOfficeOpenXml;using;namespaceExcelReportApplication{lsx";stringreportTitle="2013年度五大公司实际情况与原计划的百分比";FileInfofile=newFileInfo("C:\\"+fileName);using(ExcelPackagepackage=newExcelPackage(file)){ExcelWorksheetworksheet=null;ExcelChartSeriechartSerie=null;ExcelLineChartchart=null;#regionresearchworksheet="Data");DataTabledataPercent=GetDataPercent();alue=[col-1].ColumnName;}oString();if(col==1){[row+1,col].Value=strValue;}else{doublerealValue=(strValue);[row+1,col].=;[row+1,col].="#0\\.00%";alue=realValue;if(realValue<}elseif(realValue>=&&realValue<=}else{[row+1,col].如果大于95%则该单元格底色显示为绿色}}}//chartSerie="A2:M2"],["B1:M1"]);//=["A2"];//方法所需参数为:轴数据区,Y轴数据区)chartSerie=+1,2,row+1,2+-2],["B1:M1"]);=[row+1,1];//设置每条线的名称}//因为假定每家公司至少完成了80%以上,所以这里设置Y轴的最小刻度为80%,这样使图表上的折线更清晰=;//(200,50);//可以通过制定左上角坐标来设置图表位置//通过指定图表左上角所在的行和列及对应偏移来指定图表位置//这里+1及3分别表示行和列+1,10,3,20);#endregionresearch();//保存文件}}///<summary>///生成数据,由于这一步不是主要逻辑,所以采用随机生成数据的方式,实际中可根据需要从数据库或其它数据源中读取需要的数据///</summary>///<returns></returns>privatestaticDataTableGetDataPercent(){DataTabledata=newDataTable();DataRowrow=null;Randomrandom=newRandom();DataColumn("公司名",typeof(string)));foreach(stringmonthNameinMonthNames){DataColumn(monthName,typeof(double)));}//每个公司每月的百分比表示完成的业绩与计划的百分比for(inti=0;i<;i++){row=();row[0]=CommpanyNames[i];for(intj=1;j<=;j++){

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论