您的位置:首页 > 编程语言 > ASP

asp.net 使用Linq 把数据导出到Excel

2008-08-27 13:44 681 查看
问题:

最近有需要通过WEB把数据导出到Excel的功能, 关于导出数据到Excel并无什么新奇可言,网络上到处都是,

但基本上都是一种模式,通过DataGrid 把数据导出到Excel的方式。

前些时间有朋友为了完成此功能,就硬把数据导入DataGrid再导出到Excel。这实在是多此一举。

解决办法:

通过Linq将数据读出,并直接写入数据流中

代码如下:

public partial class DataToExcel : System.Web.UI.Page

{

protected void Page_Load(object sender, EventArgs e)

{

DataAccess.DataClassesDataContext db = new DataClassesDataContext();

var qu = from t in db.TXLInfos

select t;

Response.AppendHeader("Content-Disposition", "attachment;filename=result.xls");

Response.ContentType = "application/ms-excel";

Response.Charset = "gb2312";

Response.ContentEncoding = Encoding.GetEncoding("gb2312");

System.IO.StringWriter writer = new System.IO.StringWriter();

foreach(TXLInfo item in qu)

{

writer.Write(item.GQName);

writer.Write("/t");

writer.Write(item.GQID);

writer.WriteLine();

}

Response.Write(writer.ToString());

Response.End();

}

}

注:"/t"默认做为Excel中两列之间的分隔符号
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: