ActiveReportsでExcel方眼紙や紙の帳票を帳票システムへ移行しよう
ActiveReportsの新機能を活用して一歩進んだ帳票を作成しよう 第1回
ダウンロード サンプルファイル (64.2 KB)
今回より、ActiveReports for .NET 11.0Jの新機能を活用して帳票システムを作成していきます。第1回の今回は、「Excelインポート」機能を用いて、Excel方眼紙で作成した帳票デザインを帳票システムに移行します。CSVデータソースからのデータ入力の方法もご紹介します。本稿の後半では、紙の帳票をもとに、ActiveReportsのレイヤー機能を使って帳票を作成する方法を解説します。
Excel方眼紙というものありけり
日本の企業では帳票というものが多く存在します。帳票の特徴は、外枠があり、その中が記入する情報量に応じて枠線でコマ割りされている点です。元々が記入項目名や枠線、そして注意事項のみが印刷されて、あとは手書きで記入するものでしたから、入力欄の大きさも場合によっては適切ではなく、記入する文字を小さくしたり1枠の中に2段で書いたりして人間系により柔軟に運用するものでした。
次のステップは、帳票デザインを印刷してある紙に、後からデータ部分だけ印字するというシステム化でした。ここで重要なのは印字時の位置合わせとなります。
そして最終的に紙ベースが終わって電子化したときにも、こだわったのが元の紙ベースの帳票のデザインを踏襲することであり、要は、いかに元のデザインと一緒に文字を印字するかという難題でした。
このような過程の中で、Wordのさまざまな便利機能ではどうしても元のデザインを再現できず、Excelを使って一つひとつのセルを正方形にしたExcel方眼紙という手法が生まれてきました。
Excel方眼紙の問題点
Excel方眼紙では、文章の折り返しなども既定の文字数まで入れ、次の行の所定のセルから文章を続けるような手作業制御が可能です。意図しない折り返しや字下げ設定など何も考えずに済みます。では、何がいけないのでしょうか。
図2の例にあるように「・・・元々が記入項目名や・・・」の途中で折り返しが入ったとき、文字列としてはどうなるでしょうか。「・・・元々が記入項」下のセルに移動して「目名や・・・」と入力した場合、後から「記入項目」で検索したとしても検索にヒットしませんし、もちろん一括置換の対象にもなりません。
また、文章に追加があったときも、後ろにはみ出したものをカットして下の行の先頭にペーストするということを延々と繰り返さなければなりません。
これは、非常に非効率的な作業です。
ActiveReportsによる帳票作成
このExcel方眼紙で作った帳票を、ActiveReportsに取り込んでいきたいと思います。今回使用する「ActiveReports for .NET 11.0J」は、以下のリンクよりトライアル版を入手できます。
ActiveReportsのレポート形式の種類と特徴
ActiveReportsのレポート形式には、セクションレポート、ページレポート、RDLレポートがあります。
| 形式 | レイアウト方式 | 用途 | 備考 |
|---|---|---|---|
| セクションレポート | セクションベース(ヘッダ、詳細、フッタで構成)のレイアウト方式。データ量に応じてセクションが繰り返されるため、デザイナ画面と実際の印刷結果は一致しない | 大量データの一覧として出力する帳票、データを繰り返し表示する帳票に最適。開発者が使い慣れているVB.NETやC#で帳票を柔軟に設計できる | ActiveReports for .NET発売当初からのレポート形式 |
| ページレポート | ページイメージをそのままデザインできるページベースのレイアウト方式。データの繰り返しはデータ領域コントロールで定義する | 項目の配置が複雑な帳票に最適。WYSIWYGデザイナにより直感的にデザインできる | ActiveReports for .NET 7.0Jから採用された形式 |
| RDLレポート | フリーレイアウト方式。ページレポートと同様のコントロールを使うが、データの表示領域はあらかじめ定義せず、セクションレポートのようにデータ量に応じて表示領域が伸長する |
データソースの異なるテーブルやグラフを自由に配置するレポートに最適。セクションの出力位置やページの用紙サイズといったレイアウト上の制約を意識することなく、レポートコントロールをレイアウトできる
|
ActiveReports for .NET 9.0Jから採用された形式 |
用途に応じて3つの形式を使い分けることができます。今回の記事ではRDLレポートを採用してみます。
RDLレポートプロジェクトを作成
Visual Studioの新規作成で「ActiveReports 11.0J RDLレポートアプリケーション」テンプレートを選択して新規にプロジェクトを作成します。
この記事は参考になりましたか?
- 現役エンジニア直伝! 「現場」で使えるコンポーネント活用術(ActiveReports)連載記事一覧
-
- ActiveReports on Azureで帳票を適材適所で利用する
- Tablixコントロールを使って横に長い集計表を作成する
- ActiveReportsでExcel方眼紙や紙の帳票を帳票システムへ移行しよう
- この記事の著者
-
初音玲(ハツネアキラ)
国内SIerのSEでパッケージ製品開発を主に行っており、最近は、空間認識や音声認識などを応用した製品を手掛けています。 個人的には、仕事の内容をさらに拡張したHoloLensなどのMRを中心に活動しています。 Microsoft MVP for Windows Development ブログ:http://hatsune.hatenablog.jp/
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社
この記事は参考になりましたか?
この記事をシェア
