将数据网格导出为excel时出错
问题描述:
我正在尝试将数据网格导出为excel。 使用该代码。将数据网格导出为excel时出错
Response.Clear();
Response.AddHeader("content-disposition", "attachment;filename=Salary_JV_Posting_For_PG_.xls");
Response.Charset = "";
Response.ContentType = "application/vnd.xls";
System.IO.StringWriter stringWrite = new System.IO.StringWriter();
stringWrite.Write(" <b><font color=#336699 size = 25px><u>test</u></font></b> ");
stringWrite.Write(Environment.NewLine);
stringWrite.Write(Environment.NewLine);
System.Web.UI.HtmlTextWriter htmlWrite = new HtmlTextWriter(stringWrite);
Response.Flush();
dgLine.RenderControl(htmlWrite);
Response.Write(stringWrite.ToString());
Response.End();
我试图调试,但在执行的最后一行(到Response.End)如果出现以下错误出现
Data = Unable to evaluate expression because the code is optimized or a native frame is on top of the call stack.
我使用AJAX
。
认为库马尔
答
Response.End()
绝对会停止页面生命周期执行。
也许你可以试试HttpContext.Current.ApplicationInstance.CompleteRequest();
,而不是它。
答
试试这个哥们
Public Sub ExportGridToExcel(ByVal GridView1 As DataGrid, ByVal fileName As String)
Response.Clear()
Response.AddHeader("content-disposition", String.Format("attachment;filename={0}.xls", fileName))
Response.Charset = ""
Response.ContentType = "application/vnd.xls"
Dim stringWrite As New StringWriter()
Dim htmlWrite As New HtmlTextWriter(stringWrite)
GridView1.RenderControl(htmlWrite)
Response.Write(stringWrite.ToString())
Response.Flush()
Response.[End]()
End Sub
并称之为按钮喜欢这里
Protected Sub ImageButton1_Click(ByVal sender As Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles ImageButton1.Click
ExportGridToExcel(DataGrid1, "IT-ADEEL")
End Sub
欢呼