2011-10-13 17:37:40| 分类: Office文档操作 | 标签: |字号大中小 订阅
开源地址: http://epplus.codeplex.com
使用epplus 组件导出excel 时,针对已生成的excel 文件 替换速度比直接read excel 替换速度快很多, 另外也不需要去控制excel 中的格式.
引用自:http://www.shaoqun.com/Article/学习笔记——通过EPPlus导出Excel文件.html
学习笔记——通过EPPlus导出Excel文件2011/9/18 21:00:42
小弟刚刚走上工作岗位不久,工作中常常遇到要导出Excel的情况,但感觉两种常见的导出方式(一种是通过GridView,另一种是通过微软的COM组件)都不是很理想,前者导出的灵活度太低,后者又常常出现进程无法回收,所以一直想找个.net平台的第三方Excel组件,于是就在网上找到了EPPlus。
EPPlus是一个使用Open Office XML(xlsx)文件格式,能读写Excel 2007/2010 文件的开源组件,官网为:http://epplus.codeplex.com/。唯一的遗憾是我在网上没有找到有关这个组件的中文资料,我一直不清楚为什么,难道这个组件有什么大缺陷?还是目前还没在国内大量会用?反正我看了官网的介绍后感觉这个组件还是蛮好的,就决定先用它了。(如果这个组件有什么大缺陷,还请知情人士告诉我一下,省得我再花时间研究它了。)
下面是一个简单的例子,通过EPPlus组件来导出一个Excel文件(首先添加EPPlus引用)。我是在页面放个button,Onclick事件处理函数如下:
//创建工作表 OfficeOpenXml.ExcelPackage ep = new OfficeOpenXml.ExcelPackage(); OfficeOpenXml.ExcelWorkbook wb = ep.Workbook; OfficeOpenXml.ExcelWorksheet ws = wb.Worksheets.Add("我的工作表");//配置文件属性 wb.Properties.Category = "类别"; wb.Properties.Author = "作者"; wb.Properties.Comments = "备注"; wb.Properties.Company = "公司"; wb.Properties.Keywords = "关键字"; wb.Properties.Manager = "管理者"; wb.Properties.Status = "内容状态"; wb.Properties.Subject = "主题"; wb.Properties.Title = "标题"; wb.Properties.LastModifiedBy = "最后一次保存者";//写数据 ws.Cells[1, 1].Value = "Hello"; ws.Cells["B1"].Value = "World"; ws.Cells[3, 3, 3, 5].Merge = true; ws.Cells[3, 3].Value = "Cells[3, 3, 3, 5]合并"; ws.Cells["A4:D5"].Merge = true; ws.Cells["A4"].Value = "Cells[\"A4:D5\"]合并";//写到客户端(下载) Response.Clear(); Response.AddHeader("content-disposition", "attachment; filename=FileFlow.xlsx"); Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"; Response.BinaryWrite(ep.GetAsByteArray()); //ep.SaveAs(Response.OutputStream); 第二种方式 Response.Flush(); Response.End();转载于:https://www.cnblogs.com/Fly-sky/archive/2011/12/01/2270682.html
相关资源:c#利用EPPlus读取excel实例