gv导出Excel的时候,通过Try..catch捕获到异常:由于代码已经过优化或者本机框架位于调用堆栈之上 无法计算表达式的值public static void ToExcelOrWord(Control gvName,string contentType,string fileName)
{
HttpContext.Current.Response.Charset="GB2312";
HttpContext.Current.Response.AppendHeader("Content-Disposition","attachment;filename="+HttpContext.Current.Server.UrlEncode(fileName));
HttpContext.Current.Response.ContentEncoding=System.Text.Encoding.GetEncoding("GB2312");
HttpContext.Current.Response.ContentType=contentType;
gvName.Page.EnableViewState=false;
System.Globalization.CultureInfo myCItrad=new System.Globalization.CultureInfo("ZH-CN",true);
StringWriter stringWriter=new StringWriter(myCItrad);
HtmlTextWriter htmlWriter=new HtmlTextWriter(stringWriter);
gvName.RenderControl(htmlWriter);
HttpContext.Current.Response.Write(stringWriter.ToString());
HttpContext.Current.Response.End();//运行到这里就报错,导致在360浏览器下,导出异常
}
{
HttpContext.Current.Response.Charset="GB2312";
HttpContext.Current.Response.AppendHeader("Content-Disposition","attachment;filename="+HttpContext.Current.Server.UrlEncode(fileName));
HttpContext.Current.Response.ContentEncoding=System.Text.Encoding.GetEncoding("GB2312");
HttpContext.Current.Response.ContentType=contentType;
gvName.Page.EnableViewState=false;
System.Globalization.CultureInfo myCItrad=new System.Globalization.CultureInfo("ZH-CN",true);
StringWriter stringWriter=new StringWriter(myCItrad);
HtmlTextWriter htmlWriter=new HtmlTextWriter(stringWriter);
gvName.RenderControl(htmlWriter);
HttpContext.Current.Response.Write(stringWriter.ToString());
HttpContext.Current.Response.End();//运行到这里就报错,导致在360浏览器下,导出异常
}
解决方案 »
- 树状图超出了div容器,怎么解决?
- 如何解决在firefox中window.open打不开的问题
- 心路--求解
- 如何才能访问非本地机器上的aspx文件?
- ASP.NET1.1使用DLL提示编译错误,请指教?
- Process.Start的使用问题
- 在Windows7下用VS2010写ASP.Net如何本地测试自己写的网站
- 各位帮忙,Active Directory操作问题!!
- 我用Visual Studio自带的数据库ASPNETDB.MDF作为SqlDataSource的数据源,但进行配置的时候只能看到列出的视图而看不到表,这是怎么回事呢
- 在asp.net中如何实现购物车结账功能?
- 请教:关于三层架构中数据权限的问题
- 求助关于一个图片效果的,类似于这样
Response.Output.Write(oStringWriter.ToString());
Response.Flush();
Response.End();
griV.AllowPaging = false; //清除分页
griV.AllowSorting = false; //清除排序
getView(); //你绑定gridview1数据源的那个函数。
HttpContext.Current.Response.Clear();
HttpContext.Current.Response.Buffer = true;
HttpContext.Current.Response.Charset = "GB2312";
HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.GetEncoding("utf-8");
HttpContext.Current.Response.ContentType = "application/ms-excel"; //设置输出文件类型为excel文件。
System.IO.StringWriter oStringWriter = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter); //HttpContext.Current.Response.AppendHeader("Content-Disposition", "attachment;filename=Excel.xls"); //.xls的文件名可修改
HttpContext.Current.Response.AppendHeader("Content-Disposition", "attachment;filename=\"" + System.Web.HttpUtility.UrlEncode("Excel", System.Text.Encoding.UTF8) + ".xls\""); //.xls的文件名可修改
griV.RenderControl(oHtmlTextWriter);
HttpContext.Current.Response.Output.Write(oStringWriter.ToString());
HttpContext.Current.Response.Flush();
HttpContext.Current.Response.End();
griV.AllowSorting = true; //恢复分页
griV.AllowPaging = true; //恢复排序
getView();//重新绑定
Response.Buffer = true;
Response.Charset = "GB2312";
Response.AppendHeader("Content-Disposition", "attachment;filename=Customers.xls");
// 如果设置为 GetEncoding("GB2312");导出的文件将会出现乱码!!!
Response.ContentEncoding = System.Text.Encoding.UTF7;
Response.ContentType = "application/ms-excel";//设置输出文件类型为excel文件。
System.IO.StringWriter oStringWriter = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter);
this.gvzh.RenderControl(oHtmlTextWriter);
Response.Output.Write(oStringWriter.ToString());
Response.Flush();
Response.End();
http://www.cnblogs.com/dreamof/archive/2008/06/13/1219437.html