epplus保存为流_通过EPPlus导出Excel文件

小弟刚刚走上工作岗位不久,工作中常常遇到要导出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=newOfficeOpenXml.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();

导出的Excel文件属性:

导出的Excel文件内容:

我测试了下,这个组件在2008 64位机器上也能运行,如果有感兴趣的,可以试试,至于学习资料,目前好像只有官网有,如果不是因为这个插件本身有缺陷,还希望有兴趣的同志能研究一下,这也是我写此文的目的,希望以后能多点中文的资料,不用头疼去看英文。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值