DataGrid生成EXCEL为.xls格式,客户端用word07打开时会出现两个问题: 1、打开出现“您尝试找开的文件的格式与文件扩展名指定的格式不一致”。打开后正确显示,无缺少数据情况。
2、打开出现乱码,出错原因:单元格数据太大
if(ds != null)
{
DataGrid1.DataSource = ds.Tables[0].DefaultView;
DataGrid1.DataBind();
string strTitle = "文件" + this.txtStatMonth.Text.Trim() + "内容";
Response.Clear();
Response.Buffer = true;
Response.Charset = "UTF-7";
Response.AppendHeader("Content-Disposition","attachment;filename=" +HttpUtility.UrlEncode(strTitle+".xls"));
Response.ContentEncoding = System.Text.Encoding.GetEncoding("UTF-7");
Response.ContentType = "application/ms-excel";
this.EnableViewState = false;
System.IO.StringWriter sw = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter hw = new System.Web.UI.HtmlTextWriter(sw);
DataGrid1.RenderControl(hw);
Response.Write(sw.ToString());
Response.End();
}
else
{
Response.Write("<script language='javascript'>alert('没有要导出的数据!');</script>");
return;
} 备注:如何解决这种兼容性问题。当生成CSV格式时,同样会有这种问题。有时只有列名内容空白。求助。。麻烦各位,谢谢
2、打开出现乱码,出错原因:单元格数据太大
if(ds != null)
{
DataGrid1.DataSource = ds.Tables[0].DefaultView;
DataGrid1.DataBind();
string strTitle = "文件" + this.txtStatMonth.Text.Trim() + "内容";
Response.Clear();
Response.Buffer = true;
Response.Charset = "UTF-7";
Response.AppendHeader("Content-Disposition","attachment;filename=" +HttpUtility.UrlEncode(strTitle+".xls"));
Response.ContentEncoding = System.Text.Encoding.GetEncoding("UTF-7");
Response.ContentType = "application/ms-excel";
this.EnableViewState = false;
System.IO.StringWriter sw = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter hw = new System.Web.UI.HtmlTextWriter(sw);
DataGrid1.RenderControl(hw);
Response.Write(sw.ToString());
Response.End();
}
else
{
Response.Write("<script language='javascript'>alert('没有要导出的数据!');</script>");
return;
} 备注:如何解决这种兼容性问题。当生成CSV格式时,同样会有这种问题。有时只有列名内容空白。求助。。麻烦各位,谢谢
解决方案 »
- FCKEditor
- 利用post打开新页面后,上传控件 不触发后台代码
- Button控件如何在javascript通过的情况下才执行onclick事件?
- 配置ASP.NET的运行环境,windows2003下是安装哪个版本的MDAC和.NET FRAMMEWORK SDK?
- repeater ItemDataBound
- 请问各位大虾哪里有免费的asp.net空间
- .cs?
- 新手提问:GridView 中DropDownList的数据绑定问题?急!
- SQL2005express 数据库布属问题."主文件为只读时,无法重新生成日志。"
- 请教中文的读写问题!等待!
- 要用ActiveX开发嵌入IE里的东西,请问有什么参考书吗?
- 如何构建一个电子商务网站,大家给些建议,谢谢!
Response.Clear();
Response.Buffer = true;
Response.Charset = "GB2312";
Response.Write("<meta http-equiv=Content-Type content=text/html;charset=GB2312>");
Response.AppendHeader("Content-Disposition", "attachment;filename=FileName.xls");
Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");
Response.ContentType = "application/vnd.xls";//设置输出文件类型为excel文件。
System.IO.StringWriter oStringWriter = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter);
DataGrid1.RenderControl(oHtmlTextWriter);
Response.Output.Write(oStringWriter.ToString());
Response.Flush();
Response.End();
http://www.cnblogs.com/surfsky/archive/2008/07/31/1257352.html