Azure で帳票を試してみる

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 でエクスポート出来たら万々歳なんですけどね〜。

*1:そもそも .rdlc を初めて使ったので違いが分かりません…

*2:デバッグ環境(Development Fabric) でも同様