<質問内容、ご指摘の現象>
◆.NETFrameworkのバージョン: 2.0
◆Visual Studio .NETのバージョン: 2003
◆オペレーティングシステム: WindowsXP Professional
◆OSサービスパック使用状況: Service Pack 2
◆開発言語: Visual Basic .NET
◆製品の修正版適用状況: 4.2.1.1238
◆アプリケーションの形態: Webフォーム
<GrapeCity回答内容>
> ActiveReportsのExcelエクスポート機能(XlsExportクラス)を使用
して、レポートをExcel形式で出力する場合、(1)レポートの作成→(2)
作成したレポートをExcel形式に出力(変換)という処理の流れになり
ます。
CacheToDiskプロパティは、(1)の処理においては機能しますが、(2)の
処理に対しては特に効果がありません。
【ご回答内容について、再度質問がございます】
今回は指示画面(ASP.netで作成)にツールのコンポーネントから選択した
「XlsExport」をコンポーネントトレイに貼り付けエクセル形式で直接
ダウンロードする実装形式となっています。
コード内では、下記のような定義が自動的に行われています。
Protected WithEvents XlsExport2 As DataDynamics.ActiveReports
.Export.Xls.XlsExport
この場合でも、「(1)レポートの作成」という動作が内部で行われ
CacheToDiskを設定する効果が有ると考えて宜しいでしょうか。
以上、宜しくお願い致します。
<回答内容>
たびたびお手数をお掛けしまして申し訳ございません。
レポートをExcel形式で出力する場合、以下のような処理を実装します。
レポートの作成処理が自動的に行われるわけではありません(レポート
を作成せずに、レポートをExcel形式で出力することはできません)。
◆サンプルコード
----------------------------------------
Dim rpt as new ActiveReport1
Dim m_stream As New System.IO.MemoryStream()
' (1)レポートの作成
rpt.Run(False)
' (2)作成したレポートをExcel形式でメモリストリームに出力(変換)
XlsExport2.Export(rpt.Document, Am_stream)
----------------------------------------
上記の場合、(1)の処理において、CacheToDiskプロパティの設定が有効
となります。