Word ファイルとしてエクスポート出来たので書いてみる。
帳票は、Microsoft レポート を使いました。
※ReportViewer コントロールの配置 レポートと ReportViewer コントロールの配置 の方法が Azure では出来ないため、ローカルの GAC からアセンブリファイルをコピーしてプロジェクトに含めています。
これは、ライセンス等に引っ掛かるかどうか確認していませんので、正式に使用する場合は確認して下さい。
レポートと ReportViewer コントロールの配置 から引用
レポートと ReportViewer コントロールは、アプリケーションの一部として自由に配布できます。
となっているので、大丈夫なのかな?
レポート(.rdlc) の作成方法は割愛します。Azure だからといって特に変わりは無いと思います。*1
WebPage(.aspx) に ReportViewer コントロールを貼り付けると、Microsoft.ReportViewer.WebForms というアセンブリが自動的に参照設定されます。
Azure での注意点は、さらに、参照の追加 で .NET タブ から Microsoft.ReportViewer.Common を選択します。
また、GAC から Microsoft.ReportViewer.ProcessingObjectModel を抜き出して(GAC から アセンブリファイルを取り出す方法 - お だ のスペース を参考に)、参照を追加します。
参照に追加したアセンブリのローカルコピーを true に設定し、パッケージング・デプロイします。
以上で完了です。実行してみます。
Word 形式でエクスポートすると、
ダウンロードしたファイルはこんな感じ。
ちなみに ReportViewer コントロールは、PDF や Excel にもエクスポート出来るのですが、Azure で試すと Out of memory が発生してしまします。*2原因は未だ調査していません。
※Azure では無く通常の ASP.NET の Web アプリとして実行すると、Excel、PDF でもエクスポート出来ました。
PDF でエクスポート出来たら万々歳なんですけどね〜。