小强_博客园  

之前网上查找了很多关于这类的代码。要不是中文乱码,要不是就是太复杂。这个是我用过最好用的。

//ds为数据源,filename为保存的文件名
publicvoidCreateExcel(DataSet ds,stringFileName)
{
//设置信息
HttpContext.Current.Response.Clear();
HttpContext.Current.Response.ContentType="application/vnd.ms-excel";
HttpContext.Current.Response.ContentEncoding=System.Text.Encoding.GetEncoding("GB2312");
HttpContext.Current.Response.Charset="GB2312";
//保存的文件名
HttpContext.Current.Response.AddHeader("content-disposition","attachment;filename="+HttpUtility.UrlEncode(FileName));
//保存excel的文件流
StringWriter stringWrite =newStringWriter();
HtmlTextWriter htmlWrite =newHtmlTextWriter(stringWrite);
//数据的ds
DataGrid dg =newDataGrid();
dg.DataSource= ds;
dg.DataBind();
dg.RenderControl(htmlWrite);
//输出数据
HttpContext.Current.Response.Write("<meta http-equiv=\"content-type\" content=\"application/ms-excel; charset=gb2312\"/>"+ stringWrite.ToString());
HttpContext.Current.Response.End();
}

 

posted on 2015-06-03 14:18  小强-X  阅读(825)  评论(3编辑  收藏  举报