(57)【要約】  ユーザが見やすい態様の合成データを生成することを課題とする。  表形式で作成され、行方向に並ぶ複数のデータラベルに対応した複数のデータ項目を含む表データが複数記憶される記憶部と、前記複数のデータファイルを合成した表データであって、前記複数のデータラベルが表データ毎に設定された行に並べられると共に、表データ間で共通するデータラベルが複数行を結合した領域に配置され、該データラベルに対応したデータ項目が列方向に並べられた表データを生成する生成部と、を備える表合成装置。
2014103024.tif 000002
【特許請求の範囲】
【請求項１】
表形式で作成され、行方向に並ぶ複数のデータラベルに対応した複数のデータ項目を含む表データが複数記憶される記憶部と、
前記複数のデータファイルを合成した表データであって、前記複数のデータラベルが表データ毎に設定された行に並べられると共に、表データ間で共通するデータラベルが複数行を結合した領域に配置され、該データラベルに対応したデータ項目が列方向に並べられた表データを生成する生成部と、
を備える表合成装置。
【請求項２】
請求項１記載の表合成装置であって、
前記生成部は、前記各表データに対応し、前記複数のデータラベルが並べられた行の列方向の境界線を、上下の行で一致させる処理を行う、
表合成装置。
【請求項３】
請求項２記載の表合成装置であって、
前記生成部は、各データラベルを格納する領域が、予め定められた最小幅未満とならないように、前記境界線を上下の行で一致させる処理を行う、
表合成装置。
【請求項４】
「行方向」を「列方向」に置換した請求項１ないし３のいずれか１項記載の表合成装置。
【請求項５】
コンピュータに、
表形式で作成され、行方向に並ぶ複数のデータラベルに対応した複数のデータ項目を含む表データを記憶部に複数記憶させ、
前記複数のデータファイルを合成した表データであって、前記複数のデータラベルが表データ毎に設定された行に並べられると共に、表データ間で共通するデータラベルが複数行を結合した領域に配置され、該データラベルに対応したデータ項目が列方向に並べられた表データを生成させる、
を備える表合成プログラム。
【請求項６】
請求項５記載の表合成プログラムであって、
前記コンピュータに、前記各表データに対応し、前記複数のデータラベルが並べられた行の列方向の境界線を、上下の行で一致させる処理を行わせる、
表合成プログラム。
【請求項７】
請求項６記載の表合成プログラムであって、
前記コンピュータに、各データラベルを格納する領域が、予め定められた最小幅未満とならないように、前記境界線を上下の行で一致させる処理を行わせる、
表合成プログラム。
【請求項８】
「行方向」を「列方向」に置換した請求項５ないし７のいずれか１項記載の表合成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、表合成装置、および表合成プログラムに関する。
【背景技術】
【０００２】
従来より、コンピュータ上で動作するワープロソフトや表計算ソフト、プレゼンテーションソフト等の汎用ソフトによって、表形式のデータファイルが作成されている。【０００３】
これに関連し、表形式のデータファイルを合成したスプレッドシート形式のデータを出力するためのスプレッドシート生成プログラムが知られている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１１−１９８２９６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記したスプレッドシート生成プログラムは、人事管理、営業管理、製造管理等に用いられる、共通するデータ項目を有する可能性が高い複数の帳票を合成することを念頭においたものでは無い。このため、複数のソースファイルに、それぞれ同じ類のデータ項目が含まれる場合に、ユーザが見やすい合成データを出力することができない場合がある。【０００６】
一つの側面では、ユーザが見やすい態様の合成データを生成することを目的とする。
【課題を解決するための手段】
【０００７】
一態様の表合成装置は、表形式で作成され、行方向に並ぶ複数のデータラベルに対応した複数のデータ項目を含む表データが複数記憶される記憶部と、前記複数のデータファイルを合成した表データであって、前記複数のデータラベルが表データ毎に設定された行に並べられると共に、表データ間で共通するデータラベルが複数行を結合した領域に配置され、該データラベルに対応したデータ項目が列方向に並べられた表データを生成する生成部と、を備える。
【発明の効果】
【０００８】
一態様によれば、ユーザが見やすい態様の合成データを生成することができる。
【図面の簡単な説明】
【０００９】
【図１】一実施例に係る表合成装置１のハードウェア構成例である。
【図２】表合成装置１の機能構成例である。
【図３】表合成装置１が実行する全体的な処理の流れを示すフローチャートの一例である。
【図４】フォーマット定義１２Ｉと印刷データ１２Ｈのデータ構造の一例を示す図である。
【図５】＜１＞項目情報のデータ構造の一例を示す図である。
【図６】＜２＞罫線情報のデータ構造の一例を示す図である。
【図７】フォーマット定義１２Ｉにおける編集形式と、編集形式とスプレッドシートの書式（表示形式）の対応を示す図である。
【図８】中間データ生成部１０Ａにより実行される中間データ生成処理の流れを示すフローチャートの一例である。
【図９】中間データ１２Ａのデータ構造の一例である。
【図１０】＜１＞文字列情報のデータ構造の一例である。
【図１１】＜３＞論理座標情報のデータ構造の一例である。
【図１２】＜４＞縦横サイズのデータ構造の一例である。
【図１３】表合成制御情報１２Ｊの一例である。
【図１４】表合成制御情報１２Ｊが反映される中間データ管理情報１２Ｂのデータ構造の一例である。
【図１５】生成された中間データ管理情報１２Ｂの一例である。
【図１６】明細データ抽出処理の流れを示すフローチャートの一例である。
【図１７】セル定義情報１２Ｄのデータ構造例である。
【図１８】セル制御情報１２Ｋのデータ構造例である。
【図１９】ラベルマッピング情報生成処理の流れを示すフローチャートの一例である。
【図２０】ラベルマッピング情報１２Ｅのデータ構造例である。
【図２１】明細データ合成処理の流れを示すフローチャートの一例である。
【図２２】明細データ合成部１０Ｆの処理によってレイアウトが合成される様子を示す図である。
【図２３】明細データ合成部１０Ｆの処理によってレイアウトが合成される様子を示す図である。
【図２４】明細データ合成部１０Ｆの処理によってレイアウトが合成される様子を示す図である。
【図２５】明細データ合成部１０Ｆの処理によってレイアウトが合成される様子を示す図である。
【図２６】明細データ合成部１０Ｆの処理によってレイアウトが合成される様子を示す図である。
【図２７】明細データ合成部１０Ｆの処理によってレイアウトが合成される様子を示す図である。
【図２８】明細データ合成部１０Ｆの処理によってレイアウトが合成される様子を示す図である。
【図２９】明細データ合成部１０Ｆの処理によってレイアウトが合成される様子を示す図である。
【図３０】明細データ合成部１０Ｆの処理によってレイアウトが合成される様子を示す図である。
【図３１】明細データ合成部１０Ｆの処理によってレイアウトが合成される様子を示す図である。
【図３２】明細データ合成部１０Ｆの処理によってレイアウトが合成される様子を示す図である。
【図３３】明細データ合成部１０Ｆの処理によってレイアウトが合成される様子を示す図である。
【図３４】セル情報１２Ｇのデータ構造例である。
【図３５】表合成装置１による処理の流れとデータ構造の変化を模式的に示す図である。
【発明を実施するための形態】
【００１０】
以下、本発明を実施するための形態について、添付図面を参照しながら実施例を挙げて説明する。
【実施例】
【００１１】
以下、図面を参照し、表合成装置、および表合成プログラムの実施例について説明する。【００１２】
［ハードウェア構成］
図１は、一実施例に係る表合成装置１のハードウェア構成例である。表合成装置１は、例えば、ＣＰＵ（Central  Processing  Unit）１０と、メモリ１２と、ＨＤＤ（Hard  Disk  Drive）１４と、ドライブ装置１６と、表示制御部２０と、表示装置２２と、入力装置２４と、通信制御部２６とを備える。【００１３】
ＣＰＵ１０は、例えば、プログラムカウンタや命令デコーダ、各種演算器、ＬＳＵ（Load  Store  Unit）、汎用レジスタ等を有するプロセッサである。メモリ１２は、例えば、ＲＡＭ（Random  Access  Memory）である。ＨＤＤ１４は、ＣＰＵ１０が実行するプログラムその他のデータを格納する。表合成装置１は、ＨＤＤ１４に替えて、ＳＳＤ（Solid  State  Drive）等の他の記憶装置を備えてもよい。ドライブ装置１６は、記憶媒体１８からプログラムやデータを読み込み可能な装置である。プログラムを記録した記憶媒体１８がドライブ装置１６に装着されると、プログラムが記憶媒体１８からドライブ装置１６を介してＨＤＤ１４にインストールされる。記憶媒体１８は、例えば、ＣＤ（Compact  Disc）、ＤＶＤ（Digital  Versatile  Disc）、ＵＳＢ（Universal  Serial  Bus）メモリ等の可搬型の記憶媒体である。プログラムのインストールは、記憶媒体１８を用いる他、通信制御部２６がネットワークを介して他のコンピュータよりダウンロードし、ＨＤＤ１４にインストールすることによって行うこともできる。また、表合成装置１において実行されるプログラムは、表合成装置１の出荷時に、予めＨＤＤ１４やＲＯＭ等に格納されていてもよい。【００１４】
表示制御部２０は、例えば、表示装置２２が表示する画面を生成するための論理回路である。表示装置２２は、例えば、ＬＣＤ（Liquid  Crystal  Display）やＣＲＴ（Cathode  Ray  Tube）、有機ＥＬ（Electroluminescence）等の表示装置である。入力装置２４は、例えば、マウス、キーボード、タッチパネル機構、タッチパッド等を含む。【００１５】
［機能構成］
図２は、表合成装置１の機能構成例である。表合成装置１は、ＣＰＵ１０がＨＤＤ１４等に格納されたプログラムを実行することにより機能する機能ブロックとして、中間データ生成部１０Ａと、中間データ管理情報生成部１０Ｂと、明細データ抽出部１０Ｃと、セル定義情報生成部１０Ｄと、ラベルマッピング情報生成部１０Ｅと、明細データ合成部１０Ｆと、印刷データ生成部１０Ｇとを備える。なお、これらの機能ブロックが明確に分離したプログラムによって実現される必要はなく、サブルーチンや関数として他のプログラムによって呼び出されるものであってもよい。また、機能ブロックの一部が、ＬＳＩ（Large  Scale  Integrated  circuit）、ＩＣ（Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）等のハードウェア手段であっても構わない。【００１６】
また、表合成装置１は、中間データ１２Ａ、中間データ管理情報１２Ｂ、明細データ１２Ｃ、セル定義情報（シート毎）１２Ｄ、ラベルマッピング情報１２Ｅ、セル定義情報（合成後）１２Ｆ、セル情報１２Ｇ等のデータを生成し、メモリ１２に格納する。メモリ１２には、上記の他、印刷データ１２Ｈ、フォーマット定義１２Ｉ、表合成制御情報１２Ｊ、セル制御情報１２Ｋ等が格納される。これらのデータは、例えば、ユーザによって入力されたり、デフォルトデータがＨＤＤ１４からロードされたりしたものである。【００１７】
［処理フロー等］
図３は、表合成装置１が実行する全体的な処理の流れを示すフローチャートの一例である。【００１８】
まず、表合成装置１は、ＨＤＤ１４から、又はドライブ装置１６を介して記憶媒体１８から、或いは通信制御部２６を介してネットワークから印刷データ１２Ｈとフォーマット定義１２Ｉを取得し、メモリ１２に格納する（Ｓ１００）。【００１９】
印刷データ１２Ｈとフォーマット定義１２Ｉは、一組で表データを構成する。印刷データ１２Ｈは、表データの罫線内の領域（以下ではパーティションと称する）に埋め込まれる文字、数字、記号等を示すデータである。フォーマット定義情報１２Ｈは、印刷データ１２Ｉに含まれるデータを表データに埋め込む際のフォーマットを定義したデータである。印刷データ１２Ｉは、ワープロソフトや表計算ソフト、プレゼンテーションソフト等の汎用ソフトによって作成されたデータから抽出され、フォーマット定義情報１２Ｈは、例えば帳票定義ツールの処理結果として取得される。【００２０】
図４は、フォーマット定義１２Ｉと印刷データ１２Ｈのデータ構造の一例を示す図である。印刷データ１２Ｉは、表中の各項目に対応する文字列データがシリアルに格納されているレコードである。また、フォーマット定義情報１２Ｈは、パーティションごとに、＜１＞項目情報、＜２＞罫線情報、を含むデータ構造となっている。図５は、＜１＞項目情報のデータ構造の一例を示す図である。また、図６は、＜２＞罫線情報のデータ構造の一例を示す図である。【００２１】
図５に示すように、＜１＞項目情報は、（１）項目名、（２）項目の位置情報、（３）項目領域長、（４）データ長、（５）データ形式、（６）フォント情報、（７）配置情報、（８）編集形式、（９）レコード内位置、（１０）文字列データ、（１１）パーティション種別、（１２）項目種別等の情報を含む。【００２２】
（１）項目名は、項目を識別するための名前であり、フォーマット定義内で一意の情報となっている。（２）項目の位置情報は、項目の位置を示す座標位置（例えば項目の最左下の座標）である。（３）項目領域長は、項目の範囲を示す値である。（４）データ長さは、データの長さを示す値（単位：バイト数）である。（５）データ形式は、データの種類を示す値（テキストデータ、数値データ等）である。（６）フォント情報は、フォント名やフォントサイズを示す情報である。（７）配置情報は、中央揃え等、文字の配置に関する情報である。（８）編集形式は、最終的に生成されるスプレッドシートにおける表示形式を指定するための情報である。図７は、フォーマット定義１２Ｉにおける編集形式と、編集形式とスプレッドシート（ここではＥｘｃｅｌ）の書式（表示形式）の対応を示す図である。（９）レコード内位置は、レコード形式のデータである印刷データの先頭から何バイト目かを示す情報である。例えば、図４において、項目Ａのレコード内位置は、印刷データ内の「あいうえお」を格納している位置が、印刷データの先頭から何バイト目かを示す情報である。（１０）文字列データには、項目種別が「リテラル」の場合のみ、文字列データが格納される。（１１）パーティション種別は、所属するパーティションの種別を表す。パーティションの種別には、例えば、ページヘッダを示す「ＰＨ」、明細を示す「ＤＥ」等が含まれる。（１２）項目種別は、文字列が定義されている場合の「リテラル」、レコードを参照する場合の「テキスト」等、項目の種別を表す情報である。【００２３】
ここで、合成される表データである請求書や納品書は、伝票のタイトルや発行日、発注などの伝票部分、また小計や合計などで構成され、１つの明細書となっている。「明細」とは、ラベルの下に並べられた１又は複数の項目を意味する。【００２４】
フォーマット定義１２Ｉの＜２＞罫線情報のデータ構造は、（１）種別、（２）位置情報などの情報を含む。図６に示す（１）種別とは、罫線、枠、網掛けを識別する情報である。また、（２）位置情報とは、罫線、枠、網掛けの位置や範囲を示す情報で、開始位置（Ｘ１, Ｙ１）と終了位置（Ｘ２, Ｙ２）を含む。【００２５】
印刷データ１２Ｈおよびフォーマット定義１２Ｉがメモリ１２に格納されると、中間データ生成部１０Ａが、中間データ生成処理を行う（Ｓ１１０）。中間データ１２Ａとは、項目の出力位置、文字属性情報や出力データなどの情報を解析したバイナリデータである。図８は、中間データ生成部１０Ａにより実行される中間データ生成処理の流れを示すフローチャートの一例である。また、図９は、中間データ１２Ａのデータ構造の一例である。【００２６】
まず、中間データ生成部１０Ａは、１組のフォーマット定義１２Ｉと印刷データ１２Ｈを読み込む（Ｓ１１１）。次に、中間データ生成部１０Ａは、文字データを出力し（Ｓ１１２）、項目位置を論理座標情報に設定し（Ｓ１１３）、罫線データを出力し（Ｓ１１４）、枠データを出力し（Ｓ１１５）、網掛けデータを出力する（Ｓ１１６）。次に、中間データ生成部１０Ａは、中間データ１２Ａを中間データ管理情報に設定する（Ｓ１１７）。中間データ生成部１０Ａは、以上の処理を、全てのフォーマット定義１２Ｉと印刷データ１２Ｈの組について実行する（Ｓ１１８）。【００２７】
図１０は、＜１＞文字列情報のデータ構造の一例である。＜１＞文字列情報における（１）項目位置は、文字列の位置を示す座標位置（例えば左下を示す座標）である。（２）データ形式は、データの種類を示す値（テキストデータ、数値データ、etc.）である。（３）データ長は、文字列の長さを示す値（単位：バイト数）である。（４）文字列範囲は、Ｘ方向とＹ方向のそれぞれの文字列範囲を示す値である。（５）配置情報は、中央揃え、右揃え等、文字の配置に関する情報である。（６）フォント情報は、フォント名やフォントサイズを示す情報である。（７）編集形式は、データを編集して出力する場合の編集形式を示す情報である。（８）文字列データは、文字列を示す情報である。（９）パーティション種別は、所属するパーティションの種別を表す情報である。（１０）項目種別は、文字列が定義されている場合の「リテラル」、レコードを参照する場合の「テキスト」等、項目の種別を表す情報である。【００２８】
＜２＞罫線情報については、図６を参照することとして、説明を省略する。図１１は、＜３＞論理座標情報のデータ構造の一例である。＜３＞論理座標情報における（１）登録数は、文字列情報の数である。（２）項目位置のＸ座標は、各文字列情報のＸ座標である。（３）項目位置のＹ座標は、各文字列情報のＹ座標である。図１２は、＜４＞縦横サイズのデータ構造の一例である。＜４＞縦横サイズには、対象となる表データの縦サイズと横サイズが格納される。【００２９】
中間データ１２Ａが生成されると、中間データ管理情報生成部１０Ｂが、表合成制御情報１２Ｊを中間データ管理情報１２Ｂに設定する中間データ管理情報生成処理を行う（Ｓ１２０）。図１３は、表合成制御情報１２Ｊの一例である。表合成制御情報１２Ｊにおける（１）用紙サイズ種別は、合成した表データを印刷する際に利用する用紙サイズを指定する情報である。（２）用紙方向は、合成した表データを印刷する際に利用する用紙方向を指定する情報である。（３）合成数は、合成する表データの数を指定する情報である。【００３０】
図１４は、表合成制御情報１２Ｊが反映される中間データ管理情報１２Ｂのデータ構造の一例である。中間データ管理情報１２Ｂにおける（１）用紙サイズ種別、（２）用紙方向、（３）合成数は、表合成制御情報１２Ｊからコピーされる。また、中間データ管理情報１２Ｂにおける（４）ページ幅は、（１）用紙サイズ種別の最大幅から余白等を差し引いて導出されるページ幅である。（５）中間データへの参照情報には、各中間データ１２Ａへの参照情報が登録される。（６）明細データへの参照情報には、各明細データ１２Ｃへの参照情報が登録される。（７）セル定義情報への参照情報には、各セル定義情報１２Ｆへの参照情報が登録される。中間データ管理情報１２Ｂは、セル定義情報（シート毎）１２Ｄの生成等に用いられる。図１５は、生成された中間データ管理情報１２Ｂの一例である。【００３１】
中間データ管理情報１２Ｂが生成されると、明細データ抽出部１０Ｃが、明細データ抽出処理を行う（Ｓ１３０）。図１６は、明細データ抽出処理の流れを示すフローチャートの一例である。なお、明細データ１２Ｃのデータ構造は、中間データ１２Ａと同じであり、明細データ１２Ｃは、中間データ１２Ａからパーティション種別が明細を示す「ＤＥ」であるデータのみが抽出されたものである。【００３２】
明細データ抽出部１０Ｃは、中間データ１０Ｃを１つ取り出し（Ｓ１３１）、項目種別が「リテラル」であり、且つパーティション種別が「ＤＥ」であるか否かを判定する（Ｓ１３２）。項目種別が「リテラル」であり、且つパーティション種別が「ＤＥ」である場合、明細データ抽出部１０Ｃは、当該中間データ１０Ｃを明細データ１２Ｃの１つとして出力する（Ｓ１３３）。明細データ抽出部１０Ｃは、このような処理を全ての中間データ１０Ｃについて行う（Ｓ１３４）。【００３３】
明細データ１２Ｃが抽出されると、セル定義情報生成部１０Ｄが、セル定義情報生成処理を行う（Ｓ１４０）。セル定義情報生成処理によって、各表データについて行および列が設定される。【００３４】
セル定義情報生成部１０Ｄは、例えば図１７に示すようなセル定義情報１２Ｄを生成する。図１７は、セル定義情報１２Ｄのデータ構造例である。セル定義情報１２Ｄにおける（１）基本セル幅には、セル制御情報１２Ｋの基本セル幅が設定される。（２）基本セル高さには、セル制御情報１２Ｋの基本セル高さが設定される。（３）セル幅には、各表データにおけるそれぞれの列の列幅が、例えばカンマ区切りで並べられて記述される。（４）セル高さには、各表データにおけるそれぞれの行の行高さが、例えばカンマ区切りで並べられて記述される。図１８は、セル制御情報１２Ｋのデータ構造例である。【００３５】
セル定義情報生成処理が行われると、ラベルマッピング情報生成部１０Ｅが、ラベルマッピング情報生成処理を行う（Ｓ１５０）。【００３６】
図１９は、ラベルマッピング情報生成処理の流れを示すフローチャートの一例である。また、図２０は、ラベルマッピング情報１２Ｅのデータ構造例である。【００３７】
まず、ラベルマッピング情報生成部１０Ｅは、明細データと対応するセル定義情報を読み込み（Ｓ１５１、Ｓ１５２）、その中から列位置を１つ取得する（Ｓ１５３）。【００３８】
そして、ラベルマッピング情報生成部１０Ｅは、ラベル名を登録し（Ｓ１５４）、合成前の列位置を登録し（Ｓ１５５）、合成前の列幅を登録する（Ｓ１５６）。【００３９】
ラベルマッピング情報１２Ｅにおける（２）合成後の列番号は、ラベルマッピング情報生成処理においてはブランクとされ、後述する明細データ合成処理の処理結果が書き込まれる。【００４０】
ラベルマッピング情報１２Ｅが生成されると、明細データ合成部１０Ｆが、明細データ合成処理を行う（Ｓ１６０）。図２１は、明細データ合成処理の流れを示すフローチャートの一例である。【００４１】
まず、明細データ合成部１０Ｆは、ラベルマッピング情報１２Ｅを読み込み（Ｓ１６１）、その合成前の列幅に基づき、各表データに対応する複数行分のセル定義情報を生成する（Ｓ１６２）。【００４２】
次に、明細データ合成部１０Ｆは、キー項目を決定し、各行のキー項目を左端に移動させる（Ｓ１６３）。ここで、キー項目とは、各表データにおける共通するラベルであり、ユーザによる指定を受け付けてもよいし、各表データにおける左端の項目を自動的にキー項目に設定してもよい。【００４３】
次に、明細データ合成部１０Ｆは、全体横幅の最も大きい表データのレイアウトを、基本レイアウトに設定し（Ｓ１６４）、各レイアウトの左端位置を合わせる（Ｓ１６５）。【００４４】
次に、明細データ合成部１０Ｆは、パラメータｎを２に設定する（Ｓ１６６）。そして、明細データ合成部１０Ｆは、左端が、基本レイアウトの左端に合うように、基本レイアウトでない表データのｎ番目のセルを移動させる（Ｓ１６７）。ここで、明細データ合成部１０Ｆは、ｎ−１番目のセルに付随してｎ番目のセルを移動させた結果、基本レイアウトのセル内に収まる場合は移動させない。【００４５】
次に、明細データ合成部１０Ｆは、基本レイアウトでない表データのｎ番目のセルの右端位置を、基本レイアウトの最も近い境界位置に合わせる（Ｓ１６８）。ここで、明細データ合成部１０Ｆは、右端位置を左に移動する場合、当該セルの列幅が最小列幅よりも小さくならないかどうかを判定し、小さくなる場合は、右へ移動するよう変更する。【００４６】
そして、明細データ合成部１０Ｆは、全ての列についてＳ１６７およびＳ１６８の処理を実行したか否かを判定し（Ｓ１６９）、全ての列についてＳ１６７およびＳ１６８の処理を実行していない場合は、パラメータｎを１増加させ（Ｓ１７０）、Ｓ１６７に戻る。【００４７】
一方、全ての列についてＳ１６７およびＳ１６８の処理を実行した場合、明細データ合成部１０Ｆは、基本レイアウトでない表データの方が全体幅が大きくなったか否かを判定し、基本レイアウトでない表データの方が全体幅が大きくなった場合、再補正を行う（Ｓ１７１）。明細データ合成部１０Ｆは、基本レイアウトでない表データのｎ番目のセルの右端位置を右に移動するのに代えて、基本レイアウトである表データの最も近い境界線を左に移動させる処理を行う。【００４８】
そして、明細データ合成部１０Ｆは、キー項目に該当する上下段のセルを結合し（Ｓ１７２）、処理結果をラベルマッピング情報１２Ｅおよびセル定義情報（合成後）１２Ｆに反映させる（Ｓ１７３）。【００４９】
なお、図示を省略したが、Ｓ１６６〜Ｓ１７１の処理は、基本レイアウトでない各表データについて行われる。【００５０】
図２２〜２６および図２７〜３３は、明細データ合成部１０Ｆの処理によってレイアウトが合成される様子を示す図である。図２２〜２６は、表データ１の全体幅が表データ２の全体幅よりも狭い場合を示し、図２７〜３３は、表データ１の全体幅が表データ２の全体幅よりも広い場合を示している。【００５１】
図２２は、表データ１、２のレイアウトの一例である。明細データ合成部１０Ｆが図２１のＳ１６１〜Ｓ１６５の処理を行うと、図２３に示す合成レイアウトが生成される。次に、合成レイアウトに対して明細データ合成部１０Ｆが図２１のＳ１６６〜Ｓ１７１の処理を行うと、図２４、図２５に示すように合成レイアウトが変化する。そして、明細データ合成部１０Ｆが図２１のＳ１７２の処理を行うと、図２６に示す合成レイアウトが生成される。【００５２】
図２７は、表データ１、２のレイアウトの他の例である。明細データ合成部１０Ｆが図２１のＳ１６１〜Ｓ１６５の処理を行うと、図２８に示す合成レイアウトが生成される。次に、合成レイアウトに対して明細データ合成部１０Ｆが図２１のＳ１６６〜Ｓ１７１の処理を行うと、図２９、図３０、図３１、図３２のように合成レイアウトが変化する。そして、明細データ合成部１０Ｆが図２１のＳ１７２の処理を行うと、図３３に示す合成レイアウトが生成される。【００５３】
明細データ合成処理が行われると、印刷データ生成部１０Ｇが印刷データ生成処理を行う（Ｓ１８０）。印刷データ生成部１０Ｇは、ラベルマッピング情報１２Ｅ、セル定義情報（合成後）１２Ｆ、およびセル情報１２Ｇに基づき、例えばユーザによって選択された形式のファイルを生成して出力する。図３４は、セル情報１２Ｇのデータ構造例である。セル情報１２Ｇは、中間データ１２Ａや明細データ１２Ｃから必要な情報を抜き出すことにより生成される。【００５４】
図３５は、表合成装置１による処理の流れとデータ構造の変化を模式的に示す図である。図示するように、異なるレイアウトを有する表データ１、２は、セル定義情報生成処理、ラベルマッピング情報生成処理、明細データ合成処理（合成、調整）、印刷データ生成処理を経て、合成された表として出力される。【００５５】
係る処理によって、表合成装置１は、合成前の列幅のレイアウトをできるだけ維持しつつ、合成後の列境界を上下の表でできるだけ合わせ、更に異なる表データで共通する項目については結合したセルで表示することができる。【００５６】
この結果、表合成装置１は、ユーザが見やすい態様の合成データを生成して出力することができる。【００５７】
なお、中間データ生成部１０Ａ、中間データ管理情報生成部１０Ｂ、明細データ抽出部１０Ｃ、セル定義情報生成部１０Ｄ、ラベルマッピング情報生成部１０Ｅ、明細データ合成部１０Ｆ、および印刷データ生成部１０Ｇは、「生成部」の一例である。また、メモリ１２、およびＨＤＤ（Hard  Disk  Drive）１４は、「記憶部」の一例である。【００５８】
以上、表合成装置および表合成プログラムを実施するための形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。【００５９】
例えば、表合成装置および表合成プログラムは、上記実施例における「行」と「列」をそのまま入れ替えた構成としてもよい。
【産業上の利用可能性】
【００６０】
本発明は、コンピュータソフトウェア産業等に利用することができる。
【符号の説明】
【００６１】
１      表合成装置
１０    ＣＰＵ
１０Ａ  中間データ生成部
１０Ｂ  中間データ管理情報生成部
１０Ｃ  明細データ抽出部
１０Ｄ  セル定義情報生成部
１０Ｅ  ラベルマッピング情報生成部
１０Ｆ  明細データ合成部
１０Ｇ  印刷データ生成部
１２    メモリ
１２Ａ  中間データ
１２Ｂ  中間データ管理情報
１２Ｃ  明細データ
１２Ｄ  セル定義情報（シート毎）
１２Ｅ  ラベルマッピング情報
１２Ｆ  セル定義情報（合成後）
１２Ｇ  セル情報
１２Ｈ  印刷データ
１２Ｉ  フォーマット定義
１２Ｊ  表合成制御情報
１２Ｋ  セル制御情報
１４    ＨＤＤ
１６    ドライブ装置
２０    表示制御部
２２    表示装置
２４    入力装置
２６    通信制御部
【図１】
2014103024.tif 000003
【図２】
2014103024.tif 000004
【図３】
2014103024.tif 000005
【図４】
2014103024.tif 000006
【図５】
2014103024.tif 000007
【図６】
2014103024.tif 000008
【図７】
2014103024.tif 000009
【図８】
2014103024.tif 000010
【図９】
2014103024.tif 000011
【図１０】
2014103024.tif 000012
【図１１】
2014103024.tif 000013
【図１２】
2014103024.tif 000014
【図１３】
2014103024.tif 000015
【図１４】
2014103024.tif 000016
【図１５】
2014103024.tif 000017
【図１６】
2014103024.tif 000018
【図１７】
2014103024.tif 000019
【図１８】
2014103024.tif 000020
【図１９】
2014103024.tif 000021
【図２０】
2014103024.tif 000022
【図２１】
2014103024.tif 000023
【図２２】
2014103024.tif 000024
【図２３】
2014103024.tif 000025
【図２４】
2014103024.tif 000026
【図２５】
2014103024.tif 000027
【図２６】
2014103024.tif 000028
【図２７】
2014103024.tif 000029
【図２８】
2014103024.tif 000030
【図２９】
2014103024.tif 000031
【図３０】
2014103024.tif 000032
【図３１】
2014103024.tif 000033
【図３２】
2014103024.tif 000034
【図３３】
2014103024.tif 000035
【図３４】
2014103024.tif 000036
【図３５】
2014103024.tif 000037
【国際調査報告】
2014103024.tif 000038
2014103024.tif 000039