最近发现以前写的利用逗号分隔来导出EXCEL会存在某些问题,如某个字段内容存在逗号的时候会造成数据移位
到cnblogs里面看了一些导出Excel的方法,总结分析了一下,一下的方法最有效
好处:
1、不存在Datagridview分页问题。
2、速度还不错。
3、优于使用逗号分隔的方法,不存在数据移位。
4、封装比较简单。
public static void ExportExcel(System.Web.UI.Control control,DataSet ds)
{
control.Page.Response.Clear();
control.Page.Response.Buffer = true;
control.Page.Response.ContentType = "application/vnd.ms-excel";
control.Page.Response.Charset = "";
control.Page.EnableViewState = false;
System.IO.StringWriter oStringWriter = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter);
System.Web.UI.WebControls.DataGrid dg = new System.Web.UI.WebControls.DataGrid();
dg.DataSource = ds;
dg.DataBind();
dg.RenderControl(oHtmlTextWriter);
control.Page.Response.Write(oStringWriter.ToString());
control.Page.Response.End();
}
可以直接放到自己需要打包的DLL里面,以后都不用再写导出EXCEL的代码,直接引用就OK 超级方便
posted @ 2009-06-29 17:31 Shannon 阅读(1540) 评论(1)
编辑