■問題内容
VisualStudio.NetからVisualStudio2008へバージョンアップしたC#で開発した
プロジェクトでVisualStudio2008付属のCrystalReports(10.5.3700.0)から
Excel形式でファイルをエクスポートしています。
ページヘッダーとページフッターをページ毎に出力したいが、レポートの
先頭と末尾に1つずつしか出力されません。
※1.画面プレビュー、帳票への出力ではページ毎に出力されます。
エクセル形式でのエクスポート時にのみ問題が発生します
※2.旧バージョン(VisualStudio.Netで開発/CrystalReports 9.1.3300.0)
ではページヘッダーとページフッターはページ毎に出力されていました。
■質問
VisualStudio2008で付属のCrystalReportsを使用して、XLSファイルへの
エクスポート時にページヘッダとページフッタをページ毎に出力する方法を
教えていただけないでしょうか。
■調査経過1
ExcelFormatOptionsクラスを使用しているので、プロパティの操作で解決しないか
調査した結果、下記URL1、URL2を発見しました。
URL1,URL2は相互にリンクが貼られています。
URL1:http://msdn.microsoft.com/en-us/library/ms226409(v=VS.90).aspx
URL2:http://msdn.microsoft.com/en-us/library/ms226382(v=VS.90).aspx
上記URL1にあるプロパティ(ExportPageHeadersAndFooters)を指定すれば解決すると
考えましたが、使用しているアセンブリCrystalDecisions.Shared(ver10.5.3700.0)のIFには
ExportPageHeadersAndFootersが存在しません。
URL2ではExportPageHeadersAndFootersは定義されていません。
このURL2のIFは使用しているアセンブリのIFと一致します。
※この件をMicrosoft社へ問い合わせたところ、
「URL1とURL2の記述に整合性が取れていないのは、ドキュメントの誤りであるので
修正します。内容に関してはSAP社のフォーラムで問い合わせて欲しい」
と回答がありました。
■調査経過2
また、レポートファイルのデザイン画面で「プレビュー」を表示し、
プレビュー表示されたレポート上でマウスの右クリックメニューの「エクスポート」を
選択し、形式に「Excel97-2000」、出力先に「ディスクファイル」を指定すると、
「エクセル形式オプション」というダイアログが表示されます。
このダイアログには「ページヘッダーとページフッターのエクスポート」という項目があります。
この項目の選択は「各ページ」と「レポートごとに1回」がありまして、「各ページ」を
選択すると、想定通りの結果出力となります。
※但し、実行ファイルに反映されるわけではなくあくまでデザイン時のプレビュー
画面からの出力結果になります。
以上、よろしくお願いいたします。