SaveExcelToResponseメソッドを呼び出すと後続のサーバー処理が実行されない

文書番号 : 40091     文書種別 : 不具合     登録日 : 2017/03/02     最終更新日 : 2017/03/17
文書を印刷する
対象製品
SPREAD for ASP.NET 8.0J
状況
修正済み
詳細
SaveExcelToResponseメソッドを呼び出すと後続のサーバー処理が実行されません。

【再現コード】
Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
  If IsPostBack Then Return

  FpSpread1.ActiveSheetView.SetValue(0, 0, "abc")
End Sub

Protected Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
  FpSpread1.SaveExcelToResponse("Book1.xlsx", FarPoint.Excel.ExcelSaveFlags.UseOOXMLFormat)

  System.Diagnostics.Debug.WriteLine("処理A")
End Sub

【再現手順】
1.プロジェクトをデバッグモードで実行します
2.Button1をクリックします
 -- ファイルはエクスポートされますがVisual Studioの出力ウィンドウに「処理A」と出力されません
回避方法
Service Pack 4(v8.0.4006.2010)で修正済み。
Service Pack 4(v8.0.4006.2010)より前のバージョンでは次の回避方法が有効です。
------------------------------------------

エクスポートロジックを独自に記述して回避します。

  Protected Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    ' エクスポートロジックを独自に記述
    Dim ms As New IO.MemoryStream()
    FpSpread1.SaveExcel(ms, FarPoint.Excel.ExcelSaveFlags.UseOOXMLFormat)
    ms.Seek(0, IO.SeekOrigin.Begin)
    Dim fileName As String = "Book1.xlsx"
    Dim rp As HttpResponse = HttpContext.Current.Response
    rp.ClearHeaders()
    rp.ClearContent()
    rp.AddHeader("Content-Disposition", "attachment; filename=" + fileName)
    rp.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
    rp.BinaryWrite(ms.ToArray())
    Try
      rp.Flush()
    Catch ex As Exception
    End Try
    HttpContext.Current.ApplicationInstance.CompleteRequest()
    rp.Close()

    System.Diagnostics.Debug.WriteLine("処理A")
  End Sub