3

約90000行を返すレポートがあります。しかし、asp.netページからExcelにエクスポートすると、次
のエラーが発生します。レポートのレンダリング中にエラーが発生しましたが
、同じレポートがレポートサーバーからExcelに正常にエクスポートされています。
Webページからさらにいくつかのパラメーターを渡してレコード数を100に減らすと、それをエクスポートしてWebページ自体から優れたものにすることができます。

編集-1
スタックトレース:[例外:このエラーの詳細については、ローカルサーバーマシンのレポートサーバーに移動するか、リモートエラーを有効にしてください]

[例外:レポートのレンダリング中にエラーが発生しました。] Microsoft.Reporting.WebForms.ServerReport.ServerUrlRequest(Boolean isAbortable、String url、Stream outputStream、String&mimeType、String&fileNameExtension)+574 Microsoft.Reporting.WebForms.ServerReport.InternalRender(ブールisAbortable、String format、String deviceInfo、NameValueCollection urlAccessParameters、Stream reportStream、String&mimeType、String&fileNameExtension)+905 Microsoft.Reporting.WebForms.ServerReport.Render(String format、String deviceInfo、NameValueCollection urlAccessParameters、Stream reportStream、String&mimeType、String&fileNameExtension )+28 Microsoft.Reporting.WebForms.ServerReport.Render(String format、String deviceInfo、NameValueCollection urlAccessParameters、String&mimeType、String&fileNameExtension)+88 Microsoft.Reporting.WebForms.ServerReportControlSource.RenderReport(String format、String deviceInfo、NameValueCollection additionalParams、String&mimeType、String&fileExtension)+123 Microsoft.Reporting.WebForms.ExportOperation.PerformOperation(NameValueCollection urlQuery、HttpResponse response)+153 Microsoft .Reporting.WebForms.HttpHandler.ProcessRequest(HttpContext context)+585 System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()+901 System.Web.HttpApplication.ExecuteStep(IExecutionStep step、Boolean&completedSynchronously)+76ExportOperation.PerformOperation(NameValueCollection urlQuery、HttpResponse response)+153 Microsoft.Reporting.WebForms.HttpHandler.ProcessRequest(HttpContext context)+585 System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()+901System.Web。 HttpApplication.ExecuteStep(IExecutionStep step、Boolean&completedSynchronously)+76ExportOperation.PerformOperation(NameValueCollection urlQuery、HttpResponse response)+153 Microsoft.Reporting.WebForms.HttpHandler.ProcessRequest(HttpContext context)+585 System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()+901System.Web。 HttpApplication.ExecuteStep(IExecutionStep step、Boolean&completedSynchronously)+76

4

8 に答える 8

2

いくつかの回避策を提案できます。レポートには、画面にレンダリングするのではなく、強制SSRSレポートへのリンクを配置してファイルを作成できます。

リンクには次のものが含まれている必要があります。

http://localhost/ReportServer/Pages/ReportViewer.aspx?
%2fSample+Report&rs:Format=excel
于 2013-02-11T11:08:20.317 に答える
2

SSRS 2008は、XLS(MS Office 2003)にのみエクスポートできます。XLSファイルは65k行に制限されています

レポートマネージャーからのエクスポートの行数を確認しましたか?XLSXへのエクスポートを許可するためにカスタムまたはサードパーティのツールを使用している場合を除き、ファイルには最大65k行しか含まれていません。

レポートマネージャーは、レポートから本質的にSELECT TOP 65kのようなものを実行することにより、超過した行の長さを回避すると思います。asp.netインターフェイスはおそらくこの制限を考慮しておらず、Excelエクスポートに多くの行を強制しています。

オプションは次のとおりです。

1.)XLSXへのエクスポートを許可するSSRS2012を使用します。XLSXファイルは、さらに多くの行を処理できます。

2.)XLSにエクスポートする前に、asp.netコードを変更して上位65k行をスライスします。

3.)SSRS 2008のエクスポート制限を回避するために、サードパーティまたはカスタムソリューションを検討します(私はAsposeを知っています)。

4.)CSVにエクスポートしてから、エンドユーザーにCSVをExcelに変換してもらいます。

于 2013-02-11T19:39:16.337 に答える
2

dev_etterが述べたように、SSRS 2008は、すぐに使用できるこのような大きなExcelレポートをサポートしていませんが、OOXML(.xlsx / .xlsm)形式でレポートを設計およびエクスポートできるSoftArtisansOfficeWriterなどのサードパーティツールを使用して実行できます。

免責事項:私はSoftArtisansで働いています

于 2013-02-26T15:06:43.767 に答える
1

ReportViewerコントロールにタイムアウトエラーがあるのではないでしょうか。遊んでみてください:

ViewerControl.ServerReport.Timeout

http://msdn.microsoft.com/en-us/library/microsoft.reporting.winforms.serverreport.timeout(v=vs.80).aspx レポートサーバーもReportViewerコントロールを使用し、場合によっては構成が異なるためです。タイムアウトのデフォルト値は600000ミリ秒です。

ところで:StackTraceを見るのは素晴らしいことです。これはあなたにより良い答えを与えるのに役立ちます。

于 2013-02-11T10:17:47.173 に答える
0

サーバー上のRAMが問題になる可能性があります。ここには多くの問題があり、大量のレポートが届かず、少なくとも応答からはramがそれらを修正しているようです。

于 2013-02-11T11:17:19.423 に答える
0

問題Excelの65kの制限を超えている場合は、親グループをTablixに追加し、グループ式に次のコードを追加できます。

=CEILING(RowNumber(Nothing)/65500)

次に、グループの各インスタンスの間にページ分割を追加します...

これにより、65500行を超えるTablixのExcelファイルに複数のタブが作成されます。

于 2013-10-17T01:58:43.740 に答える
0

私の修正は、レポートのシール(画像)を削除することであることが判明しました。これがpngに限定されているかどうかはわかりませんが、削除された後、レポートは問題なくExcelにエクスポートされました。

于 2016-02-11T22:19:04.460 に答える
0

SSRS 2014で、タイプクエリによる階層接続を使用してOracle SSRSレポートをエクスポートするときに、この問題が発生しました。レポートは表示されていましたが、予想よりも高速でした。バックグラウンドでタイムアウトしているのではないかと思っていましたが、それでもいくつかの行が表示されています。レポートをタイムアウトしないように変更したところ、修正されました。その後、実行に時間がかかりましたが、終了後にExcelにエクスポートされます。

于 2017-06-28T16:29:54.820 に答える