0

私は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("&nbsp;&nbsp;<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を使用しています。

クマールに関して

4

2 に答える 2

0

この仲間を試してみてください

 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

乾杯

于 2012-04-05T07:09:29.580 に答える
0

Response.End()ページライフサイクルの実行を完全に停止します。

多分あなたは試すことができますHttpContext.Current.ApplicationInstance.CompleteRequest();

その代わりに。

于 2012-04-05T04:42:49.337 に答える