请问,在asp.net中,给datagrid数据绑定数据源后,把datagrid中的数据导出为excel文件格式。
有时保存下来的excel文件为乱码,正常情况为简体中文;没有找到原因。有excel报表经验的同行,请帮忙分析一下,该如何避免excel文件出现乱码呢,谢谢!附:部分导出代码
//之前已经给datagrid控件进行了数据绑定
Response.Clear();
Response.Buffer= true;
Response.Charset="GB2312";
sring strTmp=DateTime.Now.ToShortDateString()+DateTime.Now.Ticks.ToString();
strTmp="attachment;filename=AssessMonthReport"+strTmp+".xls";
Response.AppendHeader("Content-Disposition",strTmp);
Response.ContentEncoding=System.Text.Encoding.GetEncoding("GB2312");
Response.ContentType = "application/ms-excel";
// // 定义一个输入流
System.IO.StringWriter oStringWriter = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter);
dgrExcel.RenderControl(oHtmlTextWriter);
Response.Write(oStringWriter.ToString());
Response.End();
有时保存下来的excel文件为乱码,正常情况为简体中文;没有找到原因。有excel报表经验的同行,请帮忙分析一下,该如何避免excel文件出现乱码呢,谢谢!附:部分导出代码
//之前已经给datagrid控件进行了数据绑定
Response.Clear();
Response.Buffer= true;
Response.Charset="GB2312";
sring strTmp=DateTime.Now.ToShortDateString()+DateTime.Now.Ticks.ToString();
strTmp="attachment;filename=AssessMonthReport"+strTmp+".xls";
Response.AppendHeader("Content-Disposition",strTmp);
Response.ContentEncoding=System.Text.Encoding.GetEncoding("GB2312");
Response.ContentType = "application/ms-excel";
// // 定义一个输入流
System.IO.StringWriter oStringWriter = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter);
dgrExcel.RenderControl(oHtmlTextWriter);
Response.Write(oStringWriter.ToString());
Response.End();
解决方案 »
- asp.net 问题腾讯微博的广播大厅里面有个热门广播,请问按5分钟、半小时、4小时、24小时是怎么统计的?
- 这句话什么意思?
- 求asp.net(C#)写的WAP程序源码?
- 看看我的问题吧,郁闷了!!!!!
- 错误提示:无法加载一个或多个断点!
- 显示数据的问题(简单)
- 关于DataGrid删除时添加确认对话框的问题
- 如何用javascript实现 焦点到一个TextBox,它就显红色,当焦点离开时,它就显回原来的白色...
- 请教一个关于aspx标记的问题
- 各位大哥,问一下有关ASP。NET中直接运行SQL语句显示的东东...谢谢...(*^_^*)
- 关于<identity impersonate="false">和<identity impersonate="true">
- 未将对象引用设置到对象的实例,不明白
{
if(TextBox1.Text=="")
{
Response.Write("<script language=javascript>");
Response.Write("window.alert(\"请输入文件名\")");
Response.Write("</script>");
}
else
{
Response.Clear();
Response.Buffer=true;
Response.Charset="utf-8";//设置了类型为中文防止乱码的出现
Response.AppendHeader("Content-Disposition","attachment;filename="+System.Web.HttpUtility.UrlEncode(Request.ContentEncoding.GetBytes(TextBox1.Text.ToString()))+".xls");
Response.ContentEncoding=System.Text.Encoding.GetEncoding("utf-8");//设置输出流为简体中文
Response.ContentType = "application/ms-excel";//设置输出文件类型为excel文件。
this.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);
this.LogGrid.RenderControl(oHtmlTextWriter);
Response.Write(oStringWriter.ToString());
}
}
Response.ContentEncoding=System.Text.Encoding.Default
http://aliketen.cnblogs.com/articles/363650.html