datagrid数据导出excel文件,有时出现乱码

terencegan 2006-04-11 02:56:43
请问,在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();
...全文
424 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
gui1401 2006-05-16
  • 打赏
  • 举报
回复
http://aliketen.cnblogs.com/articles/363650.html
terencegan 2006-04-15
  • 打赏
  • 举报
回复
http://dev.csdn.net/article/83/83254.shtm
aliketen 2006-04-11
  • 打赏
  • 举报
回复
用这个保证没问题
http://aliketen.cnblogs.com/articles/363650.html
happyoneeve 2006-04-11
  • 打赏
  • 举报
回复
中文系统设置为默认的就可以了吧。
Response.ContentEncoding=System.Text.Encoding.Default
xieyun9958 2006-04-11
  • 打赏
  • 举报
回复
private void Button1_Click(object sender, System.EventArgs e)
{
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());
}
}
活靶子哥哥 2006-04-11
  • 打赏
  • 举报
回复
http://www.aspxboy.com/private/showthread.asp?threadid=341

http://www.aspxboy.com/private/showthread.asp?threadid=401

62,025

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧