0

ASP.netでExcelレポートを生成/送信するという問題全体に不慣れです。

以下のコードは、大量のデータ (大きな Excel レポート) では機能しない場合がありますが、当社以外のユーザーがブラウザから要求した場合に限ります。実行すると常に機能し、サーバーと同じ建物にいます。

クライアントには IE9 と MS Office 2010 があります。クライアントにエラーは発生しません。長い待ち時間の後、クライアントは単にレポートを取得しません。エラーなしでタイムアウトするようです。

クライアントに大きなExcelレポートを提供するために、以下のアプローチに代わるものはありますか?

以下のコードで問題を引き起こす可能性のある何か間違ったことはありますか?

Excel でクライアント側で開くことができるクライアント用のレポートを生成するための最良の=堅牢な方法は何ですか?

Response.ContentType = "application/ms-excel" 
Response.AddHeader("Content-Disposition", "attachment; filename=" + ReportName + ".xls") 

Response.Write("<table border =1>") 
For Each ch As ColumnHeaders In arrCh 
    If ch.ColumnName <> "" Then 
            pCh = pCh & "<td><b>" & ch.ColumnName & "</b></td>" 
                    pColCount = pColCount + 1 
                End If 
Next 

If pExtraHeader <> "" Then 
    Response.Write(pExtraHeader) 
End If 
Response.Write("<tr>" & pCh & "</tr>") 
If oSQLDataReader.HasRows Then 
    Do While oSQLDataReader.Read() 
            Response.Write("<tr>") 
                For I = 0 To arrCh.Count - 1 
                    If arrCh(I + 1).columnname <> "" Then 
                        Response.Write("<td>" & strColumnValue & "</td>") 
                        If arrCh.Item(I + 1).isTotal = True Then 
                            arrCh.Item(I + 1).placeholder = CDbl(arrCh.Item(I + 1).placeholder) + CDbl(oSQLDataReader.GetValue(I)) 
                        End If 
                     End If 
                Next 
                Response.Write("</tr>") 
        Loop 

        Dim pTotal As String = "" 
        For Each ch As ColumnHeaders In arrCh 
            If ch.ColumnName <> "" Then 
              pTotal = pTotal & "<td><b>" & strColumnValue & "</b></td>" 
          End If 
        Next 
    Response.Write("<tr>" & pTotal & "</tr>" 

End If 
Response.Write("</table>") 
4

1 に答える 1

0

それはすべてのコードですか?応答をフラッシュしてファイナライズしていますか?

それ以外にも、Excel の場合、Excel ワークブックを自動的に生成し、ファイルを添付ファイルとしてクライアントに返すサーバー コンポーネントが多数あります (すべての処理はサーバー上で行われます)。

そして最後に (これは常に最後の手段です)、サーバー上に Excel オートメーションがあります。

この回答を確認してください。利用可能なさまざまな代替手段の内訳は次のとおりです。

于 2013-02-13T19:11:36.460 に答える