您的位置:首页 > 其它

.net中将DataTable导出到word、Excel、txt、htm的方法

2014-10-29 00:34 537 查看
dt:DataTable

strFile:fileName

strExt:type

private void GridExport(DataTable dt, string strFile, string strExt)

{

string strAppType = "";

switch (strExt)

{

case "xls":

strAppType = "application/ms-excel";

break;

case "doc":

strAppType = "application/ms-word";

break;

case "txt":

strAppType = "application/ms-txt";

break;

case "html":

case "htm":

strAppType = "application/ms-html";

break;

default: return;

}

GridView MyGridView = new GridView();

MyGridView.DataSource = dt;

MyGridView.DataBind();

HttpContext.Current.Response.Clear();

HttpContext.Current.Response.Buffer = true;

HttpContext.Current.Response.AddHeader("Content-Type", "text/html; charset=GB2312");

HttpContext.Current.Response.AppendHeader("Content-Disposition",
string.Format("attachment;filename={0}.{1}",
HttpUtility.UrlEncode(strFile,Encoding.GetEncoding("GB2312")), strExt));

HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");

HttpContext.Current.Response.ContentType = strAppType;

//MyGridView.Page.EnableViewState = false;

//二、定义一个输入流

System.Globalization.CultureInfo myCItrad = new System.Globalization.CultureInfo("ZH-CN", true);

System.IO.StringWriter oStringWriter = new System.IO.StringWriter(myCItrad);

System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter);

//三、将目标数据绑定到输入流输出

MyGridView.RenderControl(oHtmlTextWriter);

HttpContext.Current.Response.Write(oStringWriter.ToString());

HttpContext.Current.Response.End();

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: