Shoeisha Technology Media

CodeZine(コードジン)

特集ページ一覧

ActiveReportsでExcel方眼紙や紙の帳票を帳票システムへ移行しよう

ActiveReportsの新機能を活用して一歩進んだ帳票を作成しよう 第1回

  • ブックマーク
  • LINEで送る
  • このエントリーをはてなブックマークに追加
2017/11/06 14:00

 今回より、ActiveReports for .NET 11.0Jの新機能を活用して帳票システムを作成していきます。第1回の今回は、「Excelインポート」機能を用いて、Excel方眼紙で作成した帳票デザインを帳票システムに移行します。CSVデータソースからのデータ入力の方法もご紹介します。本稿の後半では、紙の帳票をもとに、ActiveReportsのレイヤー機能を使って帳票を作成する方法を解説します。

目次

Excel方眼紙というものありけり

 日本の企業では帳票というものが多く存在します。帳票の特徴は、外枠があり、その中が記入する情報量に応じて枠線でコマ割りされている点です。元々が記入項目名や枠線、そして注意事項のみが印刷されて、あとは手書きで記入するものでしたから、入力欄の大きさも場合によっては適切ではなく、記入する文字を小さくしたり1枠の中に2段で書いたりして人間系により柔軟に運用するものでした。

 次のステップは、帳票デザインを印刷してある紙に、後からデータ部分だけ印字するというシステム化でした。ここで重要なのは印字時の位置合わせとなります。

 そして最終的に紙ベースが終わって電子化したときにも、こだわったのが元の紙ベースの帳票のデザインを踏襲することであり、要は、いかに元のデザインと一緒に文字を印字するかという難題でした。

 このような過程の中で、Wordのさまざまな便利機能ではどうしても元のデザインを再現できず、Excelを使って一つひとつのセルを正方形にしたExcel方眼紙という手法が生まれてきました。

図1 Excel方眼紙の例
図1 Excel方眼紙の例

Excel方眼紙の問題点

 Excel方眼紙では、文章の折り返しなども既定の文字数まで入れ、次の行の所定のセルから文章を続けるような手作業制御が可能です。意図しない折り返しや字下げ設定など何も考えずに済みます。では、何がいけないのでしょうか。

 図2の例にあるように「・・・元々が記入項目名や・・・」の途中で折り返しが入ったとき、文字列としてはどうなるでしょうか。「・・・元々が記入項」下のセルに移動して「目名や・・・」と入力した場合、後から「記入項目」で検索したとしても検索にヒットしませんし、もちろん一括置換の対象にもなりません。

図2 Excel方眼紙の記入例
図2 Excel方眼紙の記入例

 また、文章に追加があったときも、後ろにはみ出したものをカットして下の行の先頭にペーストするということを延々と繰り返さなければなりません。

 これは、非常に非効率的な作業です。

図3 Excel方眼紙の折り返し例
図3 Excel方眼紙の折り返し例

ActiveReportsによる帳票作成

 このExcel方眼紙で作った帳票を、ActiveReportsに取り込んでいきたいと思います。今回使用する「ActiveReports for .NET 11.0J」は、以下のリンクよりトライアル版を入手できます。

ActiveReportsのレポート形式の種類と特徴

 ActiveReportsのレポート形式には、セクションレポート、ページレポート、RDLレポートがあります。

ActiveReportsのレポート形式
形式 レイアウト方式 用途 備考
セクションレポート セクションベース(ヘッダ、詳細、フッタで構成)のレイアウト方式。データ量に応じてセクションが繰り返されるため、デザイナ画面と実際の印刷結果は一致しない 大量データの一覧として出力する帳票、データを繰り返し表示する帳票に最適。開発者が使い慣れている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レポートアプリケーション」テンプレートを選択して新規にプロジェクトを作成します。

図4 ActiveReports 11.0J RDLレポートアプリケーション
図4 ActiveReports 11.0J RDLレポートアプリケーション

  • ブックマーク
  • LINEで送る
  • このエントリーをはてなブックマークに追加

著者プロフィール

  • 初音玲(ハツネアキラ)

     国内SIerのSEでパッケージ製品開発を主に行っており、最近は、空間認識や音声認識などを応用した製品を手掛けています。  個人的には、仕事の内容をさらに拡張したHoloLensなどのMRを中心に活動しています。  Microsoft MVP for Windows Development...

バックナンバー

連載:現役エンジニア直伝! 「現場」で使えるコンポーネント活用術(ActiveReports)

もっと読む

All contents copyright © 2005-2019 Shoeisha Co., Ltd. All rights reserved. ver.1.5