asp.net Linq把数据导出到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中两列之间的分隔符号