(57)【要約】  帳票作成支援装置において、表形式データに含まれる複数のデータ項目のうち、所定方向に同一内容で連続するデータ項目を抽出する繰り返し項目抽出部と、前記繰り返し項目抽出部により抽出された連続するデータ項目に対して繰り返し項目であることを示す属性を付与した帳票定義情報を出力する帳票定義出力部と、を備える。
2014061081.tif 000002
【特許請求の範囲】
【請求項１】
表形式データに含まれる複数のデータ項目のうち、所定方向に同一内容で連続するデータ項目を抽出する繰り返し項目抽出部と、
前記繰り返し項目抽出部により抽出された連続するデータ項目に対して繰り返し項目であることを示す属性を付与した帳票定義情報を出力する帳票定義出力部と、を備えることを特徴とする帳票作成支援装置。
【請求項２】
前記表形式データにおける罫線で囲まれた領域を抽出する罫線領域抽出部を備え、
前記繰り返し項目抽出部は、前記罫線領域抽出部により抽出された領域内のデータを一単位のデータ項目として扱うことを特徴とする請求項１に記載の帳票作成支援装置。
【請求項３】
前記表形式データに含まれる複数のデータ項目のうち、繰り返し項目抽出部により抽出されたデータ項目以外のデータ項目を抽出する固定項目抽出部を備え、
前記帳票定義出力部は、前記固定項目抽出部により抽出されたデータ項目に対して固定項目であることを示す属性を付与した帳票定義情報を出力することを特徴とする請求項１又は２に記載の帳票作成支援装置。
【請求項４】
表形式データに含まれる複数のデータ項目のうち、所定方向に同一内容で連続するデータ項目を抽出する繰り返し項目抽出ステップと、
前記繰り返し項目抽出ステップにより抽出された連続するデータ項目に対して繰り返し項目であることを示す属性を付与した帳票定義情報を出力する帳票定義出力ステップと、を備えることを特徴とする帳票作成支援方法。
【請求項５】
前記表形式データにおける罫線で囲まれた領域を抽出する罫線領域抽出ステップを備え、
前記繰り返し項目抽出ステップは、前記罫線領域抽出ステップにより抽出された領域内のデータを一単位のデータ項目として扱うことを特徴とする請求項４に記載の帳票作成支援方法。
【請求項６】
前記表形式データに含まれる複数のデータ項目のうち、繰り返し項目抽出ステップにより抽出されたデータ項目以外のデータ項目を抽出する固定項目抽出ステップを備え、
前記帳票定義出力ステップは、前記固定項目抽出ステップにより抽出されたデータ項目に対して固定項目であることを示す属性を付与した帳票定義情報を出力することを特徴とする請求項４又は５に記載の帳票作成支援方法。
【請求項７】
表形式データに含まれる複数のデータ項目のうち、所定方向に同一内容で連続するデータ項目を抽出し、
抽出された連続するデータ項目に対して繰り返し項目であることを示す属性を付与した帳票定義情報を出力する、処理をコンピュータに実行させるための帳票作成支援プログラム。
【請求項８】
前記表形式データにおける罫線で囲まれた領域を抽出し、
抽出された領域内のデータを一単位のデータ項目として扱うことを特徴とする請求項７に記載の帳票作成支援プログラム。
【請求項９】
前記表形式データに含まれる複数のデータ項目のうち、前記繰り返し項目以外のデータ項目を抽出し、
抽出されたデータ項目に対して固定項目であることを示す属性を付与した帳票定義情報を出力することを特徴とする請求項７又は８に記載の帳票作成支援プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、帳票作成支援装置、帳票作成支援方法、及び帳票作成支援プログラムに関する。
【背景技術】
【０００２】
人事管理、営業管理、製造管理等に用いられる帳票を作成する帳票作成ソフトウェアが知られている。帳票作成ソフトウェアは、予め帳票定義として定められた形式を基に、所定のデータ項目に対してユーザに所望のデータを入力或いはインポート等させることにより、帳票を完成させる。【０００３】
帳票のレイアウトを、帳票作成ソフトウェアを用いて直接作成しようとすると、作業が困難な場合がある。これに対し、ワープロソフトや表計算ソフトで作成した帳票のレイアウトを使用して、帳票を自動作成する帳票自動作成システムが知られている。この帳票自動作成システムは、ワープロソフトや表計算ソフトで作成した帳票のレイアウトに配置された識別子に対応し、項目名やデータ形式等の情報を含むデータ配置識別情報を利用して帳票を作成する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−２４０２１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
帳票の形式を定める帳票定義には、例えば、帳票に含まれる各データ項目が固定項目であるか、可変項目であるかを示す属性が含まれる。固定項目とは、原則としてユーザが編集しないことが想定されるデータ項目であり、例えば帳票全体の見出しや可変項目に対応するヘッダ等が含まれる。また、可変項目とは、ユーザが編集することが想定されるデータ項目であり、例えばヘッダが「構成員」であれば、各構成員の氏名等のデータが含まれる。【０００６】
こうした属性は、ワープロソフトや表計算ソフト、プレゼンテーションソフト等の汎用ソフトで作成された帳票のレイアウトに自動的に付与されているものではない。このため、ユーザは、汎用ソフトで作成された帳票のレイアウトにおけるデータ項目のそれぞれに手作業で属性を付与したり、帳票作成ソフトウェアを起動させて属性を付与したりする必要がある。こうした作業は煩雑であるため、何らかの自動化処理が望まれるところである。【０００７】
上記した帳票自動作成システムにおいても、「帳票のレイアウトに配置された識別子」や「項目名やデータ形式等の情報を含むデータ配置識別情報」を自動的に作成する仕組みとなっていない。このため、ユーザが煩雑な入力操作を行う必要が生じ得る。【０００８】
一つの側面では、ユーザに煩雑な入力操作を行わせることなく、データ項目に適切な属性を付与することを目的とする。
【課題を解決するための手段】
【０００９】
一態様の帳票作成支援装置は、表形式データに含まれる複数のデータ項目のうち、所定方向に同一内容で連続するデータ項目を抽出する繰り返し項目抽出部と、前記繰り返し項目抽出部により抽出された連続するデータ項目に対して繰り返し項目であることを示す属性を付与した帳票定義情報を出力する帳票定義出力部と、を備える。
【発明の効果】
【００１０】
一態様によれば、ユーザに煩雑な入力操作を行わせることなく、データ項目に適切な属性を付与することができる。
【図面の簡単な説明】
【００１１】
【図１】一実施例に係る帳票作成支援装置１が他のコンピュータに接続された図である。
【図２】表計算ソフトによって作成されたファイルと、本実施例の帳票作成支援装置１が作成する帳票定義を対比した図である。
【図３】帳票作成支援装置１のハードウェア構成例である。
【図４】帳票作成支援装置１のソフトウェア構成例である。
【図５】帳票作成支援装置１の機能構成例である。
【図６】帳票作成支援装置１により実行される全体的な処理の流れを示すフローチャートの一例である。
【図７】罫線領域抽出部４１により実行される処理の流れを示すフローチャートの一例である。
【図８】図７のフローチャートによって、様々な形態の表から罫線領域が抽出される様子を示す図（その１）である。
【図９】図７のフローチャートによって、様々な形態の表から罫線領域が抽出される様子を示す図（その２）である。
【図１０】図７のフローチャートによって、様々な形態の表から罫線領域が抽出される様子を示す図（その３）である。
【図１１】罫線領域の開始・終了位置記録テーブル１６Ａの一例である。
【図１２】繰り返し項目と固定項目との関係を例示した図である。
【図１３】繰り返し項目抽出部４２により実行される処理の流れを示すフローチャートの一例である。
【図１４】列毎開始位置テーブルデータ１６Ｂの一例である。
【図１５】繰り返し項目テーブル１６Ｃの一例である。
【図１６】図１３のフローチャートで示す処理によって、繰り返し項目が抽出される様子を模式的に示す図である。
【図１７】繰り返し項目が抽出される対象となる様々なファイルの形式を示す図（その１）である。
【図１８】繰り返し項目が抽出される対象となる様々なファイルの形式を示す図（その２）である。
【図１９】繰り返し項目が抽出される対象となる様々なファイルの形式を示す図（その３）である。
【図２０】繰り返し項目が抽出される対象となる様々なファイルの形式を示す図（その４）である。
【図２１】帳票定義出力部４４によって作成される帳票仕様に含まれるデータの一例である。
【発明を実施するための形態】
【００１２】
以下、本発明を実施するための形態について、添付図面を参照しながら実施例を挙げて説明する。
【実施例】
【００１３】
以下、図面を参照し、帳票作成支援装置、帳票作成支援方法、及び帳票作成支援プログラムの実施例について説明する。【００１４】
［構成等］
図１は、一実施例に係る帳票作成支援装置１が他のコンピュータに接続された図である。帳票作成支援装置１は、例えば、元データ作成用端末５０及び帳票出力サーバ６０にネットワークを介して接続される。【００１５】
元データ作成用端末５０では、例えば、表計算ソフトやワープロソフト、プレゼンテーションソフト等の汎用ソフトが起動し、ユーザが汎用ソフトを操作して帳票のレイアウトを作成する。帳票出力サーバ６０は、帳票作成支援装置１が作成した帳票定義と入力データを元に、帳票を作成して出力する。【００１６】
なお、帳票作成支援装置１、元データ作成用端末５０及び帳票出力サーバ６０が別体のコンピュータである必要は無く、これらが一体のコンピュータが有する機能部であってもよい。すなわち、一体のコンピュータが汎用ソフト、以下に説明する帳票作成支援装置１の機能、帳票出力機能を具備してもよい。【００１７】
以下、帳票定義作成の元となるファイルが、Ｅｘｃｅｌ（登録商標）等の表計算ソフトによって作成されたファイルであるものとして説明する。図２は、表計算ソフトによって作成されたファイルと、本実施例の帳票作成支援装置１が作成する帳票定義を対比した図である。図２における下段は、表計算ソフトによって作成されたファイル（表形式データ）の一例を示し、図２における上段は下段に示すファイルに基づいて帳票作成支援装置１が作成する帳票定義の一例を示す。【００１８】
なお、図２に示す「9」は、数値データ（０〜９）が、図２に表示されている桁数分表示されることを意味する。例えば、「氏名」の項目の「９９９９９９」は、６桁の氏名コード（例えば、「０１２３４５」）等が表示されることを意味する。また同様に、図２に示す「Ｍ」は、文字データが表示されることを意味する。更に、「Ｚ」は、数値が０の場合に表示しないこと（ゼロサプレス（Ｚｅｒｏ  Ｓｕｐｐｒｅｓｓ））を意味する。例えば、「月合計」の項目の「ＺＺ９．９９」は、「５．５０」と表示される。【００１９】
本実施例では、図２の下段に示すような帳票のひな形ファイル等から、帳票で多用される繰り返し項目を自動識別し、オーバレイ文字等の固定項目と繰り返し項目とを分離した上で、それぞれの属性を付与した帳票定義を生成する。なお、図２の例では、「個人就業実績」の帳票例を示しているが、本実施例において適用可能な帳票の種類や帳票中の項目等については、これに限定されるものではない。【００２０】
図３は、帳票作成支援装置１のハードウェア構成例である。帳票作成支援装置１は、例えば、ＣＰＵ１０と、ドライブ装置１２と、メモリ装置１６と、記憶装置１８と、ネットワークボード２０と、ビデオボード２２と、キーボードやマウス等の入力デバイス２４とを備える。【００２１】
ＣＰＵ１０は、例えば、プログラムカウンタや命令デコーダ、各種演算器、ＬＳＵ（Load  Store  Unit）、汎用レジスタ等を有するプロセッサである。ドライブ装置１２は、記録媒体１４からプログラムやデータを読み込み可能な装置である。プログラムを記録した記録媒体１４がドライブ装置１２に装着されると、プログラムが記録媒体１４からドライブ装置１２を介して記憶装置１８にインストールされる。記録媒体１４は、例えば、ＣＤ（Compact  Disc）、ＤＶＤ（Digital  Versatile  Disc）、ＵＳＢ（Universal  Serial  Bus）メモリ等の可搬型の記録媒体である。プログラムのインストールは、記録媒体１４を用いる他、ネットワークボード２０がネットワークを介して他のコンピュータよりダウンロードし、記憶装置１８にインストールすることによって行うこともできる。また、帳票作成支援装置１において実行されるプログラムは、帳票作成支援装置１の出荷時に、予め記憶装置１８やＲＯＭ等に格納されていてもよい。【００２２】
メモリ装置１６は、例えば、ＲＡＭ（Random  Access  Memory）であり、記憶装置１８は、例えば、ＨＤＤ（Hard  Disk  Drive）やＳＳＤ（Solid  State  Drive）である。ネットワークボード２０は、インターネット等のネットワークにアクセスする。ビデオボード２２は、ＬＣＤ（Liquid  Crystal  Display）やＣＲＴ（Cathode  Ray  Tube）、有機ＥＬ（Electroluminescence）等の表示装置に表示させる画像を生成する。【００２３】
図４は、帳票作成支援装置１のソフトウェア構成例である。帳票作成支援装置１では、オペレーティングシステム３０、ドライバ３１、ライブラリ３２等を含むＯＳ／ミドルウェア層上で、帳票作成支援アプリケーション３４が動作する。帳票作成支援アプリケーション３４は、ファイルＩ／Ｏ処理部３４Ａ、メモリＩ／Ｏ処理部３４Ｂ、キーボード入力処理部３４Ｃ、ＧＵＩ出力処理部３４Ｄ、マウス入力処理部３４Ｅを含む。ファイルＩ／Ｏ処理部３４Ａは、記憶装置１８に対するデータの入出力を管理する。メモリＩ／Ｏ処理部３４Ｂは、メモリ装置１６に対するデータの入出力を管理する。キーボード入力処理部３４Ｃは、キーボードによる入力操作を所定の信号に変換して帳票作成支援アプリケーション３４の各機能部に提供する。ＧＵＩ出力処理部３４Ｄは、帳票作成支援アプリケーション３４の各機能部による処理結果に基づき表示画像を生成し、ビデオボード２２に出力する。マウス入力処理部３４Ｅは、マウスによる入力操作を所定の信号に変換して帳票作成支援アプリケーション３４の各機能部に提供する。【００２４】
［機能構成、全体フローチャート］
図５は、帳票作成支援装置１の機能構成例である。帳票作成支援装置１は、ＣＰＵ１０が記憶装置１８等に格納されたプログラムを実行することにより機能する機能ブロックとして、ファイル読込部４０と、罫線領域抽出部４１と、繰り返し項目抽出部４２と、固定項目抽出部４３と、帳票定義出力部４４と、を備える。なお、これらの機能ブロックが明確に分離したプログラムによって実現される必要はなく、サブルーチンや関数として他のプログラムによって呼び出されるものであってもよい。また、機能ブロックの一部が、ＬＳＩ（Large  Scale  Integrated  circuit）、ＩＣ（Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）等のハードウェア手段であっても構わない。【００２５】
図６は、帳票作成支援装置１により実行される全体的な処理の流れを示すフローチャートの一例である。なお、図６等に示すフローチャートにおいて各処理が行われる順序は、同様の処理結果を得られる限り、如何様にも変更することができる。【００２６】
まず、ファイル読込部４０が、元データ作成用端末５０において作成され、記憶装置１８に格納された帳票定義作成の元となるファイル（例えば、図２の下段に示すような表計算ソフトによって作成されたファイル（表形式データ）等）を読み込み、メモリ装置１６に記憶させる（Ｓ１００）。【００２７】
次に、罫線領域抽出部４１が、帳票定義作成の元となるファイルにおいて、四辺が罫線で囲まれた領域（以下、罫線領域と称する）を抽出する（Ｓ１１０）。例えば、表計算ソフトによって作成されたファイルは、「セル」内にデータが記述された構造となっている。そして、汎用ソフトによって作成される一般的な帳票レイアウトは、一又は複数のセルが罫線で囲まれており、罫線で囲まれた罫線領域内に一単位のデータ項目が格納されることが多い。そこで、罫線領域抽出部４１は、ファイル内における罫線の配置を認識し、罫線領域を特定する。【００２８】
次に、繰り返し項目抽出部４２が、複数のデータ項目に対して固定項目であるか可変項目であるかを示す属性を付与するために、罫線領域内のデータ項目のうち、縦方向に同一内容で連続するデータ項目を抽出する（Ｓ１２０）。なお、Ｓ１２０の処理で抽出された項目は、繰り返し項目である。Ｓ１２０の処理では、Ｓ１１０により得られる罫線領域内のデータを一単位のデータ項目として扱う。【００２９】
次に、固定項目抽出部４３が、繰り返し項目として抽出された項目以外の項目を、固定項目として抽出する（Ｓ１３０）。【００３０】
次に、帳票定義出力部４４が、ファイル読込部４０により読み込んだ表計算ソフト等の形式で作成されたファイルを帳票仕様に変換し、変換した帳票定義情報を出力する（Ｓ１４０）。Ｓ１４０の処理では、表計算ソフト等の形式で作成されたファイルを帳票仕様に変換することで、例えばファイルに含まれるセルの位置情報（例えば、（１，Ａ）等のようなセル座標）から、予め設定された座標値への変換を行うことができる。予め設定された座標値とは、例えば、用紙原点からの相対座標値であってもよく、また帳票領域の左上の絶対座標と右下の絶対座標等を基準にした座標値であってもよい。【００３１】
また、Ｓ１４０の処理では、表形式データに含まれる各データ項目に対して、Ｓ１２０の処理で抽出した繰り返し項目であることを示す属性や、Ｓ１３０の処理で抽出された固定項目であることを示す属性を付与した帳票定義情報を出力することができる。【００３２】
なお、本実施例では、出力する帳票定義情報に対して、繰り返し項目であることを示す属性のみを付与してもよく、固定項目であることを示す属性のみを付与してもよく、両方を付与してもよい。【００３３】
［罫線領域抽出］
図７は、罫線領域抽出部４１により実行される処理の流れを示すフローチャートの一例である。また、図８〜図１０は、図７のフローチャートによって、様々な形態の表から罫線領域が抽出される様子を示す図（その１〜その３）である。なお、図８〜１０において、「○」は罫線領域の開始のセルの位置を示し、「△」は終了のセルの位置を示し、矢印は罫線領域抽出時における移動方向を示す。【００３４】
まず、罫線領域抽出部４１は、表計算ソフト等によって作成されたファイル（以下、単にファイルと称する）における印刷範囲等を参照し、帳票定義作成の対象となる領域の最大行と最大列を設定する（Ｓ２００）。罫線領域抽出部４１は、印刷範囲を参照して最大行と最大列を設定するのに限らず、例えば、ｙ行目以降は空白セルのみが連続する場合に、ｙ−１行を最大行とし、ｘ列目以降は空白セルのみが連続する場合に、ｘ−１行を最大列としてもよい。【００３５】
次に、罫線領域抽出部４１は、以降の判定の対象とされる対象セルの行、列（すなわち座標）、及び、フラグＪ１、パラメータＪ２の初期値を設定する（Ｓ２０２）。ここで、行及び列の初期値は任意に設定してもよく、例えば、座標［１，Ａ］すなわち左上隅のセルの行及び列を初期値に設定してよい（行方向の座標は１，２，３…と数字で、列方向の座標はＡ，Ｂ，Ｃ，…，Ｙ，Ｚ，ＡＡ，ＡＢ，…とアルファベットで表されるものとする）。また、フラグＪ１及びパラメータＪ２の初期値は、それぞれ"Ｎｏ"及び"Ａ"に設定する。【００３６】
次に、罫線領域抽出部４１は、対象セルの行が最大行を超えるか否かを判定する（Ｓ２０４）。対象セルの行が最大行を超える場合（Ｓ２０４において、Ｙｅｓ）、罫線領域抽出部４１は、本フローチャートの１ルーチンを終了する。【００３７】
また、対象セルの行が最大行を超えない場合（Ｓ２０４において、Ｎｏ）、次に、罫線領域抽出部４１は、対象セルの列が最大列を超えるか否かを判定する（Ｓ２０６）。対象セルの列が最大列を超える場合（Ｓ２０６において、Ｙｅｓ）、罫線領域抽出部４１は、現在の対象セルの行に１を加算すると共に列を初期値に戻した座標に位置するセルを対象セルとし（Ｓ２０８）、Ｓ２０４に戻る。これは、ファイルを横方向に操作して最大列まで処理を行った場合に、１行下で最も左に位置するセルに折り返すために行われる処理である（例えば図８，図１０に示す「＊」）。【００３８】
対象セルの列が最大列を超えない場合（Ｓ２０６において、Ｎｏ）、罫線領域抽出部４１は、対象セルの左側と上側に罫線が存在するか否かを判定する（Ｓ２１０）。対象セルの左側と上側に罫線が存在しない場合（Ｓ２１０において、Ｎｏ）、罫線領域抽出部４１は、対象セルの列に１を加算した座標に位置するセルを対象セルとし（Ｓ２１２）、Ｓ２０６に戻る。なお、「対象セルの列に１を加算する」とは、列がＡであればＢに変更し、ＢであればＣに変更し、…というように、次のアルファベットに変更する処理を意味する。【００３９】
対象セルの左側と上側に罫線が存在する場合、罫線領域抽出部４１は、対象セルの行及び列を、罫線領域の開始位置としてメモリ装置１６等に格納する（Ｓ２１４）。本実施例における罫線領域は、矩形であることを前提にしている。そのため、罫線領域抽出部４１は、左側と上側に罫線が存在するセルを左上端（開始位置）として特定し、後に右側と下側に罫線が存在するセルを右下端（終了位置）として特定することによって、罫線領域を一意に決定する。図１１は、罫線領域の開始位置と終了位置を示す、罫線領域の開始・終了位置記録テーブル１６Ａの一例である。本実施例では、図１１の罫線領域の開始・終了位置記録テーブル１６Ａに示すように、開始位置と終了位置とを特定することで帳票に含まれる１又は複数の罫線領域を取得することができる。この罫線領域の開始・終了位置記録テーブル１６Ａは、メモリ装置１６等に格納される。【００４０】
次に、罫線領域抽出部４１は、対象セルの右側に罫線が存在するか否かを判定する（Ｓ２１６）。対象セルの右側に罫線が存在しない場合（Ｓ２１６において、Ｎｏ）、罫線領域抽出部４１は、対象セルの列に１を加算した座標に位置するセルを対象セルとし（Ｓ２１８）、Ｓ２１６に戻る。【００４１】
対象セルの右側に罫線が存在する場合（Ｓ２１６において、Ｙｅｓ）、罫線領域抽出部４１は、対象セルの下側に罫線が存在するか否かを判定する（Ｓ２２０）。対象セルの下側に罫線が存在しない場合（Ｓ２２０において、Ｎｏ）、罫線領域抽出部４１は、対象セルの行に１を加算した座標に位置するセルを対象セルとし（Ｓ２２２）、Ｓ２２０に戻る。【００４２】
また、対象セルの下側に罫線が存在する場合（Ｓ２２０において、Ｙｅｓ）、Ｓ２１６との関係から対象セルの右側及び下側に罫線が存在することになる。そのため、罫線領域抽出部４１は、対象セルの行及び列を、罫線領域の終了位置としてメモリ装置１６等に格納する（Ｓ２２４）。【００４３】
次に、罫線領域抽出部４１は、フラグＪ１が"Ｙｅｓ"であるか否かを判定する（Ｓ２２６）。フラグＪ１が"Ｙｅｓ"である場合（Ｓ２２６において、Ｙｅｓ）、罫線領域抽出部４１は、パラメータＪ２に、対象セルの列に１加算した値を格納する（Ｓ２２８）。なお、フラグＪ１は、"Ｙｅｓ"である場合に、後述するＳ２３４〜Ｓ２４２の処理によって、図９に領域Ａ１として示すように周囲の領域に比して縦方向に大きい領域を抽出した後、その領域のすぐ右側の領域への折り返し処理（例えば、図９に示す「＊＊」）が行われていないことを示すフラグ値である。また、パラメータＪ２は、折り返し処理を行う場合に戻るべき列を保存したデータである。【００４４】
次に、罫線領域抽出部４１は、対象セルの右側に位置するセルの下側に罫線が存在するか否かを判定する（Ｓ２３０）。対象セルの右側に位置するセルの下側に罫線が存在する場合（Ｓ２３０において、Ｙｅｓ）、罫線領域抽出部４１は、直近に格納されたセル開始位置（Ｓ２１４参照）の行、及び対象セルの列に１を加算した列を座標とするセルを、対象セルとする（Ｓ２３４）。【００４５】
次に、罫線領域抽出部４１は、Ｓ２３４で設定した対象セルの左側と上側に罫線が存在するか否かを判定する（Ｓ２３６）。Ｓ２３４で設定した対象セルの左側と上側に罫線が存在する場合（Ｓ２３６において、Ｙｅｓ）、罫線領域抽出部４１は、Ｓ２１４に戻り、Ｓ２３４で設定した対象セルの行及び列を、罫線領域の開始位置としてメモリ装置１６等に格納する。【００４６】
また、Ｓ２３４で設定した対象セルの左側と上側に罫線が存在しない場合（Ｓ２３６において、Ｎｏ）、罫線領域抽出部４１は、対象セルの行に１を加算した座標に位置するセルを対象セルとする（Ｓ２３８）。そして、罫線領域抽出部４１は、Ｓ２３８で設定した対象セルの左側と上側に罫線が存在するか否かを判定する（Ｓ２４０）。左側と上側に罫線が存在しない場合（Ｓ２４０において、Ｎｏ）、Ｓ２３８に戻る。つまり、罫線領域抽出部４１は、対象セルの左側と上側に罫線が存在するようになるまで、Ｓ２３８及びＳ２４０の処理を繰り返し実行する。【００４７】
対象セルの左側と上側に罫線が存在する場合（Ｓ２４０において、Ｙｅｓ）、罫線領域抽出部４１は、フラグＪ１を"Ｙｅｓ"にし（Ｓ２４２）、Ｓ２１４に戻り、最後にＳ２３８で設定した対象セルの行及び列を、罫線領域の開始位置としてメモリ装置１６等に格納する。【００４８】
なお、上述したＳ２３０において、対象セルの右側に位置するセルの下側に罫線が存在しないと判定された場合（Ｓ２３０において、Ｎｏ）、罫線領域抽出部４１は、対象セルの下側に位置するセルの右側に罫線が存在するか否かを判定する（Ｓ２３２）。対象セルの下側に位置するセルの右側に罫線が存在しない場合（Ｓ２３２において、Ｎｏ）、罫線領域抽出部４１は、Ｓ２０８に戻る。【００４９】
また、対象セルの下側に位置するセルの右側に罫線が存在する場合（Ｓ２３２において、Ｙｅｓ）、罫線領域抽出部４１は、フラグＪ１が"Ｙｅｓ"であるか否かを判定する（Ｓ２４４）。フラグＪ１が"Ｙｅｓ"である場合（Ｓ２４４において、Ｙｅｓ）、罫線領域抽出部４１は、対象セルの行に１を加算した値を行とし、パラメータＪ２を列とするセルを対象セルに設定し、フラグＪ１を"Ｎｏ"にして（Ｓ２４６）、Ｓ２０４に戻る。【００５０】
フラグＪ１が"Ｙｅｓ"でない場合（Ｓ２４４において、Ｎｏ）、罫線領域抽出部４１は、対象セルの行に１を加算した値を行とし、開始位置として格納された最小の列を列とするセルを対象セルに設定し（Ｓ２４８）。Ｓ２０４に戻る。【００５１】
図７に示す処理によって、罫線の分布が均一なものでない場合であっても、罫線で囲まれた領域を抽出することができる。なお、上述の図７に示す処理において、メモリ装置１６に格納される各種情報は、記憶装置１８等に格納されてもよい。【００５２】
［繰り返し項目抽出］
繰り返し項目抽出部４２は、複数のデータ項目に対して固定項目であるか繰り返し項目であるかを示す属性を付与するために、罫線領域内のデータ項目のうち、縦方向に同一内容で連続するデータ項目を抽出する。このように、縦方向に同一内容で連続するデータ項目には、帳票定義出力部４４によって繰り返し項目であることを示す属性が付与される。【００５３】
前述のように、固定項目とは、原則としてユーザが編集しないことが想定されるデータ項目であり、帳票全体の見出しや繰り返し項目に対応するヘッダ等が含まれる。また、繰り返し項目とは、ユーザが編集することが想定されるデータ項目であり、例えばヘッダが「構成員」であれば、各構成員の氏名等のデータが含まれる。【００５４】
図１２は、繰り返し項目と固定項目との関係を例示した図である。なお、繰り返し項目抽出部４２は、罫線領域抽出部４１の処理によって抽出された罫線領域内の項目についてのみ処理を行うため、図１２における罫線で囲まれていないヘッダ情報については、繰り返し項目からは自動的に除かれる。それぞれの固定項目や繰り返し項目に対して、本実施例の繰り返し項目抽出部４２、固定項目抽出部４３、及び帳票定義出力部４４の処理によって、種別（固定項目か、繰り返し項目か）、用紙原点からの相対座標値、文字列データ、フォント名、フォントサイズ等の情報が付加される。【００５５】
例えば、図１２の例において、「従業員所属情報」、「氏名」、「所属」、「部コード」がオーバレイ文字（固定項目（ヘッダ情報））を示し、「ＭＭＭ・・・」、「９９９・・・」は、可変文字列（繰り返し項目）を示すが、これに限定されるものではない。【００５６】
次に、繰り返し項目抽出部４２により実行される処理の流れについて説明する。図１３は、繰り返し項目抽出部４２により実行される処理の流れを示すフローチャートの一例である。【００５７】
まず、繰り返し項目抽出部４２は、罫線領域の開始・終了位置記録テーブル１６Ａから、開始位置を列毎に並べた列毎開始位置テーブルデータ１６Ｂを作成する（Ｓ３００）。  次に、繰り返し項目抽出部４２は、列毎開始位置テーブルデータ１６Ｂに格納された領域から選択される対象領域の座標（Ｘ，Ｙ）の初期値を設定する（Ｓ３０２）。座標（Ｘ，Ｙ）の初期値は、例えば（１，１）に設定される。ここで、図１４は、列毎開始位置テーブルデータ１６Ｂの一例である。図１４の例では、座標（１，１）が（１，Ａ）によって示される領域に相当し、座標（２，１）が（３，Ａ）によって示される領域に相当し、座標（２，２）が（３，Ｃ）によって示される領域に相当していることを示す。この列毎開始位置テーブルデータ１６Ｂは、メモリ装置１６等に格納される。【００５８】
次に、繰り返し項目抽出部４２は、領域（Ｘ，Ｙ）に格納された項目の内容が、領域（Ｘ，Ｙ＋１）に格納された項目の内容と一致するか否かを判定する（Ｓ３０４）。領域（Ｘ，Ｙ）に格納された項目の内容が、領域（Ｘ，Ｙ＋１）に格納された項目の内容と一致しない場合（Ｓ３０４において、Ｎｏ）、繰り返し項目抽出部４２は、Ｓ３１２に進む。【００５９】
領域（Ｘ，Ｙ）に格納された項目の内容が、領域（Ｘ，Ｙ＋１）に格納された項目の内容と一致する場合（Ｓ３０４において、Ｙｅｓ）、繰り返し項目抽出部４２は、当該列で初めて一致したか否かを判定する（Ｓ３０６）。【００６０】
当該列で初めて一致した場合（Ｓ３０６において、Ｙｅｓ）、繰り返し項目抽出部４２は、領域（Ｘ，Ｙ）及び領域（Ｘ，Ｙ＋１）をメモリ装置１６等に格納する（Ｓ３０８）。一方、当該列で初めて一致したのではない場合（Ｓ３０６において、Ｎｏ）、繰り返し項目抽出部４２は、領域（Ｘ，Ｙ）をメモリ装置１６等に格納する（Ｓ３１０）。Ｓ３０８及びＳ３１０における領域の格納は、例えば列毎に行われる。【００６１】
ここで、図１５は、Ｓ３０８及びＳ３１０の処理によってメモリ装置１６等に格納される繰り返し項目テーブル１６Ｃの一例である。図１５の例では、列毎に繰り返し項目の領域（Ｘ，Ｙ）が１又は複数格納される。例えば、図１５の例では、列Ａの繰り返し項目として、領域（３，Ａ），（５，Ａ），（７，Ａ），・・・等が存在することを示す。【００６２】
次に、繰り返し項目抽出部４２は、Ｙを１増加させ（Ｓ３１２）、Ｙが最大行を超えたか否かを判定する（Ｓ３１４）。最大行及び後述する最大列については、例えば図７のＳ２００で設定したものを用いればよい。Ｙが最大行を超えていない場合（Ｓ３１４において、Ｎｏ）、繰り返し項目抽出部４２は、Ｓ３０４に戻る。【００６３】
また、Ｙが最大行を超えた場合（Ｓ３１４において、Ｙｅｓ）、繰り返し項目抽出部４２は、Ｘを１増加させ（Ｓ３１６）、Ｘが最大列を超えたか否かを判定する（Ｓ３１８）。繰り返し項目抽出部４２は、Ｘが最大列を超えない場合（Ｓ３１８において、Ｎｏ）、Ｙを初期値に戻して（Ｓ３２０）、Ｓ３０４に戻る。【００６４】
また、Ｘが最大列を超える場合（Ｓ３１８において、Ｙｅｓ）、図１３のフローチャートの１ルーチンを終了する。なお、上述の図１３に示す処理において、メモリ装置１６に格納される各種情報は、記憶装置１８等に格納されてもよい。【００６５】
図１６は、図１３のフローチャートで示す処理によって、繰り返し項目が抽出される様子を模式的に示す図である。また、図１７〜図２０は、繰り返し項目が抽出される対象となる様々なファイルの形式を示す図（その１〜その４）である。【００６６】
本実施例では、図１６に示すように、縦方向に連続するセルを抽出して、繰り返し項目の行数（開始行〜終了行）を取得し（図１６の（１）→（２））、同様に列方向へ連続するセル群を探索して（図１６（２）→（３））、繰り返し項目を構成するセル群を抽出する。【００６７】
また、図１７は、「従業員番号」、「氏名」、「所属」、「部コード」、「備考」の各繰り返し項目が１行単位で構成されている例を示す。また、図１８は、各繰り返し項目が２行単位で構成されている例を示す。【００６８】
また、図１９は、各繰り返し項目が２行単位で構成され、上下方向にセンタリングされている例を示す。具体的には、図１９の例では、「従業員番号」、「氏名」、「部コード」のセル２行が１行に結合され、上下方向にセンタリングされている。また、図２０は、繰り返し項目の一部が２行構成である例を示す。なお、図２０の例では、「所属」、「備考」が２行構成であることを示している。【００６９】
ここで、本実施例における繰り返し項目は、上述した図１８〜図２０に示すように２行単位だけでなく、３行以上の複数行単位で構成されてもよい。【００７０】
本実施例の帳票作成支援装置１は、上述した処理により、罫線領域抽出部４１によって抽出された罫線領域内に格納された項目を一単位の項目として扱うことができる。そのため、例えば図１８〜図２０等に示すように一部の罫線領域が複数行を結合したものであっても、繰り返し項目を適切に抽出することができる。【００７１】
また、繰り返し項目を抽出する処理は、自動的な処理として実行されるため、繰り返し項目を予め指定するといった煩雑な入力操作をユーザに行わせることなく、データ項目に適切な属性を付与することができる。【００７２】
固定項目抽出部４３は、繰り返し項目抽出部４２によって繰り返し項目テーブル１６Ｃに格納された罫線領域以外の罫線領域に格納された項目、及び罫線領域以外の箇所に位置する項目を抽出する。これらの項目に対しては、帳票定義出力部４４によって固定項目であることを示す属性が付与される。【００７３】
帳票定義出力部４４は、表計算ソフト等によって作成されたファイルの形式を、帳票仕様の形式に変換し、変換した帳票定義情報を出力する。ここで、帳票仕様の形式に変換するとは、例えばファイルに対する各種設定情報から用紙情報、拡大／縮小等の情報が帳票仕様の形式に変換されたり、ファイルに存在する複数のデータ項目に対して固定項目や繰り返し項目の属性等が付与される。これにより、例えば、表計算ソフトでは、（１，Ａ）等のようにセル座標として表現されていた領域に対して、帳票定義情報では、左上の絶対座標と右下の絶対座標等によって表現することができる。なお、座標の変換や、固定項目又は繰り返し項目に対する属性の付与については、例えば上述した列毎開始位置テーブルデータ１６Ｂや繰り返し項目テーブル１６Ｃ等から得られる情報に基づいて行われるが、これに限定されるものではない。
また、表計算ソフトによって作成されたファイルから得られるセル幅やページサイズ、ページマージン等の情報や帳票に表示される従乗員番号や氏名等の情報に対して、固定項目か繰り返し項目かを示す属性を自動的に付与することができる。【００７４】
図２１は、帳票定義出力部４４によって作成される帳票仕様に含まれるデータの一例である。図２１に示す帳票仕様には、例えば帳票名（例えば、「ｔｅｓｔ」）、帳票形式、機能版数、作成日、最終更新日、項目数等の情報が含まれる。また、帳票仕様には、図２１に示すように、用紙情報や拡大／縮小、バーコード情報、ＸＭＬ情報、禁則処理といった情報も含まれる。更に、本実施例では、図２１に示す情報の他にも、表計算ソフト等によって作成されたファイル（表形式データ）に含まれる複数のデータ項目について、固定項目か繰り返し項目かを示す属性が付与される。【００７５】
以上説明した本実施例の帳票作成支援装置１によれば、ユーザに煩雑な入力操作を行わせることなく、データ項目に適切な属性を付与することができる。【００７６】
以上、帳票作成支援装置等を実施するための形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。【００７７】
例えば、上記実施例では、縦方向に繰り返される項目を繰り返し項目として抽出するものとしたが、横方向に繰り返される項目を繰り返し項目として抽出してもよい。この場合、実施例における行と列、ＸとＹを全て入れ替えればよい。
【産業上の利用可能性】
【００７８】
本発明は、コンピュータソフトウェア産業等に利用することができる。
【符号の説明】
【００７９】
１      帳票作成支援装置
１０    ＣＰＵ
１２    ドライブ装置
１４    記録媒体
１６    メモリ装置
１８    記憶装置
２０    ネットワークボード
２２    ビデオボード
２４    入力デバイス
３０    オペレーティングシステム
３１    ドライバ
３２    ライブラリ
３４    帳票作成支援アプリケーション
４０    ファイル読込部
４１    罫線領域抽出部
４２    繰り返し項目抽出部
４３    固定項目抽出部
４４    帳票定義出力部
５０    元データ作成用端末
６０    帳票出力サーバ
【図１】
2014061081.tif 000003
【図２】
2014061081.tif 000004
【図３】
2014061081.tif 000005
【図４】
2014061081.tif 000006
【図５】
2014061081.tif 000007
【図６】
2014061081.tif 000008
【図７】
2014061081.tif 000009
【図８】
2014061081.tif 000010
【図９】
2014061081.tif 000011
【図１０】
2014061081.tif 000012
【図１１】
2014061081.tif 000013
【図１２】
2014061081.tif 000014
【図１３】
2014061081.tif 000015
【図１４】
2014061081.tif 000016
【図１５】
2014061081.tif 000017
【図１６】
2014061081.tif 000018
【図１７】
2014061081.tif 000019
【図１８】
2014061081.tif 000020
【図１９】
2014061081.tif 000021
【図２０】
2014061081.tif 000022
【図２１】
2014061081.tif 000023
【手続補正書】
【提出日】平成27年3月12日(2015.3.12)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
表形式データに含まれる複数のデータ項目のうち、所定方向に同一の項目値で連続するデータ項目を抽出する繰り返し項目抽出部と、
前記繰り返し項目抽出部により抽出された連続するデータ項目に対して繰り返し項目であることを示す属性を付与した帳票定義情報を出力する帳票定義出力部と、を備えることを特徴とする帳票作成支援装置。
【請求項２】
前記表形式データにおける罫線で囲まれた領域を抽出する罫線領域抽出部を備え、
前記繰り返し項目抽出部は、前記罫線領域抽出部により抽出された領域内のデータを一単位のデータ項目として扱うことを特徴とする請求項１に記載の帳票作成支援装置。
【請求項３】
前記表形式データに含まれる複数のデータ項目のうち、繰り返し項目抽出部により抽出されたデータ項目以外のデータ項目を抽出する固定項目抽出部を備え、
前記帳票定義出力部は、前記固定項目抽出部により抽出されたデータ項目に対して固定項目であることを示す属性を付与した帳票定義情報を出力することを特徴とする請求項１又は２に記載の帳票作成支援装置。
【請求項４】
表形式データに含まれる複数のデータ項目のうち、所定方向に同一の項目値で連続するデータ項目を抽出する繰り返し項目抽出ステップと、
前記繰り返し項目抽出ステップにより抽出された連続するデータ項目に対して繰り返し項目であることを示す属性を付与した帳票定義情報を出力する帳票定義出力ステップと、を備えることを特徴とする帳票作成支援方法。
【請求項５】
前記表形式データにおける罫線で囲まれた領域を抽出する罫線領域抽出ステップを備え、
前記繰り返し項目抽出ステップは、前記罫線領域抽出ステップにより抽出された領域内のデータを一単位のデータ項目として扱うことを特徴とする請求項４に記載の帳票作成支援方法。
【請求項６】
前記表形式データに含まれる複数のデータ項目のうち、繰り返し項目抽出ステップにより抽出されたデータ項目以外のデータ項目を抽出する固定項目抽出ステップを備え、
前記帳票定義出力ステップは、前記固定項目抽出ステップにより抽出されたデータ項目に対して固定項目であることを示す属性を付与した帳票定義情報を出力することを特徴とする請求項４又は５に記載の帳票作成支援方法。
【請求項７】
表形式データに含まれる複数のデータ項目のうち、所定方向に同一の項目値で連続するデータ項目を抽出し、
抽出された連続するデータ項目に対して繰り返し項目であることを示す属性を付与した帳票定義情報を出力する、処理をコンピュータに実行させるための帳票作成支援プログラム。
【請求項８】
前記表形式データにおける罫線で囲まれた領域を抽出し、
抽出された領域内のデータを一単位のデータ項目として扱うことを特徴とする請求項７に記載の帳票作成支援プログラム。
【請求項９】
前記表形式データに含まれる複数のデータ項目のうち、前記繰り返し項目以外のデータ項目を抽出し、
抽出されたデータ項目に対して固定項目であることを示す属性を付与した帳票定義情報を出力することを特徴とする請求項７又は８に記載の帳票作成支援プログラム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００９
【補正方法】変更
【補正の内容】
【０００９】
一態様の帳票作成支援装置は、表形式データに含まれる複数のデータ項目のうち、所定方向に同一の項目値で連続するデータ項目を抽出する繰り返し項目抽出部と、前記繰り返し項目抽出部により抽出された連続するデータ項目に対して繰り返し項目であることを示す属性を付与した帳票定義情報を出力する帳票定義出力部と、を備える。
【国際調査報告】
2014061081.tif 000024
2014061081.tif 000025
2014061081.tif 000026
2014061081.tif 000027