はじめに
ActiveReports for .NET(以下、ActiveReports)は、Visual Studioと統合され、多彩な出力形態をサポートする帳票作成コンポーネントです。1998年のActiveX版「ActiveReports 1.0J(日本語版)」の発売以来、17年にわたって多くの開発者に支持され続けており、日本国内の累計販売ライセンスは75,000本を超えています。
2015年には、マルチデータソースに対応した「RDLレポート」や、iPad/iPhoneでの閲覧をサポートする「HTML5ビューワ」などを追加した新バージョン「ActiveReports for .NET 9.0J」が発売されました。
備考
ActiveReportsを使用した帳票アプリケーションの基本的な作成方法については、これまでの連載記事も併せてご参照ください。特に、1つ前のバージョンである7.0J をもとに解説した2013年度版の記事は、9.0Jでもそのままご利用いただける内容となっています。また、2007/2008年度版の記事は3.0Jをもとに解説していますが、3.0Jのレポートと9.0Jのセクションレポートは名前空間や一部のAPIを除いて同じレポート形式であるため、セクションレポートの概念や基本的な使い方についてはこちらもご活用ください。
対象読者
- Visual Basicまたは、Visual C#を使ってプログラムを作ったことのある方
- 帳票作成ツールに興味のある方
必要な環境
-
Visual Studio 2010/2012/2013/2015のいずれかでプログラムが作れる環境
- Express EditionではActiveReportsをインストールできません。また、Visual Studio 2015についてはService Pack 2で対応しています。
3つの帳票デザイン方式
9.0Jでは、従来の「セクションレポート」「ページレポート」に加えて、第3のデザイン方式として「RDLレポート」を追加しています。ActiveReportsが3つの帳票デザイン方式を提案するのは、多様で緻密なレイアウトが要求される日本の帳票開発において、帳票のタイプによってデザイン方式を使い分けることで、より効率よく帳票を設計できると考えているためです。まずは、それぞれのデザイン方式の特長を見ていきましょう。
セクションレポート
セクションレポートは、ActiveReportsの発売当初から提供している形式です。データ(レコード)の数だけDetailやGroupHeader/Footerといったセクションが繰り返し表示されることで1つのページが構築されます。セクションがそのページに収まりきらなくなった場合は、次ページにセクションが出力されます。つまり、帳票レイアウトはセクションの集合体であり、帳票デザインは個々のセクションの繰り返しを意識しながら、各セクションをデザインしていく作業といえます。この方式は、縦方向に明細を繰り返し表示する一覧表のようなレポートを非常に効率よく作成できます。
ページレポート
ページレポートは、7.0Jで追加した形式です。印刷結果とまったく同じレイアウトで帳票をデザインできるため、項目の配置が複雑な帳票に威力を発揮します。印刷結果とデザイン画面はWYSIWYG(what you see is what you get:見たままが得られる)の関係になります。繰り返しデータを表示する部分は、明細用のリストコントロールやテーブルコントロールといったレポート要素を利用することで対処します。また、WYSIWYG はエンドユーザーがレポートを作成するエンドユーザーレポーティングのシナリオにも適しています。
ページレポートを使用した帳票レイアウトの作成方法については、2013年度版の記事をご参照ください。
RDLレポート
RDLレポートは、9.0Jで追加した形式です。RDLレポートのデザイン方式は、SQL Server Reporting Servicesのようなフリーレイアウト方式を採用しており、RDL 2005に準拠しています。セクションの出力位置やページの用紙サイズといったレイアウト上の制約を意識することなく、自由にレポートコントロールをレイアウトできます。繰り返しデータを表示する部分は、ページレポート同様、明細用のリストコントロールやテーブルコントロールといったレポート要素を利用することで対処します。そしてこれらのコントロールがデータ数に応じて伸長していき、印刷の用紙サイズに収まりきらなくなった場合には、セクションレポート同様、次ページに引き続きデータが表示されます。
このように、RDL レポートはページレポートとセクションレポートの特長を合わせたデザイン方式と言えますが、ページレポート/セクションレポートとは異なる点が 2つあります。1つは、複数のデータソースを手軽に使用できること。もう一つは、2つのプレビュー方式(印刷する用紙サイズに合わせて改ページした「印刷プレビュー」、すべてのデータを改ページなしで閲覧できる「ゲラモード」)を持つことです。このため、いわゆる日本帳票のような定型の様式をもった帳票ではなく、データ件数が変化するレポートを柔軟に表示するのに適したデザイン方式です。
RDLレポートを使用した帳票レイアウトの作成方法については、次回の記事で詳しく紹介します。
9.0Jの新機能
9.0Jでは、前述のRDLレポートの他にもいくつか新機能が追加されています。ここでは、新機能の概要を紹介します。
クエリデザイナ
レポートに使用するデータをデータベースから取得するにはSQL文を記述する必要がありますが、9.0JではGUI操作でSQL文を生成できるクエリデザイナが用意されています。テーブルの一覧から必要なフィールド名を選択してソート順や抽出条件を指定するだけで、SQLを書くことなく簡単にデータを抽出できるため、SQL構文に精通していないユーザーでも簡単にデータを取得できます。また、必要なデータを正しく抽出できているか、正しくソートされているかなどを「結果」ペインで確認できます。
レイヤー
ページレポート/RDLレポートでは、レポートデザイン時に複数のレイヤーを利用できます。
デザイン時には、各レイヤーの表示/非表示や透明度を設定できます。これを利用して、既存のレポートをトレースすることができます。具体的には、スキャンした画像を背景レイヤーに配置し、その上にレポートコントロールを配置して帳票レイアウトを作成します。
また、実行時には、レイヤーごとに出力先を設定できるため、宅配伝票や振込依頼書のようにプレ印字された用紙を使う場合に役立ちます。具体的には、帳票のプレビュー時にはデータとプレ印字の用紙(レイアウト枠線)を合わせて表示する一方で、データのみプレ印字用紙に印刷するといった設定が簡単にできます。
詳細については、今後の連載で紹介します。
HTML5ビューワ(Professional)
jQueryウィジェットとして動作するHTML5ビューワが追加されています。HTML5ビューワでは、Internet Explorerに加えて、新たにChromeおよびSafari for iOS(iPad/iPhone)での閲覧をサポートします。ビューワのUIは閲覧するデバイスに合わせてAPIで切り替えることができます。また、ツールバーから他のファイル形式(PDF、Excel、Word、HTML、Tiff)を選択して保存できます。なお、ASP.NET MVCフレームワークを使用したWebアプリケーションの作成も可能です。HTML5ビューワは、Professionalエディション限定の機能です。
詳細については、今後の連載で紹介します。
Mapコントロール(Professional)
ページレポート/RDLレポートでは、レポート上に地図を表示し、データを重ねて表示できます。シェープファイル(.shp)やGoogleマップを組み合わせて、ビジネスデータを分かりやすく視覚化します。Mapコントロールは、Professionalエディション限定の機能です。
詳細については、今後の連載で紹介します。
ActiveReports Server(Professional)
ActiveReports Serverは、Service Pack 1で追加された機能です。ActiveReportsで作成した帳票の運用・管理が手軽にできる製品で、Webサーバー(IIS)にインストールするだけで簡単に帳票運用環境を構築できます。エンドユーザーはポータル画面から、帳票のアップロード、プレビュー・印刷、他ファイル形式への保存、スケジューリング実行などの機能を利用できます。ActiveReports Serverは、Professionalエディション限定の機能です。
詳細については、今後の連載で紹介します。また、ActiveReports Server特設ページにも、スクリーンショットや動画で分かりやすく紹介されています。
9.0Jの改善点
9.0Jでは、新機能だけでなく、既存の機能についても操作性やレイアウト精度を見直してブラッシュアップを図っています。ここでは、主な改善点について紹介します。
Excelエクスポート
ページレポート/RDLレポートに、専用のExcelエクスポート(描画拡張機能)を追加しました。従来のExcelエクスポートを使用した場合に比べて、レイアウト精度が飛躍的に向上しています。プレビュー画面の表示とほぼ同じレイアウトでのExcel出力が可能となり、データの一部を更新して印刷したい場合にもレイアウトの修正が不要です。
マウスでFixedSizeプロパティの変更
ページレポートでは、マウス操作でFixedSizeプロパティ(Tableなどのデータ領域の描画範囲)を変更できます。
9.0JでページレポートにTableなどのデータ領域を配置すると、マウス操作用の2つのハンドルが表示されます。1つは、データ領域のセルの大きさを設定するハンドル(白四角)で、これは他のTextBoxコントロールなどにも共通のものです。もう一つは、その外側に表示されるハンドル(黒丸)で、これをドラッグしてデータ領域の描画範囲を変更します。
角丸罫線の個別設定
セクションレポートでは、ShapeコントロールおよびCrossSectionBoxコントロールの角丸の大きさを個別に設定できます。日本の帳票では罫線を多用したレイアウトがよく見られますが、上の角だけ丸くしたり個別に角丸の大きさを変えたりといった細かな要件にも容易に対応できます。
なお、ページレポートは7.0Jで対応しており、9.0Jで追加されたRDLレポートでも同様に利用できます。
クラウド対応
9.0Jでは、従来の物理サーバーに加えて、クラウド仮想マシン(Microsoft Azure Virtual Machines、Amazon EC2)での運用を正式にサポートしています。これにより、運用環境の変化に合わせて安心して帳票アプリケーションを動作させることが可能となっています。
まとめ
今回は、9.0Jで追加された新機能および改善点の概要を紹介しました。9.0Jで追加されたRDLレポートを含め、作成する帳票レイアウトに合わせて3つの帳票デザイン方式を使い分けることで、さらに効率のよい帳票作成が可能です。
次回は、「RDLレポート」の特長を利用したレポートレイアウトの作成方法を紹介します。