(57)【要約】【課題】  オーバレイ帳票の出力結果のレイアウト情報を保持した二次活用可能なデータを生成する技術を提供することを目的とする。【解決手段】  セル定義情報生成処理部１１は，フォーマット定義情報３１とオーバレイ定義情報３３から，それぞれ，帳票およびオーバレイの項目の配置を示す列幅および行高を定めるフォーマット・セル定義情報２１，オーバレイ・セル定義情報２３を生成する。セル出力部１５１は，生成した２つのセル定義情報２１，２３の列幅および行高をそれぞれマージし，項目とオーバレイとのレイアウト位置に対応するセルの列幅および行高を計算し，計算した列幅および行高を設定し，項目またはオーバレイに対応するセルを特定したスプレッドシート４１を生成・出力する。【選択図】  図１
2010140122.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータを，
帳票を構成する項目群の前記帳票内のレイアウト位置に関するフォーマット定義情報を取得するフォーマット定義情報取得処理手段と，
前記帳票に重畳して出力されるオーバレイ群の前記帳票内のレイアウト位置に関するオーバレイ定義情報を取得するオーバレイ定義情報取得処理手段と，
前記フォーマット定義情報の各項目の列方向の位置および行方向のレイアウト位置から，隣り合う項目間の距離に基づいて列幅および行高をそれぞれ決定し，当該決定した列幅および行高に関するフォーマット・セル定義情報を生成するセル定義情報生成処理手段と，
前記オーバレイ定義情報に基づいて前記オーバレイのレイアウト位置に対応する列幅および行高を決定し，前記フォーマット・セル定義情報の項目群の列幅および行高，ならびに前記決定したオーバレイのレイアウト位置に基づく列幅および行高に基づいて，出力用の列幅および行高ならびに当該列幅と行高とのセル配列における前記項目群およびオーバレイ群の各々が対応するセルを特定したスプレッドシートを生成するスプレッドシート出力処理手段
として機能させる
ことを特徴とするスプレッドシート生成プログラム。
【請求項２】
前記コンピュータを，
前記スプレッドシート出力処理手段によって実行される処理を特定するモードを指定するモード指定手段として機能させるとともに，
前記スプレッドシート出力処理手段は，前記モード指定手段によって指定されたモードに基づいて前記出力用の列幅および行高を決定する
ことを特徴とする請求項１に記載のスプレッドシート生成プログラム。
【請求項３】
前記モード指定手段は，前記モードとしてデータ重視モードを指定し，
前記スプレッドシート出力処理手段は，前記モード指定手段によって前記データ重視モードが指定された場合に，前記フォーマット・セル定義情報の列幅および行高に基づいて前記出力用の列幅および行高を決定し，決定した出力用の列幅および行高を備えるスプレッドシートを生成し，生成したスプレッドシートにおいて，前記オーバレイ定義情報の各オーバレイのレイアウト位置に最も近い列幅の区切りを特定し，特定した列幅の区切りに対応する列幅を当該オーバレイに対応する列幅として決定する
ことを特徴とする請求項２に記載のスプレッドシート生成プログラム。
【請求項４】
前記モード指定手段は，前記モードとしてデータ重視モードを指定し，
前記スプレッドシート出力処理手段は，前記モード指定手段によって前記データ重視モードが指定された場合に，前記フォーマット・セル定義情報の列幅および行高に基づいて前記出力用の列幅および行高を決定し，決定した出力用の列幅および行高を備えるスプレッドシートを生成し，生成したスプレッドシートにおいて，前記オーバレイ定義情報の各オーバレイのレイアウト位置に最も近い行高の区切りを特定し，特定した行高の区切りに対応する行高を当該オーバレイに対応する列幅として決定する
ことを特徴とする請求項２に記載のスプレッドシート生成プログラム。
【請求項５】
前記モード指定手段は，前記モードとして最適化モードを指定し，
前記セル定義情報生成処理手段は，前記モード指定手段によって前記最適化モードが指定された場合に，前記オーバレイ定義情報の各オーバレイの列方向のレイアウト位置から，隣り合う位置間の距離に基づいて列幅を決定し，当該決定した列幅に関するオーバレイ・セル定義情報を生成し，
前記スプレッドシート出力処理手段は，前記モード指定手段によって前記最適化モードが指定された場合に，前記フォーマット・セル定義情報および前記オーバレイ・セル定義情報それぞれの列幅の区切りの位置を昇順にソートし，項目とオーバレイとが隣り合う列幅の区切りの位置について，昇順が下位の区切り位置を上位の区切り位置で置き換え，置き換えた列幅の区切りに対応する列幅を当該項目または当該オーバレイに対応する列幅として決定し，決定した列幅を含む前記ソートした列幅を前記出力用の列幅とする
ことを特徴とする請求項２に記載のスプレッドシート生成プログラム。
【請求項６】
前記モード指定手段は，前記モードとして最適化モードを指定し，
前記セル定義情報生成処理手段は，前記モード指定手段によって前記最適化モードが指定された場合に，前記オーバレイ定義情報の各オーバレイの行方向のレイアウト位置から，隣り合う位置間の距離に基づいて行高を決定し，当該決定した行高に関するオーバレイ・セル定義情報を生成し，
前記スプレッドシート出力処理手段は，前記モード指定手段によって前記最適化モードが指定された場合に，前記フォーマット・セル定義情報および前記オーバレイ・セル定義情報それぞれの行高区切りの位置を昇順にソートし，項目とオーバレイとが隣り合う列幅の区切りの位置について，昇順が下位の区切り位置を上位の区切り位置で置き換え，置き換えた行高の区切りに対応する列幅を当該項目または当該オーバレイに対応する行高として決定し，決定した行高を含む前記ソートした行高を前記出力用の行高とする
ことを特徴とする前記付記２に記載のスプレッドシート生成プログラム。
【請求項７】
前記モード指定手段は，前記モードとしてオートシェイプモードを指定し，
前記スプレッドシート出力処理手段は，前記モード指定手段によって前記オートシェイプモードが指定された場合に，前記フォーマット・セル定義情報の列幅および行高に基づいて決定した前記出力用の列幅および行高を備えるスプレッドシートを生成する処理と，前記オーバレイ定義情報の各オーバレイに対応する図形を，前記生成したスプレッドシートにおいて当該オーバレイのレイアウト位置に描画する図形データを生成する処理とを行う
ことを特徴とする請求項２に記載のスプレッドシート生成プログラム。
【請求項８】
帳票を構成する項目群の前記帳票内のレイアウト位置に関するフォーマット定義情報を取得するフォーマット定義情報取得処理手段と，
前記帳票に重畳して出力されるオーバレイ群の前記帳票内のレイアウト位置に関するオーバレイ定義情報を取得するオーバレイ定義情報取得処理手段と，
前記フォーマット定義情報の各項目の列方向の位置および行方向のレイアウト位置から，隣り合う項目間の距離に基づいて列幅および行高をそれぞれ決定し，当該決定した列幅および行高に関するフォーマット・セル定義情報を生成するセル定義情報生成処理手段と，
前記オーバレイ定義情報に基づいて前記オーバレイのレイアウト位置に対応する列幅および行高を決定し，前記フォーマット・セル定義情報の項目群の列幅および行高，ならびに前記決定したオーバレイのレイアウト位置に基づく列幅および行高に基づいて，出力用の列幅および行高ならびに当該列幅と行高とのセル配列における前記項目群およびオーバレイ群の各々が対応するセルを特定したスプレッドシートを生成するスプレッドシート出力処理手段とを備える
ことを特徴とするスプレッドシート生成装置。
【請求項９】
コンピュータが実行するスプレッドシート生成方法であって，
帳票を構成する項目群の前記帳票内のレイアウト位置に関するフォーマット定義情報を取得する処理過程と，
前記帳票に重畳して出力されるオーバレイ群の前記帳票内のレイアウト位置に関するオーバレイ定義情報を取得する処理過程と，
前記フォーマット定義情報の各項目の列方向の位置および行方向のレイアウト位置から，隣り合う項目間の距離に基づいて列幅および行高をそれぞれ決定する処理過程と，
前記フォーマット定義情報から決定した列幅および行高に関するフォーマット・セル定義情報を生成する処理過程と，
前記オーバレイ定義情報に基づいて前記オーバレイのレイアウト位置に対応する列幅および行高を決定する処理過程と，
前記フォーマット・セル定義情報の項目群の列幅および行高ならびに前記オーバレイのレイアウト位置に基づく列幅および行高に基づいて，出力用の列幅および行高ならびに当該列幅と行高とのセル配列における前記項目群およびオーバレイ群の各々が対応するセルを特定したスプレッドシートを生成する処理過程とを備える
ことを特徴とするスプレッドシート生成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，オーバレイ出力処理される帳票のスプレッドシートデータを自動生成するスプレッドシート生成プログラム，スプレッドシート生成装置，およびスプレッドシート生成方法に関する。
【背景技術】
【０００２】
帳票の出力結果は，帳票のフォーマット定義情報に基づいて構成される項目と各項目へ入力される入力データとを含む帳票データに，オーバレイ定義情報に基づいて構成された枠，罫線，マークなどのオーバレイの要素とが重畳されて出力される。
【０００３】
帳票の印刷結果から，帳票の項目への入力データを，集計やグラフ作成等に二次活用する場合には，帳票の印刷結果から入力データのみを抽出しなければならない。
【０００４】
しかし，帳票の印刷結果を電子化した場合に，電子化した印刷結果データでは入力データとオーバレイのデータとが区別されないため，印刷結果データから入力データのみを抽出することはできなかった。
【０００５】
そのため，帳票の入力データを再利用する場合には，従来では，帳票の印刷結果を電子化して利用せずに，帳票の入力データをデータベースから取得する業務アプリケーション等を作成しておき，この業務アプリケーションを介して入力データを取得していた。
【０００６】
また，印刷処理において，帳票の入力データとオーバレイのデータとをそのまま重畳させると，帳票上で両者の位置のずれ，不整合などの相違が発生することがある。入力データとオーバレイのデータとの位置が相違する帳票の印刷結果を電子化した場合には，電子化した印刷結果データは，そのままでは，ディスプレイ表示，データ入力用のフォーマットとして再利用などが行えず，再利用のためには何らかの加工処理や修正処理が必要であった。
【０００７】
なお，帳票の項目への入力データが不定量なものである場合に，帳票定義情報で定義された帳票の入力データの矩形領域の大きさを変更したり，入力データの文字ピッチ，行ピッチなどを変更したりして，帳票を適切な体裁で印刷する処理が知られている。
【特許文献１】特開２００４−３５５０７７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
情報資源として帳票を有効活用するために，帳票の情報を既存の業務アプリケーション，例えば表計算ソフトで使用できるスプレッドシートデータに変換する処理が，強く望まれていた。特に，オーバレイ出力処理される帳票から，印刷結果のイメージをできる限り維持しつつ入力データの二次活用が容易なデータを自動的に生成する処理は，従来実現されていなかった。
【０００９】
本発明の目的は，オーバレイ出力処理される帳票について，帳票の印刷結果のイメージを維持しつつ，入力データや印刷結果のレイアウトを容易に二次活用できるようなスプレッドシートデータを自動生成する処理技術，すなわち，コンピュータを前記スプレッドシートデータの生成処理を行う処理手段として機能させるためのプログラム，前記スプレッドシートデータの自動生成処理を実行する装置，コンピュータが実行する前記スプレッドシートの生成方法を，提供することである。
【課題を解決するための手段】
【００１０】
上記の目的を達成するために，本発明の一態様として開示するスプレッドシート生成プログラムは，コンピュータを，フォーマット定義情報取得処理手段，オーバレイ定義情報取得処理手段，セル定義情報生成処理手段，およびスプレッドシート出力処理手段として機能させるものである。
【００１１】
開示するプログラムがインストールされて実行されるコンピュータでは，フォーマット定義情報取得処理手段が，帳票を構成する項目群の帳票内のレイアウト位置に関するフォーマット定義情報を取得する。また，オーバレイ定義情報取得処理手段が，前記帳票に重畳して出力されるオーバレイ群の帳票内のレイアウト位置に関するオーバレイ定義情報を取得する。
【００１２】
そして，セル定義情報生成処理手段は，フォーマット定義情報の各項目の列方向の位置および行方向のレイアウト位置から，隣り合う項目間の距離に基づいて列幅および行高をそれぞれ決定し，決定した列幅および行高に関するフォーマット・セル定義情報を生成する。
【００１３】
すると，スプレッドシート出力処理手段は，オーバレイ定義情報に基づいて，オーバレイのレイアウト位置に対応する列幅および行高を決定し，さらに，フォーマット・セル定義情報の項目群の列幅および行高ならびに前記決定したオーバレイのレイアウト位置に基づく列幅および行高に基づいて，出力用の列幅および行高，ならびに当該列幅と行高とのセル配列における項目群およびオーバレイ群の各々が対応するセルを特定したスプレッドシートを生成する。
【００１４】
開示するプログラムによれば，コンピュータを，帳票の項目や項目と出力時にオーバレイされる部品とのレイアウト位置を維持したセル配列を持つスプレッドシートを自動生成する処理手段として機能させることができる。そして，出力されたスプレッドシート形式のデータによって，帳票の出力結果のレイアウトの再利用，帳票の入力データの再利用等が可能となる。
【発明の効果】
【００１５】
開示するスプレッドシート生成処理によって，オーバレイ出力される帳票のフォーマット定義情報とオーバレイ定義情報とに基づいて，帳票の出力時の項目とオーバレイとのレイアウトに関する情報を含むスプレッドシートデータを自動生成することができる。
【００１６】
生成されるスプレッドシートデータでは，項目およびオーバレイのレイアウトの情報に基づいてセル配列が設定される。そのためスプレッドシートデータの項目に対応するセルから，入力データだけを二次利用しやすい形式（例えばＣＳＶ形式，ＸＭＬ形式等）で抽出することが可能になる。
【００１７】
また，帳票の印刷結果のイメージを定めるオーバレイ定義情報を，二次利用しやすいスプレッドシートデータとして抽出することが可能になる。
【００１８】
よって，帳票への入力情報，帳票の出力体裁情報の再利用がより容易となり，帳票の再利用性，流通性が高まるという効果を奏する。
【発明を実施するための最良の形態】
【００１９】
以下，本発明の実施の形態を説明する。
【００２０】
図１は，本発明の一実施例として開示するスプレッドシート生成装置１の構成例を示す図である。
【００２１】
スプレッドシート生成装置１は，既存の帳票定義作成ツール（ＧＵＩ）から出力されるフォーマット定義情報３１およびオーバレイ定義情報３３を取得し，帳票の印刷結果を構成する項目およびオーバレイのレイアウト位置をセル単位の行列で特定するスプレッドシート４１を生成・出力する。また，スプレッドシート生成装置１は，業務アプリケーションから出力される入力データ群３５を取得し，帳票の項目に対応するセルに入力データを与えてスプレッドシート４１を出力する。
【００２２】
図２は，本発明の一実施例における帳票の印刷結果例を示す図である。
【００２３】
図２の帳票の印刷結果は，項目群（項目Ａ〜項目Ｄ）とオーバレイ（枠，罫線）とを含むように構成されている。項目（項目Ａ〜項目Ｄ）の属性，出力態様，レイアウト位置等はフォーマット定義情報３１に定義されている。重畳して印刷出力されるオーバレイの枠，罫線の出力態様，レイアウト位置等は，オーバレイ定義情報３３に定義されている。
【００２４】
フォーマット定義情報３１は，帳票を構成する項目群の帳票内のレイアウト位置に関する情報である。
【００２５】
図３に，本発明の一実施例におけるフォーマット定義情報３１のデータ構成例を示す。
【００２６】
フォーマット定義情報３１は，帳票形式情報として，帳票を構成するパーティションごとに，パーティション内の項目に関する項目情報および罫線情報を有する。
【００２７】
図４に，フォーマット定義情報３１の項目情報のデータ構成例を示す。
【００２８】
項目情報は，項目の属性を定義する情報であり，項目名，項目位置情報，項目領域長，データ長，データ形式，フォント情報，配置情報，編集形式，レコード内位置等の情報を含む。
【００２９】
項目名は，項目を識別するための，フォーマット定義情報３１内で一意の文字列である。項目位置情報は，図２に示す帳票の左下を原点とするＸＹ座標系における座標値である。座標値は，１／１４４０インチ単位の値が与えられる。項目領域長は，項目の領域のＸ座標軸方向（例えば，横方向）の長さである。
【００３０】
データ長は，項目に与えられる入力データの長さ（バイト単位）である。入力データは，文字列または数値である。
【００３１】
データ形式は，項目に与えられる入力データの種別（文字列，数値）である。フォント情報は，入力データの印刷時のフォント名，フォントサイズを示す情報である。
【００３２】
配置情報は，入力データの印刷時の配置（右寄せ，中央，左寄せ等）を示す情報である。編集形式は，入力データの印刷時の表示形式である。予め設定された対応関係に従って，編集形式から，スプレッドシート４１の項目に対応するセルの表示形式（書式）が設定される。レコード内位置は，項目に与えられる入力データの，入力データ群３５のレコード内での位置である。レコード内位置は，レコードの先頭からのバイト数で示される。
【００３３】
図５に，フォーマット定義情報３１の項目情報の編集形式とスプレッドシート４１の書式との対応関係の定義例を示す。
【００３４】
対応関係の定義に関する情報は，スプレッドシート出力部１５に予め備えられ，スプレッドシート４１の生成時に参照される。
【００３５】
図５の対応関係では，スプレッドシート４１が，マイクロソフト社の表計算ソフトウェア「ＥＸＣＥＬ」用データである場合の表示形式（セル書式）との対応の例である。フォーマット定義情報３１の項目情報の「データ形式」と「編集形式」との設定値によって，スプレッドシート４１のセルの書式が特定される。
【００３６】
例えば，項目の「データ形式」が“文字列”，かつ「編集形式」が“なし”である場合には，この項目に対応付けられたセルの書式は“＠”となる。また，項目の「データ形式」が“数値”かつ「編集形式」が“９９９９９９９”である場合には，この項目に対応付けられたセルの「書式」は“００００００；００００００”となる。
【００３７】
図６は，フォーマット定義情報３１の項目情報のレコード内位置と，各項目に与えられる入力データとの関係を説明するための図である。
【００３８】
フォーマット定義情報３１の項目情報の「項目位置情報」によって，図６の上部に示すように，帳票の各項目が，“項目Ａ，項目ＡＡ，…”の順序で配置されているとする。この場合に，「項目Ａ」，「項目ＡＡ」，…の各項目への入力データが“あいうえお”，“１２３４５”，…であるとすると，印刷結果では，各項目に与えられる入力データは，“あいうえお，１２３４５，…”の順序で印刷されることになる。
【００３９】
図７に，フォーマット定義情報３１の罫線情報のデータ構成例を示す。
【００４０】
罫線情報は，項目の出力態様（罫線，枠，網掛け等）を定義する情報であって，種別，位置情報を含む。
【００４１】
種別は，罫線／枠／網掛けを識別する情報である。位置情報は，罫線／枠／網掛けの位置または範囲を示す座標値であって，開始座標値（Ｘ１，Ｙ１）と終了座標値（Ｘ２，Ｙ２）が設定される。罫線情報の種別が，“枠”または“網掛け”の場合に，開始座標値は項目の矩形領域の左上座標であり，終了位置は，矩形の右下座標である。
【００４２】
オーバレイ定義情報３３は，帳票に重畳して出力される枠，罫線，マークなどの要素であるオーバレイ群の帳票内のレイアウト位置に関する情報である。
【００４３】
図８に，本発明の一実施例におけるオーバレイ定義情報３３のデータ構成例を示す。
【００４４】
オーバレイ定義情報３３は，文字列情報，罫線情報，枠情報，網掛け情報等の情報を含む。
【００４５】
図９に，オーバレイ定義情報３３の文字列情報のデータ構成例を示す。
【００４６】
文字列情報は，位置情報，文字列範囲，データ長，フォント情報，配置情報，文字列データを含む。
【００４７】
位置情報は，図２に示す帳票の左下を原点とするＸＹ座標系における座標値である。座標値は，１／１４４０インチ単位の値が与えられる。文字列範囲は，オーバレイの文字列の範囲を示す座標値であり，矩形の左上座標である開始座標値（Ｘ１，Ｙ１）と矩形の右下座標である終了座標値（Ｘ２，Ｙ２）が設定される。データ長は，オーバレイが文字列である場合の文字列の長さを示す値（バイト単位）である。
【００４８】
フォント情報は，オーバレイの文字列のフォント名，フォントサイズを示す情報である。配置情報は，オーバレイの文字列範囲内における文字列の配置（右寄せ，中央，左寄せ等）を示す情報である。文字列データは，オーバレイである文字列データが格納される。
【００４９】
図１０に，オーバレイ定義情報３３の罫線情報のデータ構成例を示す。
【００５０】
罫線情報は，線種，位置情報を含む。
【００５１】
線種は，罫線の種類（実線，点線，太線等）を識別する情報である。位置情報は，罫線の位置を示す座標値（１／１４４０インチ単位）である。開始位置（ｘ１，ｙ１）と終了位置（ｘ２，ｙ２）とが設定される。
【００５２】
図１１に，オーバレイ定義情報３３の枠情報のデータ構成例を示す。
【００５３】
枠情報は，線種，位置情報を含む。
【００５４】
線種は，罫線の種類（実線，点線，太線等）を識別する情報である。位置情報は，枠の位置または範囲を示す座標値である。枠線の矩形の左上の座標値である開始位置（Ｘ１，Ｙ１）と，枠線の矩形の右下の座標値である終了位置（Ｘ２，Ｙ２）とが設定される。
【００５５】
図１２に，オーバレイ定義情報３３の網掛け情報のデータ構成例を示す。
【００５６】
網掛け情報は，網掛けパターン，位置情報を含む。
【００５７】
網掛けパターンは，網掛けパターンの種別または濃度を識別する情報である。位置情報は，網掛けの位置や範囲を示す座標値である。枠線の矩形の左上の座標値である開始位置（Ｘ１，Ｙ１）と，枠線の矩形の右下の座標値である終了位置（Ｘ２，Ｙ２）とが設定される。
【００５８】
入力データ群３５は，帳票の項目群に与えられる，文字／文字列，数値等のデータの集合に相当するデータである。
【００５９】
図１に示すスプレッドシート生成装置１は，セル定義情報生成処理部１１，モード指定部１３，スプレッドシート出力部１５を有する。
【００６０】
スプレッドシート出力部１５は，さらに，セル出力部１５１，オートシェイプ出力部１５２を有する。
【００６１】
セル定義情報生成処理部１１は，フォーマット定義情報３１を取得し，予め保持するセル制御情報１９に基づいて，フォーマット定義情報３１から，帳票の項目群のレイアウト位置に対応する列幅および行高を持つセルの設定に関するフォーマット・セル定義情報２１を生成する。
【００６２】
また，セル定義情報生成処理部１１は，オーバレイ定義情報３３を取得し，セル制御情報１９に基づいて，オーバレイ定義情報３３から，帳票のオーバレイのレイアウト位置に対応する列幅および行高を持つセルの設定に関するオーバレイ・セル定義情報２３を生成する。
【００６３】
図１３に，セル制御情報１９のデータ構成例を示す。
【００６４】
セル制御情報１９は，セルの列幅／行高を決定する処理の制御に関する情報である。セル制御情報１９は，基本セル幅，基本セル高，丸め幅，丸め高さを有し，帳票ごとに任意に値を設定することができる。
【００６５】
基本セル幅は，出力するスプレッドシート４１の基本セルのセル幅（列幅）を示す値（１／１４４０インチ単位）である。基本セル幅の初期値は，９６０／１４４０インチとする。基本セル高は，スプレッドシート４１の基本セルのセル高さ（行高）を示す値（１／１４４０インチ単位）である。基本セル高の初期値は，２４０／１４４０インチとする。
【００６６】
丸め幅は，項目の列方向の位置（Ｘ軸方向の座標値）を調整するかを判定するための情報である。丸め幅の値（１／１４４０インチ単位）の初期値は，１４４／１４４０インチとする。丸め高さは，項目の位置（Ｙ軸方向の座標値）を調整するかを判定するための情報である。丸め高さの値（１／１４４０インチ単位）の初期値は，１４４／１４４０インチとする。
【００６７】
セル定義情報生成処理部１１は，フォーマット定義情報３１の項目群の列方向の座標値（Ｘ１）を昇順にソートし，ソート結果から，昇順の順位が１つ上の項目との間の列方向の距離に基づいて列幅を決定する。さらに，セル定義情報生成処理部１１は，フォーマット定義情報３１の項目群の行方向の座標値（Ｙ１）を昇順にソートし，ソート結果から，昇順の順位が１つ上の項目との間の行方向の距離に基づいて行高を決定する。
【００６８】
また，セル定義情報生成処理部１１は，オーバレイ定義情報３３のオーバレイ群の列方向の座標値（Ｘ１）および行方向（Ｙ１）を昇順にソートし，ソート結果から，昇順の順位が１つ上のオーバレイとの間の列方向の距離に基づいて列幅を決定する。さらに，昇順の順位が１つ上のオーバレイとの間の行方向の距離に基づいて行高を決定する。
【００６９】
さらに，セル定義情報生成処理部１１は，セル制御情報１９の丸め幅／丸め高さを参照して，項目同士の距離が，丸め幅／丸め高さ以内であれば，座標原点に近い方（ソート結果の昇順の順位が１つ上の一方）の項目のＸ座標値／Ｙ座標値に，他方の項目のＸ座標値／Ｙ座標値を一致させる。
【００７０】
微少な位置ずれが生じている項目同士の位置を揃えることによって，無駄なセルが生成されることを防止している。
【００７１】
図１４に，フォーマット定義情報３１に基づく列幅および行高の決定例を示す。
【００７２】
図２に示す帳票の印刷結果の場合に，セル定義情報生成処理部１１は，フォーマット定義情報３１の項目Ａ〜項目Ｄのレイアウト位置から，列幅と行高とを決定する。
【００７３】
本実施例では，セル制御情報１９の基本セル幅，基本セル高をもとに，２つの部品間の距離が「基本セル幅／行高×２」以上である場合は，基本セル幅／基本セル高で区切って２つの列／行とし，列幅／行高を決定する。
【００７４】
セル定義情報生成処理部１１は，フォーマット定義情報３１の各項目の開始位置（Ｘ１，Ｙ１）を，左上を原点とするＸＹ座標系における座標値に変換する。変換した位置（座標値）をもとに項目Ａ〜項目Ｄを昇順にソートする。
【００７５】
項目Ａの座標値Ｘｆ１と原点座標Ｘ０との距離を計算し，求めた距離を列Ａの列幅Ｗａとする。同様に，項目Ａの座標値Ｘｆ１と項目Ｂの座標値Ｘｆ２との距離を計算し，求めた距離を列Ｂの列幅Ｗｂとする。
【００７６】
次に，項目Ｂの座標値Ｘｆ２と項目Ｃの座標値Ｘｆ４との距離を求める。この距離が「基本列幅Ｗｓ×２」以上であるので，基本列幅Ｗｓを列Ｃの列幅Ｗｃとして，項目Ｂの座標値Ｘｆ２に基本列幅Ｗｓｓを加算して座標値Ｘｆ３を求める。
【００７７】
さらに，座標値Ｘｆ３と項目Ｃの座標値Ｘｆ４との間の距離は，「基本列幅Ｗｓ×２」未満であるので，その距離を列Ｄの列幅Ｗｄとする。
【００７８】
項目Ｃの座標値Ｘｆ４から帳票の右端の座標値Ｘｅまでの距離が「基本列幅Ｗｓ×２」以上であるとする。基本列幅Ｗｓを列Ｅの列幅Ｗｅとし，項目Ｃの座標値Ｘｆ４に基本列幅Ｗｓを加算して座標値座標値Ｘｆ５を求める。
【００７９】
ここで，項目Ｃの座標値Ｘｆ４と項目Ｄの座標値Ｘｆｄとの距離が，セル制御情報１９の丸め幅以内とする。項目Ｄの座標値Ｘｆｄを座標値Ｘｆ４に一致させる。
【００８０】
項目Ｃ，項目Ｄの座標値Ｘｆ５と帳票の右端の座標値Ｘｅまでの距離を「基本列幅Ｗｓ×２」未満であるとする。その距離を列Ｆの列幅Ｗｆとする。
【００８１】
セル定義情報生成処理部１１は，列幅の決定の処理と同様の処理を行って，変換した位置（座標値）の昇順の順位が１つ上の項目との間の行方向の距離に基づいて，行高（行１〜行５）を決定する。
【００８２】
さらに，セル定義情報生成処理部１１は，フォーマット定義情報３１に基づいて決定した列幅（列Ａ〜列Ｆ）および行高（行１〜行５）を持つセル行列において，フォーマット定義情報３１の項目の位置情報から，項目に対応するセルを特定して対応付けを行う。
【００８３】
そして，セル定義情報生成処理部１１は，図１４に示すように決定した列幅および行高の情報とセルと項目との対応付けとを含むフォーマット・セル定義情報２１を生成する。
【００８４】
図１５に，オーバレイ定義情報３３に基づく列幅および行高の決定例を示す。
【００８５】
セル定義情報生成処理部１１は，図２に示す帳票の印刷結果の場合に，オーバレイ定義情報３３のオーバレイ（枠，罫線）の開始位置（Ｘ１，Ｙ１）と終了位置（Ｘ２，Ｙ２）の座標値を，左上を原点とするＸＹ座標系における座標値に変換する。
【００８６】
セル定義情報生成処理部１１は，変換した座標値を列方向および行方向それぞれで昇順にソートし，ソート結果において，順位が１つ上の座標値との距離を求め，求めた列方向の距離を列幅，行方向の距離を行高として決定する。
【００８７】
セル定義情報生成処理部１１は，オーバレイの枠の開始位置の座標値ＸＯ１と原点座標Ｘ０との距離を計算し，列Ａの列幅ＷＯａとする。同様に，座標値ＸＯ１と枠内の縦罫線の開始位置の座標値ＸＯ２との距離を計算し，列Ｂの列幅ＷＯｂとする。
【００８８】
同様に，座標値ＸＯ２と枠内の終了位置の座標値ＸＯ３との距離を計算し，列Ｃの列幅Ｗｏｃとする。さらに，座標値ＸＯ３と帳票の右端の座標値Ｘｅとの距離を計算し，列Ｄの列幅ＷＯｄとする。
【００８９】
さらに，セル定義情報生成処理部１１は，枠の開始位置の座標値ＹＯ１と原点座標Ｙ０との距離を計算し，行１の行高ＨＯ１とする。座標値ＹＯ１と枠内の上部の横罫線の座標値Ｙ０２との距離から行２の行高ＨＯ２を，座標値ＹＯ２と枠内の下部の横罫線の座標値Ｙ０３との距離から行３の行高ＨＯ３を，座標値ＹＯ３と枠の終了位置の座標値Ｙ０４との距離から行４の行高ＨＯ４を，座標値ＹＯ４と帳票の下端の位置の座標値Ｙｅとの距離から行５の行高ＨＯ５を，それぞれ計算する。
【００９０】
さらに，セル定義情報生成処理部１１は，オーバレイ定義情報３３に基づいて決定した列幅（列Ａ〜列Ｄ）と行高（行１〜行５）を持つセル行列において，オーバレイ定義情報３３のオーバレイの位置情報から，オーバレイに対応するセルを特定して対応付けを行う。
【００９１】
そして，セル定義情報生成処理部１１は，図１５に示すように決定した列幅および行高の情報とセルとオーバレイとの対応付けとを含むオーバレイ・セル定義情報２３とを生成する。
【００９２】
図１６は，フォーマット・セル定義情報２１とオーバレイ・セル定義情報２３のレイアウト位置に関する情報のデータ構成例を示す図である。
【００９３】
フォーマット・セル定義情報２１とオーバレイ・セル定義情報２３とは，それぞれ，基本セル幅，基本セル高，セル幅（列数分），セル高（行数分）を有する。
【００９４】
基本セル幅，基本セル高には，セル定義情報の生成時に参照したセル制御情報１９の基本セル幅，基本セル高が設定される。
【００９５】
セル幅には，セル定義情報生成処理部１１が決定した列数分の列幅の値が，座標原点から昇順に，カンマ区切りの形式で設定される。セル高には，セル幅と同様に，セル定義情報生成処理部１１が決定した行数分の行高の値が，座標原点から昇順に，カンマ区切りの形式で設定される。
【００９６】
なお，セル定義情報生成処理部１１が実行するフォーマット定義情報３１，オーバレイ定義情報３３からセル定義情報を生成する処理についての詳細処理の説明は，本願出願人の先の特許出願「特願２００７−８６３０１７号」に記載している。
【００９７】
モード指定部１３は，スプレッドシート出力部１５が実行する処理内容を指定する。モード指定部１３は，予め「レイアウト重視モード，データ重視モード，最適化モード，オートシェイプモード」を設定して，ユーザによるモード設定操作等の外部入力されたモードを指定する。また，モード指定部１３は，モード指定の外部入力がない場合に，所定のモード，例えば「最適化モード」を指定する。
【００９８】
「レイアウト重視モード」は，帳票の出力結果と同じレイアウトを保持するために，帳票の項目群の位置とオーバレイ群の位置とを全て用いて列幅と行高とを決定するモードである。「データ重視モード」は，入力データの再利用を容易にするために，項目の列幅／行高の位置を優先して列幅と行高とを決定するモードである。
【００９９】
「最適化モード」は，帳票の出力結果と同じレイアウトを維持しつつ，セルの生成を必要最小限に抑えるために，項目群の位置とオーバレイ群の位置と調整して，列幅と行高とを決定するモードである。「オートシェイプモード」は，帳票の出力結果のレイアウトを維持しつつ，オーバレイの再利用を容易にするために，項目群の位置をもとに列幅と行高とを決定し，オーバレイ群をスプレッドシート４１に描画される図形要素として生成するモードである。
【０１００】
スプレッドシート出力部１５のセル出力部１５１は，モード指定部１３が指定したモードに従って，フォーマット定義情報３１とオーバレイ定義情報３３とのレイアウト位置に基づいて決定された列幅および行高の情報をもとに，スプレッドシート４１を生成，出力する。また，セル出力部１５１は，入力データ群３５を取得して，項目と対応するセルに入力データを与えたスプレッドシート４１を生成，出力する。
【０１０１】
スプレッドシート４１は，マイクロソフト社のエクセル（ＥＸＣＥＬ）と呼ばれる表計算アプリケーションプログラムで処理可能なデータである。
【０１０２】
または，スプレッドシート４１は，図１７に示すように，それぞれがＸＭＬ形式である文書データ，入力データ，属性データ，オートシェイプデータを含む複数のデータファイル群からなるＯＯＸＭＬ（Ｏｆｆｉｃｅ  Ｏｐｅｎ  ＸＭＬ）形式のエクセルデータであってもよい。この場合に，ＯＯＸＭＬ形式のスプレッドシート４１は，ＺＩＰ形式による圧縮が施されている。
【０１０３】
以下に，指定されたモードでのセル出力部１５１の処理を説明する。
【０１０４】
（１）レイアウト重視モードの処理
セル出力部１５１は，モード指定部１３によって「レイアウト重視モード」が指定された場合に，フォーマット・セル定義情報２１の列幅および行高の情報（項目群のレイアウト位置）と，オーバレイ・セル定義情報２３の列幅および行高の情報（オーバレイ群のレイアウト位置）とを用いて，列幅および行高を決定し，出力用セル定義情報２５に登録する。出力用セル定義情報２５は，指定されたモードの処理によって決定したセル幅（列幅）およびセル高（行高）を保持する情報である。
【０１０５】
レイアウト重視モードの処理で生成されたスプレッドシート４１は，全ての座標値がセルの区切りとなるために細かいセルを多数含むが，項目に重なるオーバレイが存在しないため，帳票の通常の印刷結果のレイアウトをそのまま維持したものとなる。よって，帳票の印刷結果のレイアウトを維持したスプレッドシート４１を，そのままデータ入力画面として利用することができる。
【０１０６】
図１８に，レイアウト重視モードの処理におけるスプレッドシート４１のセル配列例を示す。
【０１０７】
セル出力部１５１は，フォーマット・セル定義情報２１のセル幅（Ｗａ，Ｗｂ，…）の情報から，各セルの区切り（列方向のセル境界）を示す座標値を計算する。フォーマット・セル定義情報２１のセル幅から，セルの区切りとして座標値「（Ｘ０），Ｘｆ１，Ｘｆ２，Ｘｆ３，Ｘｆ４，Ｘｆ５，（Ｘｅ）」が求まる。
【０１０８】
セル出力部１５１は，同様に，オーバレイ・セル定義情報２３のセル幅の情報（Ｗｏａ，Ｗｏｂ，…）から，各セルの区切り（列方向のセル境界）を示す座標値を計算する。オーバレイ・セル定義情報２３のセル幅から，セルの区切りとして座標値「（Ｘ０），Ｘｏ１，Ｘｏ２，Ｘｏ３，（Ｘｅ）」が求まる。
【０１０９】
次に，セル出力部１５１は，これらの座標値をマージし，マージ後の座標値を昇順にソートする。図１８に示すように，「（Ｘ０），Ｘｏ１，Ｘｆ１，Ｘｆ２，Ｘｆ３，Ｘｏ２，Ｘｆ４，Ｘｆ５，Ｘｏ３，（Ｘｅ）」となる。
【０１１０】
セル出力部１５１は，マージ後の座標値を列幅の区切りとして採用し，各列（列Ａ〜列Ｉ）の列幅を出力用セル定義情報２５に登録する。
【０１１１】
さらに，セル出力部１５１は，行高についても，列幅と同様の処理を行う。セル出力部１５１は，フォーマット・セル定義情報２１のセル高（Ｈ１，Ｈ２，…）から，各セルの区切り（行方向のセル境界）を示す座標値「（Ｙ０），Ｙｆ１，Ｙｆ２，Ｙｆ３，Ｙｆ４，（Ｙｅ）」を計算する。さらに，オーバレイ・セル定義情報２３のセル高（Ｈｏ１，Ｈｏ２，…）から各セルの区切りを示す座標値「（Ｙ０），Ｙｏ１，Ｙｏ２，Ｙｏ３，Ｙｏ４，（Ｙｅ）」を計算する。
【０１１２】
次に，セル出力部１５１は，求めた座標値をマージし，昇順にソートする。マージ後の座標値の並びは，図１８に示すように，「（Ｙ０），Ｙｏ１，Ｙｆ１，Ｙｏ２，Ｙｆ２，Ｙｏ３，Ｙｆ３，Ｙｆ４，Ｙｏ４，（Ｙｅ）」となる。
【０１１３】
そして，セル出力部１５１は，マージ後の座標値を行高の区切りとして採用し，各行（Ｒ１〜Ｒ９）の行高を決定し，出力用セル定義情報２５に登録する。
【０１１４】
セル出力部１５１は，出力用セル定義情報２５のセル幅（列幅）とセル高（行高）に基づいてセルの列幅と行高とを設定したスプレッドシート４１を生成する。そして，フォーマット・セル定義情報２１に基づいて，帳票の各項目に対応するスプレッドシート４１のセルの範囲を特定する。さらに，セル出力部１５１は，フォーマット定義情報３１の対応する項目の項目情報，罫線情報等に基づいて，特定した範囲のセルに対して表示形式の情報（セル書式）を登録する。
【０１１５】
さらに，セル出力部１５１は，オーバレイ・セル定義情報２３に基づいて，オーバレイの枠や罫線に対応するスプレッドシート４１のセルの範囲を特定する。さらに，オーバレイ定義情報３３の対応するオーバレイの罫線情報等に基づいて，特定した範囲のセルに対してセル書式を登録する。
【０１１６】
（２）  データ重視モードの処理
セル出力部１５１は，モード指定部１３によってデータ重視モードが指定された場合に，フォーマット・セル定義情報２１の列幅および行高の情報を用いて列幅および行高を決定し，出力用セル定義情報２５に登録する。
【０１１７】
そして，セル出力部１５１は，オーバレイのレイアウト位置を，出力用セル定義情報２５の列幅および行高のセル配列にマッピングする。
【０１１８】
データ重視モードの処理によって生成されたスプレッドシート４１では，オーバレイのレイアウト位置が変更されるため，印刷結果のレイアウトが維持されない可能性がある。しかし，項目群のレイアウト位置に基づいてセルが生成されるため，無駄なセルが少ない。よって，表計算ソフトのマクロ機能によってプログラミングする場合や，スプレッドシート４１をＣＳＶ形式のデータに変換する場合に，帳票の項目に与えられた入力データの抽出が容易になり，入力データの二次活用が容易になる。
【０１１９】
図１９に，データ重視モードの処理におけるスプレッドシート４１のセル配列例を示す。
【０１２０】
セル出力部１５１は，フォーマット・セル定義情報２１のセル幅およびセル高の情報を出力用セル定義情報２５に登録する。そして，出力用セル定義情報２５の列幅および行高を設定したスプレッドシート４１を生成する。
【０１２１】
次に，セル出力部１５１は，フォーマット・セル定義情報２１に基づいて，帳票の各項目に対応するスプレッドシート４１のセルの範囲を特定し，特定した範囲のセルに対して，フォーマット定義情報３１の対応する項目の項目情報，罫線情報等に基づいて，セル書式）を登録する。
【０１２２】
次に，セル出力部１５１は，オーバレイ定義情報３３を得て，各オーバレイについて，オーバレイの開始位置（Ｘ１，Ｙ１）／終了位置（Ｘ２，Ｙ２）の座標値が，どの列幅（原点から何番目の列）または行高（原点から何番目の行）に含まれるかを特定し，特定した列幅／行高に基づいて，オーバレイの開始位置／終了位置を，セルの区切りを示す座標値にマッピングする。
【０１２３】
例えば，セル出力部１５１は，セルの列幅／行高の中間点を基準にして，中間点より座標原点に近い側であれば，原点側に近い（左側）セルとの区切りの位置にマッピングし，中間点より座標原点に遠い側であれば，次のセル（右側）との区切りの位置にマッピングする。
【０１２４】
図１９において，オーバレイの枠の開始位置（Ｘ１，Ｙ１）の座標値Ｘ１＞座標ＸＡｍ（Ｘｆ１とＸ０との距離の中間点）とすると，座標Ｘ１を座標Ｘｆ１にマッピングする。さらに，開始位置の座標値Ｙ１＜座標Ｙ１ｍ（Ｙｆ１とＹ０との距離の中間点）とすると，座標Ｙ１を座標Ｙ０にマッピングする。したがって，枠に開始位置は，座標（Ｘｆ１，Ｙ０）となる。
【０１２５】
また，オーバレイの枠の終了位置の座標値Ｘ２＞座標ＸＦｍ（Ｘｆ５とＸｅとの距離の中間点）とすると，座標Ｘ２を座標Ｘｅにマッピングする。終了位置の座標値Ｙ２＞座標Ｙ４ｍ（Ｙｆ４とＹｅとの距離の中間点）とすると，座標Ｙ１を座標Ｙｅにマッピングする。したがって，枠に終了位置は，座標（Ｘｅ，Ｙｅ）となる。
【０１２６】
さらに，セル出力部１５１は，オーバレイのマッピング後の位置に基づいてオーバレイに対応するセルの範囲を特定し，特定した範囲のセルに対して，オーバレイ定義情報３３の対応するオーバレイの罫線情報等に基づいてセル書式を登録する。
【０１２７】
（３）  最適化重視モードの処理
セル出力部１５１は，モード指定部１３によって最適化モードが指定された場合に，フォーマット・セル定義情報２１の列幅の情報と，オーバレイ・セル定義情報２３の列幅の情報とに基づいて，項目とオーバレイとの位置が近い場合に最適な位置を選択して列幅を最適化し，最適化した列幅を出力用セル定義情報２５に登録する。また，行高についても，列幅と同様の処理によって最適化する。
【０１２８】
セル出力部１５１は，フォーマット・セル定義情報２１の列幅および行高の情報と，オーバレイ・セル定義情報２３の列幅および行高の情報とをそれぞれマージし，列方向／行方向で隣り合う項目の位置（Ｘ１／Ｙ１）とオーバレイの位置（Ｘ１／Ｙ１）について，座標原点に遠い位置を，座標原点により近い位置に置き換え，置き換えた位置に基づいて列幅／行高を決定し，出力用セル定義情報２５に登録する。
【０１２９】
また，セル出力部１５１は，フォーマット・セル定義情報２１において，１つの項目について，基本セルのセル幅（列幅），セル高（行高）を用いた２以上の列幅／行高が設定されている場合に，基本セルのセル幅（列幅），セル高（行高）の区切りを除外して，列幅／行高を決定し，出力用セル定義情報２５に登録する。
【０１３０】
最適化モードの処理によって生成されたスプレッドシート４１は，帳票の項目の位置とオーバレイの位置とが隣り合う場合に，座標原点に近い側に開始位置を重ねてレイアウトするため，印刷結果のレイアウトを概ね維持しつつ，無駄なセルの生成を抑制するという，レイアウト重視モードとデータ重視モードの利点を備えるものとなる。
【０１３１】
さらに，このスプレッドシート４１では，帳票の項目とオーバレイとの位置を基本として列幅／行高が決定され，セルが生成されるため，無駄なセルが少なく表計算ソフトでの処理との適合性がよいものとなる。
【０１３２】
また，スプレッドシート４１内に項目に対応しない列幅／行高の区切りが排除されるため，よりセル数が少ないものとなる。
【０１３３】
図２０に，最適化モードの処理におけるスプレッドシート４１のセル配列例を示す。
【０１３４】
セル出力部１５１は，フォーマット・セル定義情報２１のセル幅の情報から，各セルの区切り（列方向のセル境界）を示す座標値を計算する。同様に，オーバレイ・セル定義情報２３のセル幅の情報から，各セルの区切り（列方向のセル境界）を示す座標値を計算する。
【０１３５】
セル出力部１５１は，計算した座標値をマージし，座標値を昇順にソートする。ソート結果において，列方向の位置について，項目とオーバレイとの位置が隣り合うペアを特定し，座標原点に遠い位置を，座標原点に近い位置にマッピングする。
【０１３６】
マージおよびソートしたＸ座標値の並びが「（Ｘ０），Ｘｏ１，Ｘｆ１，Ｘｆ２，Ｘｆ３，Ｘｏ２，Ｘｆ４，Ｘｆ５，Ｘｏ３，（Ｘｅ）」であるとする。
【０１３７】
図２０に示すように，項目Ａの開始位置の座標値Ｘｆ１とオーバレイ（枠）の開始位置の座標値Ｘｏ１が隣り合い，Ｘｏ１＜Ｘｆ１であるので，より遠い項目Ａの座標値Ｘｆ１を，オーバレイ（枠）の座標値Ｘｏ１にマッピングし，項目Ａの座標値Ｘｆ１を除外する。セル出力部１５１は，行方向についても，同様の処理を行い，より遠い項目Ａの座標値Ｙｆ１を，オーバレイ（枠）の座標値Ｙｏ１にマッピングし，項目Ａの座標値Ｙｆ１を除外する。この除外によって，座標値Ｘｏ１と座標値Ｘｆ２を区切りとする列幅と，座標値Ｙｏ１と座標値Ｙｏ２とを区切りとする行高を決定する。
【０１３８】
セル出力１５１は，座標値Ｘｆ１と座標値Ｘｆ２については，いずれも項目（項目Ａ，項目Ｂ）に基づいて決定された列の区切りであるので，これらの座標値をそのまま採用する。
【０１３９】
さらに，セル出力部１５１は，列Ｄと列Ｅとの区切りである座標値Ｘｆ３が，基本セルの設定によるものであるので，座標値Ｘｆ３を除外する。
【０１４０】
セル出力部１５１は，同様にして，項目Ｃ，項目Ｄの位置（座標値Ｘｆ４）についても，オーバレイ（枠内縦罫線）の位置（座標値Ｘｏ２）にマッピングする。
【０１４１】
セル出力部１５１は，行方向についても同様の処理を行う。
【０１４２】
次に，セル出力部１５１は，マッピングによって決定した列幅と行高を出力用セル定義情報２５に登録する。そして，出力用セル定義情報２５の列幅および行列を設定したスプレッドシート４１を生成する。
【０１４３】
そして，セル出力部１５１は，フォーマット・セル定義情報２１に基づいて，帳票の各項目に対応するスプレッドシート４１のセルの範囲を特定し，特定した範囲のセルに対して，フォーマット定義情報３１に基づいてセル書式を登録する。
【０１４４】
さらに，セル出力部１５１は，オーバレイ・セル定義情報２３に基づいて，オーバレイに対応するセルの範囲を特定し，特定した範囲のセルに対して，オーバレイ定義情報３３の対応するオーバレイの罫線情報等に基づいてセル書式を登録する。
【０１４５】
（４）  オートシェイプモードの処理
セル出力部１５１は，モード指定部１３によってオートシェイプモードが指定された場合に，フォーマット・セル定義情報２１のセル幅とセル高の情報を出力用セル定義情報２５に登録する。そして，出力用セル定義情報２５の列幅および行高を設定したスプレッドシート４１を生成する。
【０１４６】
さらに，出力部１５１は，フォーマット・セル定義情報２１に基づいて，帳票の各項目に対応するスプレッドシート４１のセルの範囲を特定し，特定した範囲のセルに対して，フォーマット定義情報３１に基づいてセル書式を登録する。
【０１４７】
オートシェイプ出力部１５２は，オーバレイ定義情報３３を得て，各オーバレイの情報に基づいて，オーバレイをスプレッドシート４１に描画される図形要素に変換する。図形要素とは，表計算ソフト「ＥＸＣＥＬ」のオートシェイプと呼ばれる図形データである。
【０１４８】
オートシェイプモードの処理によって生成されたスプレッドシート４１では，オーバレイはセル定義情報に依存しないため，帳票の印刷結果におけるレイアウトがそのまま維持される。
【０１４９】
また，スプレッドシート４１のセル配列は，フォーマット・セル定義情報２１のみを用いて設定されるため，無駄なセルが少なく，入力データ群の抽出も容易となり，入力データの二次活用も容易となる。
【０１５０】
図２１に，オートシェイプモードの処理におけるスプレッドシート４１のセル配列例を示す。
【０１５１】
図２１に示すように，スプレッドシート４１のセル配列は，データ重視モードの処理の場合と同様に，フォーマット・セル定義情報２１の列幅および行高の情報を用いて設定される。オーバレイの要素として，オーバレイ定義情報３３に基づいて図形データが生成され，スプレッドシート４１上に重畳して出力される。
【０１５２】
セル出力部１５１は，以上説明した４つのモードの処理において，入力データ群３５を取得し，生成したスプレッドシート４１の項目に対して，該当する入力データを与えたスプレッドシート４１を出力することができる。
【０１５３】
セル出力部１５１は，図１７に示すように，ＯＯＸＭＬ形式の複数のデータファイルの集合であり，文書データ，入力データ，属性データ，オートシェイプ（図形データ）がそれぞれ別ファイルとして構成される。
【０１５４】
したがって，図２２に示すように，複数のデータファイルで構成されたスプレッドシート４１から，入力データ（ＸＭＬデータファイル）４３のみを抽出することができる。
【０１５５】
さらに，オートシェイプモードの処理によって，オーバレイが図形データとして生成されている場合には，オートシェイプ（ＸＭＬデータファイル）４５のみを抽出することができる。表計算ソフトにおいて，帳票のオーバレイ定義情報３３を二次利用することが可能となり，オーバレイの流通性を向上させることができる。
【０１５６】
一例として，ある帳票が，図２３（Ａ）に示すように，帳票の枠線，背景色，項目の見出し文字列等が，オーバレイの要素としてオーバレイ定義情報３３に定義され，図２３（Ｂ）に示すように，帳票の項目がフォーマット定義情報３１に定義され，入力データ群３５が帳票に与えられ，図２３（Ｃ）に示すような出力結果となると仮定する。
【０１５７】
このような構成の帳票から生成されたスプレッドシート４１では，スプレッドシートの項目に対応するセルから，入力データを抽出する処理が，より容易になる。さらに，スプレッドシート４１をそのまま表示させて，データ入力画面として使用することが可能となる。
【０１５８】
次に，一実施例におけるスプレッドシート生成装置１の処理の流れを説明する。
【０１５９】
図２４は，スプレッドシート生成装置１の概要処理の処理フロー例を示す図である。
【０１６０】
スプレッドシート生成装置１のセル定義情報生成処理部１１は，フォーマット定義情報３１に基づくセル定義情報の生成処理を行い（ステップＳ１），続いて，オーバレイ定義情報３３に基づくセル定義情報の生成処理を行う（ステップＳ２）。
【０１６１】
スプレッドシート出力部１５は，指定されたモードによる出力用セル定義情報生成処理を行う（ステップＳ３）。
【０１６２】
続いて，スプレッドシート出力部１５は，ステップＳ３で生成した出力用セル定義情報２５に基づいて，オーバレイの定義をスプレッドシート４１へ反映させるオーバレイ出力処理を行い（ステップＳ４），さらに，項目の定義をスプレッドシート４１へ反映させるフォーマット出力処理を行う（ステップＳ５）。
【０１６３】
オーバレイ出力処理およびフォーマット出力処理は，生成したスプレッドシート４１を，マイクロソフト社の表計算ソフト「ＥＸＣＥＬ」へ出力する処理とする。
【０１６４】
図２５は，ステップＳ１のセル定義情報の生成処理のより詳細な処理フロー図である。
【０１６５】
セル定義情報生成処理部１１は，フォーマット定義情報３１を取得し，各項目の項目情報を，列方向（Ｘ軸方向）の項目位置（Ｘ座標値）をもとに昇順にソートする（ステップＳ１０）。続いて，セル定義情報生成処理部１１は，昇順にソートされた項目情報から，列幅の算出処理を行う（ステップＳ１１）。
【０１６６】
次に，セル定義情報生成処理部１１は，フォーマット定義情報３１の項目情報を，行方向（Ｙ軸方向）の項目位置（Ｙ座標値）をもとに昇順にソートする（ステップＳ１２）。セル定義情報生成処理部１１は，昇順にソートされた項目情報から，行高の算出処理を行う（ステップＳ１３）。
【０１６７】
ステップＳ１０およびステップＳ１２の処理において，フォーマット定義情報３１の項目位置が，左上を原点とするＸＹ座標系でない場合には，ソート前に，項目位置を，左上を原点とするＸＹ座標系における位置（座標値）に変換する。例えば，左下原点の座標系の項目位置の場合，ステップＳ１２の処理において，項目位置のＹ座標値を，「左上の項目位置Ｙ１＝左下の項目位置Ｙ１−項目の高さＨ１」の式を用いて換算する。
【０１６８】
図２６は，ステップＳ１１の列幅の算出処理のより詳細な処理フロー図である。
【０１６９】
セル定義情報生成処理部１１は，制御情報５０の初期化を行う（ステップＳ１１０）。制御情報５０は，処理中にメモリ上に生成・保持する一時的情報である。制御情報５０は，列位置を特定する「列位置カウンタ（ｉｘ）」，前回処理した項目位置を示す「項目位置（ｘ）」を持つ。
【０１７０】
セル定義情報生成処理部１１は，フォーマット定義情報３１に未処理の項目情報があれば（ステップＳ１１１のＹ），項目情報から，列方向の項目位置（Ｘ座標値）を取り出す（ステップＳ１１２）。取り出したＸ座標値に基づく列幅算出処理を行う（ステップＳ１１３）。
【０１７１】
ステップＳ１１３の処理後に，ステップＳ１１１の処理へ戻る。未処理の項目情報がなければ（ステップＳ１１１のＮ），フォーマット定義情報３１から，帳票の項目の右端の座標値を取り出して最終列の終了位置（Ｘ座標値）とし（ステップＳ１１４），最終列の列幅算出処理を行う（ステップＳ１１５）。
【０１７２】
図２７は，ステップＳ１３の行高の算出処理のより詳細な処理フロー図である。
【０１７３】
セル定義情報生成処理部１１は，制御情報５１の初期化を行う（ステップＳ１３０）。制御情報５１は，処理中にメモリ上に生成・保持する一時的情報である。制御情報５１は，行位置を特定する「行位置カウンタ（ｉｙ）」，前回処理した項目位置を示す「項目位置（ｙ１）」を持つ。
【０１７４】
セル定義情報生成処理部１１は，フォーマット定義情報３１に未処理の項目情報があれば（ステップＳ１３１のＹ），項目情報から，列方向の項目位置（Ｙ座標値）を取り出し，左上原点の座標系の値に換算した項目位置（Ｙ１座標値）を得る（ステップＳ１３２）。換算したＹ１に基づく行高算出処理を行う（ステップＳ１３３）。
【０１７５】
その後，ステップＳ１３１の処理へ戻り，未処理の項目情報がなければ（ステップＳ１３１のＮ），フォーマット定義情報３１から，帳票の項目の下端の座標値を求めて，最終行の終了位置Ｙとして取り出す（ステップＳ１３４）。そして，最終行の行高算出処理を行う（ステップＳ１３５）。
【０１７６】
図２８は，Ｓ１１３およびＳ１１５の列幅算出処理のより詳細な処理フロー図である。
【０１７７】
セル定義情報生成処理部１１は，取り出したＸ座標値と，制御情報５０の項目位置ｘとを用いて，項目間の列方向の距離Ｄｘを算出する（ステップＳ１１３０）。取り出したＸ座標値が最初の列である場合には，制御情報５０の列位置カウンタｉｘに１を設定し，取り出したＸ座標値を，項目位置ｘに設定する。一方，取り出したＸ座標値が最初の列でなければ，制御情報５０の列位置カウンタｉｘをインクリメントし，式１「取り出したＸ座標値−制御情報５０の項目位置ｘ（前回処理のＸ座標値）」を計算する。
【０１７８】
式１の計算結果，距離Ｄｘが，セル制御情報１９の丸め幅より大きいかを判定し（ステップＳ１１３１），距離Ｄｘが丸め幅を超えるときは（ステップＳ１１３１のＹ），さらに，距離Ｄｘが「基本セル幅×２」以上であるかを判定する（ステップＳ１１３２）。
【０１７９】
距離Ｄｘが，「基本セル幅×２」以上であれば（ステップＳ１１３２のＹ），セル制御情報１９の基本セル幅Ｗｓを列幅として，制御情報５０のセル位置カウンタｉｘが示す列のセル幅（列幅）に設定する。（ステップＳ１１３３）。制御情報５０のセル位置カウンタｉｘをインクリメントして更新する（ステップＳ１１３４）。項目間の距離Ｄｘを，式２「距離Ｄｘ−基本セル幅Ｗｓ」を計算して求めた値で更新する（ステップＳ１１３５）。
【０１８０】
続いて，ステップＳ１１３２の処理へ戻り，次の列の処理として，更新した距離Ｄｘが「基本セル幅×２」以上であるかを判定する。距離Ｄｘが，「基本セル幅×２」以上であれば（ステップＳ１１３２のＹ），ステップＳ１１３３〜Ｓ１１３５の処理を繰り返す。距離Ｄｘが，「基本セル幅×２」以上でなければ（ステップＳ１１３２のＮ），ステップＳ１１３６の処理へ進む。
【０１８１】
ステップＳ１１３６では，項目間の距離Ｄｘを列幅として，制御情報５０のセル位置カウンタｉｘが示す列のセル幅に設定する。
【０１８２】
そして，制御情報５０の項目位置ｘに，取り出した項目位置Ｘを設定して更新する（ステップＳ１１３７）。
【０１８３】
ステップＳ１１３１の処理で，距離Ｄｘが丸め幅を超えないときは（ステップＳ１１３１のＮ），そのまま処理を終了する。
【０１８４】
図２９は，Ｓ１３３およびＳ１３５の行高算出処理のより詳細な処理フロー図である。
【０１８５】
セル定義情報生成処理部１１は，項目間の行方向の距離Ｄｙを算出する（ステップＳ１３３０）。取り出した項目位置（Ｙ１）が最初の行のものである場合には，制御情報５１の行位置カウンタｉｙに１を設定し，取り出したＹ１座標値を，項目位置ｙ１に設定する。取り出したＹ１座標値が最初の行のものでなければ，制御情報５１の行位置カウンタｉｙをインクリメントし，式１「取り出した項目位置Ｙ１−制御情報５１の項目位置ｙ１（前回処理の項目位置Ｙ１）」を計算する。
【０１８６】
式１の計算結果，距離Ｄｙが，セル制御情報１９の丸め高さより大きいかを判定し（ステップＳ１３３１），距離Ｄｙが丸め高さを超えるときは（ステップＳ１３３１のＹ），距離Ｄｙが「基本セル高×２」以上であるかを判定する（ステップＳ１３３２）。
【０１８７】
距離Ｄｙが，「基本セル高×２」以上であれば（ステップＳ１３３２のＹ），セル制御情報１９の基本セル高さを行高として，制御情報５１のセル位置カウンタｉｙが示す行のセル高（行高）に設定する。（ステップＳ１３３３）。制御情報５１のセル位置カウンタｉｙをインクリメントして更新する（ステップＳ１３３４）。さらに，項目間の距離Ｄｙを，式２「距離Ｄｙ−基本セル高」を計算して求めた値で更新する（ステップＳ１３３５）。
【０１８８】
続いて，ステップＳ１３３２の処理へ戻り，次の行の処理として，更新した距離Ｄｙが「基本セル高さ×２」以上であるかを判定する。距離Ｄｙが，「基本セル高さ×２」以上であれば（ステップＳ１３３２のＹ），ステップＳ１３３３〜Ｓ１３３５の処理を繰り返す。距離Ｄｙが，「基本セル高さ×２」以上でなければ（ステップＳ１３３２のＮ），ステップＳ１３３６の処理へ進む。
【０１８９】
ステップＳ１３３６では，項目間の距離Ｄｙを行高として，制御情報５１のセル位置カウンタｉｙが示す行のセル高に設定する。
【０１９０】
そして，制御情報５１の項目位置ｙ１に，取り出したＹ１座標値を設定して更新する（ステップＳ１３３７）。
【０１９１】
ステップＳ１３３１の処理で，距離Ｄｙが丸め高さを超えないときは（ステップＳ１３３１のＮ），そのまま処理を終了する。
【０１９２】
図３０は，ステップＳ３の出力用セル定義情報生成処理のより詳細な処理フロー図である。
【０１９３】
セル出力部１５１は，モード指定部１３によって指定されたモードが，モードＡ（＝レイアウト重視モード）である場合に（ステップＳ３０のＹ），レイアウト重視モードの処理を行う（ステップＳ３１）。また，モード指定部１３によって指定されたモードが，モードＢ（＝データ重視モード）またはモードＤ（＝オートシェイプモード）のいずれかである場合に（ステップＳ３２のＹ），データ重視モードの処理を行う（ステップＳ３３）。また，モード指定部１３によって指定されたモードが，モードＣ（＝最適化モード）であるか，またはモードが指定されなかった場合に（ステップＳ３４のＹ），最適化モードの処理を行う（ステップＳ３５）。
【０１９４】
セル出力部１５１は，セル定義決定処理中に，メモリ上に生成・保持される一時的情報である制御情報５２を使用する。
【０１９５】
図３１に，制御情報５２のデータ構造例を示す。
【０１９６】
制御情報５２は，オーバレイ用セル境界Ｃ１，項目用セル境界Ｃ２，処理済みセル境界Ｃ３，前回キャンセル項目セル位置Ｃ４，セル登録フラグＦを持つ。
【０１９７】
オーバレイ用セル境界Ｃ１は，オーバレイ・セル定義情報２３の列幅／行高に基づくセル境界を示す座標値である。項目用セル境界Ｃ２は，フォーマット・セル定義情報２１の列幅／行高に基づくセル境界を示す座標値である。
【０１９８】
処理済みセル境界Ｃ３は，セル定義決定処理後のセル幅／セル高に基づくセル境界を示す座標値である。前回キャンセル項目セル位置Ｃ４は，前回処理において処理されなかった項目のセル位置（セル幅／セル高に基づく座標値）である。セル登録フラグＦは，オーバレイの処理への採用の有無を示すフラグである。
【０１９９】
図３２は，ステップＳ３１のレイアウト重視用処理のより詳細な処理フロー図である。
【０２００】
セル出力部１５１は，制御情報５２を以下のように初期化する（ステップＳ３１０）。
【０２０１】
オーバレイ用セル境界Ｃ１＝１セル目の位置（Ｘ座標値）；
項目用セル境界Ｃ２＝１セル目の位置（Ｘ座標値）；
処理済みセル境界Ｃ３＝０。
【０２０２】
セル出力部１５１は，処理するセル定義情報があるかを判定し（ステップＳ３１１），処理するセル定義情報があれば（ステップＳ３１１のＹ），制御情報５２のオーバレイ用セル境界Ｃ１＝項目用セル境界Ｃ２であるかを判定する（ステップＳ３１２）。
【０２０３】
Ｃ１＝Ｃ２（オーバレイと項目とが同じ位置）であれば（ステップＳ３１２のＹ），出力用セル定義情報２５に，１セル目の列幅Ｗａ（Ｃ１−Ｃ３の距離）を登録する。さらに，制御情報５２の処理済みセル境界Ｃ３を，Ｃ１の値で更新し，オーバレイ用セル境界Ｃ１，項目用セル境界Ｃ２を，それぞれ次のセル境界（Ｘ座標値）で更新する（ステップＳ３１３）。
【０２０４】
Ｃ１＝Ｃ２でなければ（ステップＳ３１２のＮ），Ｃ１＜Ｃ２であるかを判定する（ステップＳ３１４）。
【０２０５】
Ｃ１＜Ｃ２（オーバレイが項目より左側の位置）であれば（ステップＳ３１４のＹ），出力用セル定義情報２５に，１セル目の列幅Ｗａ（Ｃ１−Ｃ３の距離）を登録する。さらに，制御情報５２の処理済みセル境界Ｃ３をＣ１で更新し，オーバレイ用セル境界Ｃ１のみを次のセル境界（座標値）で更新する（ステップＳ３１５）。
【０２０６】
Ｃ１＜Ｃ２でなければ（ステップＳ３１４のＮ），Ｃ１＞Ｃ２（項目がオーバレイより左側の位置）であるとして，出力用セル定義情報２５に，１セル目の列幅Ｗａ（Ｃ２−Ｃ３の距離）を登録する。さらに，制御情報５２の処理済みセル境界Ｃ３をＣ２で更新し，項目用セル境界Ｃ２のみを次のセル境界（Ｘ座標値）で更新し，ステップＳ３１１の処理へ戻る（ステップＳ３１６）。
【０２０７】
処理するセル定義情報がなければ（ステップＳ３１１のＮ），処理を終了する。
【０２０８】
図３３は，ステップＳ３３のデータ重視用処理のより詳細な処理フロー図である。
【０２０９】
セル出力部１５１は，フォーマット・セル定義情報２１の列幅を，出力用セル定義情報２５に登録する（ステップＳ３３０）。
【０２１０】
図３４は，ステップＳ３５の最適化用処理のより詳細な処理フロー図である。
【０２１１】
セル出力部１５１は，制御情報５２を以下のように初期化する（ステップＳ３５０）。
【０２１２】
オーバレイ用セル境界Ｃ１＝１セル目の位置（Ｘ座標値）；
項目用セル境界Ｃ２＝１セル目の位置（Ｘ座標値）；
処理済みセル境界Ｃ３＝０；
前回キャンセル項目セル位置Ｃ４＝０，
セル登録フラグＦ＝ＯＦＦ。
【０２１３】
セル出力部１５１は，処理するセル定義情報があるかを判定し（ステップＳ３５１），処理するセル定義情報があれば（ステップＳ３５１のＹ），制御情報５２のオーバレイ用セル境界Ｃ１＝項目用セル境界Ｃ２であるかを判定する（ステップＳ３５２）。
【０２１４】
Ｃ１＝Ｃ２（オーバレイと項目とが同じ位置）であれば（ステップＳ３５２のＹ），オーバレイ・項目のセル定義登録処理を行う（ステップＳ３５３）。
【０２１５】
Ｃ１＝Ｃ２でなければ（ステップＳ３５２のＮ），Ｃ１＜Ｃ２であるかを判定する（ステップＳ３５４）。
【０２１６】
Ｃ１＜Ｃ２（オーバレイが項目より左側の位置）であれば（ステップＳ３５４のＹ），オーバレイのセル定義登録処理を行う（ステップＳ３５５）。
【０２１７】
Ｃ１＜Ｃ２でなければ（ステップＳ３５４のＮ），Ｃ１＞Ｃ２（項目がオーバレイより左側の位置）であるとして，項目のセル定義登録処理を行う（ステップＳ３５６）。
【０２１８】
図３５は，ステップＳ３５３のオーバレイ・項目のセル定義登録処理のより詳細な処理フロー図である。
【０２１９】
セル出力部１５１は，制御情報５２のセル登録フラグＦをＯＮに更新し（ステップＳ３５３０），前回キャンセル項目セル位置Ｃ４をクリアする（ステップＳ３５３１）。そして，式「オーバレイ用セル境界Ｃ１−処理済みセル境界Ｃ３」で算出した距離を，出力用セル定義情報２５のセル幅に登録する（ステップＳ３５３２）。
【０２２０】
制御情報５２の処理済みセル境界Ｃ３を，オーバレイ用セル境界Ｃ１で更新し（ステップＳ３５３３），オーバレイ用セル境界Ｃ１と項目用セル境界Ｃ２を次のセル境界の位置（Ｘ座標値）で更新して，処理を終了する（ステップＳ３５３４）。
【０２２１】
図３６は，ステップＳ３５５のオーバレイのセル定義登録処理のより詳細な処理フロー図である。
【０２２２】
セル出力部１５１は，制御情報５２のセル登録フラグＦをＯＮに更新し（ステップＳ３５５０），前回キャンセル項目セル位置Ｃ４をクリアする（ステップＳ３５５１）。そして，式「オーバレイ用セル境界Ｃ１−処理済みセル境界Ｃ３」で算出した距離を，出力用セル定義情報２５のセル幅に登録する（ステップＳ３５５２）。
【０２２３】
制御情報５２の処理済みセル境界Ｃ３を，オーバレイ用セル境界Ｃ１で更新し（ステップＳ３５５３），オーバレイ用セル境界Ｃ１のみを次のセル境界の位置（Ｘ座標値）で更新して，処理を終了する（ステップＳ３５５４）。
【０２２４】
図３７は，ステップＳ３５６の項目のセル定義登録処理のより詳細な処理フロー図である。
【０２２５】
セル出力部１５１は，制御情報５２のセル登録フラグＦがＯＮであるかを判定し（ステップＳ３５６０），制御情報５２のセル登録フラグＦがＯＮであれば（ステップＳ３５６０のＹ），前回キャンセル項目セル位置Ｃ４を項目用セル境界Ｃ２で更新し，項目用セル境界Ｃ２のみを，次のセル境界の位置（Ｘ座標値）で更新し，セル登録フラグＦをＯＦＦにする（ステップＳ３５６１）。
【０２２６】
制御情報５２のセル登録フラグＦがＯＮでなければ（ステップＳ３５６０のＮ），式「項目用セル境界Ｃ２−処理済みセル境界Ｃ３」で算出した距離を，出力用セル定義情報２５のセル幅に登録する。制御情報５２の処理済みセル境界Ｃ３を項目用セル境界Ｃ２で更新し，項目用セル境界Ｃ２のみを次のセル境界の位置（Ｘ座標値）で更新する（ステップＳ３５６２）。
【０２２７】
なお，ステップＳ３５６１において，処理対象のセルの長さが０である場合には，項目用セル境界Ｃ２のみを次のセル境界の位置に更新する処理だけを行う。
【０２２８】
以上の図３２〜図３７の処理フローを，セル幅（列幅）の処理として説明したが，セル出力部１５１は，セル高さ（行高）についても同様に処理を行う。
【０２２９】
図３８は，ステップＳ４のオーバレイ出力処理のより詳細な処理フロー図である。
【０２３０】
セル出力部１５１は，オーバレイ定義情報３３に未処理の情報があるかを判定し（ステップＳ４０），未処理の情報があれば（ステップＳ４０のＹ），オーバレイ位置・セル位置変換処理を行う（ステップＳ４１）。さらに，セル出力部１５１は，印刷データ登録処理（ステップＳ４２），書式登録処理（ステップＳ４３），フォント・配置属性登録処理（ステップＳ４４），セル結合登録処理（ステップＳ４５），罫線・網掛け登録処理（ステップＳ４６）を行う。
【０２３１】
オーバレイ定義情報３３に未処理の情報がある間，ステップＳ４１〜Ｓ４６の処理を繰り返し，未処理の情報がなければ（ステップＳ４０のＮ），スプレッドシート出力処理を行う（ステップＳ４７）。
【０２３２】
図３９は，ステップＳ５のフォーマット出力処理のより詳細な処理フロー図である。
【０２３３】
セル出力部１５１は，フォーマット定義情報３１に未処理の情報があるかを判定し（ステップＳ５０），未処理の情報があれば（ステップＳ５０のＹ），項目位置・セル位置変換処理を行う（ステップＳ５１）。さらに，セル出力部１５１は，印刷データ登録処理（ステップＳ５２），書式登録処理（ステップＳ５３），フォント・配置属性登録処理（ステップＳ５４），セル結合登録処理（ステップＳ５５），罫線・網掛け登録処理（ステップＳ５６）を行う。
【０２３４】
フォーマット定義情報３１に未処理の情報がある間，ステップＳ５１〜Ｓ５６の処理を繰り返し，未処理の情報がなければ（ステップＳ５０のＮ），スプレッドシート出力処理を行う（ステップＳ５７）。
【０２３５】
図３８の処理フロー図と図３９の処理フロー図とにおいて，ステップＳ４０とＳ５０，ステップＳ４１とＳ５１，ステップＳ４２とＳ５２，ステップＳ４３とＳ５３，ステップＳ４４とＳ５４，ステップＳ４５とＳ５５，ステップＳ４６とＳ５６，ステップＳ４７とＳ５７は，それぞれが同様の処理を行うものである。
【０２３６】
以下の図４０〜図４５の処理フロー図は，図３８および図３９の処理ステップの詳細な説明図である。処理説明では，図３９の処理フロー図に則して処理を説明する。
【０２３７】
図４０は，ステップＳ４１（Ｓ５１）の項目位置・セル位置変換処理のより詳細な処理フロー図である。
【０２３８】
セル出力部１５１は，処理する項目の項目位置が何列目になるかを算出する。フォーマット・セル定義情報２１を参照して，座標原点から順に列幅を加算し，加算した列幅が，フォーマット定義情報３１の項目の位置（Ｘ座標値）となった時点の列を求める（ステップＳ４１０）。さらに，処理する項目の項目位置が何行目になるかを算出する。フォーマット・セル定義情報２１を参照して，座標原点から順に行高を加算し，加算した行高が，フォーマット定義情報３１の項目の位置（Ｙ座標値）となった時点の列を，求める（ステップＳ４１１）。算出したセル位置（行，列）を保持する（ステップＳ４１２）。
【０２３９】
図４１は，ステップＳ４２（Ｓ５２）の印刷データ登録処理のより詳細な処理フロー図である。
【０２４０】
セル出力部１５１は，入力データ群３５を取得し，フォーマット定義情報３１の項目情報のレコード内位置から，項目に対応する入力データ（以降，印刷データという）を取り出す（ステップＳ４２０）。
【０２４１】
セル出力部１５１は，フォーマット定義情報３１の項目情報の項目種別が日付または時刻かを判定し（ステップＳ４２１），印刷データの項目種別が日付または時刻であれば（ステップＳ４２１のＹ），印刷データをシリアル値に変換する（ステップＳ４２２）。印刷データの項目種別が日付または時刻のいずれでもなければ（ステップＳ４２１のＮ），項目種別が数値かを判定する（ステップＳ４２３）。さらに，印刷データの項目種別が数値であれば（ステップＳ４２３のＹ），印刷データを数値文字列に変換する（ステップＳ４２４）。
【０２４２】
そして，セル出力部１５１は，印刷データと対応するセル位置とを出力処理用情報２６へ登録する（ステップＳ４２５）。出力処理用情報２６は，ステップＳ４７の処理のための情報である。
【０２４３】
図４２は，ステップＳ４３（Ｓ５３）の書式登録処理のより詳細な処理フロー図である。
【０２４４】
セル出力部１５１は，フォーマット定義情報３１の項目情報の編集形式が数値編集かを判定し（ステップＳ４３０），項目情報の変種形式が数値編集であれば（ステップＳ４３０のＹ），数値編集に対応するＥＸＣＥＬ用の書式を生成する。例えば，全体桁数，小数部桁数の設定，カンマ区切り，通貨記号編集，符号位置，負記号，負データ時の表示色，ゼロデータ制御，通貨記号，通貨記号位置，正データの「＋」表示，小数部のゼロサプレス等の書式を生成する（ステップＳ４３１）。
【０２４５】
次に，項目情報の編集形式が，日付編集または時刻編集であるかを判定し（ステップＳ４３２），編集形式が，日付編集または時刻編集であれば（ステップＳ４３２のＹ），日付編集，時刻編集に対応するＥＸＣＥＬ用の書式を生成する（ステップＳ４３３）。項目情報の編集形式が郵便番号編集であるかを判定し（ステップＳ４３４），編集形式が郵便番号編集であれば（ステップＳ４３４のＹ），郵便番号編集に対応するＥＸＣＥＬ用の書式を生成する。例えば，５桁／７桁の設定，挿入文字（ハイフン，空白）の有無または種別を生成する（ステップＳ４３５）。
【０２４６】
セル出力部１５１は，ステップＳ４３０，Ｓ４３２，Ｓ４３４のいずれの判定処理でも該当していなければ，文字列データを示す書式（＠）を生成する（ステップＳ４３６）。
【０２４７】
セル出力部１５１は，ステップＳ４３１〜Ｓ４３６の処理で生成した書式と対応するセル位置とを指定して，出力処理用情報２６に登録する（ステップＳ４３７）。
【０２４８】
図４３は，ステップＳ４４（Ｓ５４）のフォント・配置属性登録処理のより詳細な処理フロー図である。
【０２４９】
セル出力部１５１は，フォーマット定義情報３１の項目情報のフォントの属性に関する情報を，出力処理用情報に登録する（ステップＳ４４０）。さらに，フォーマット定義情報３１の項目情報の文字列の配置の属性に関する情報を，出力処理用情報２６に登録する（ステップＳ４４１）。
【０２５０】
図４４は，ステップＳ４５（Ｓ５５）のセル結合登録処理のより詳細な処理フロー図である。
【０２５１】
セル出力部１５１は，対応するセル範囲を算出する（ステップＳ４５０）。フォーマット定義情報３１の項目位置（Ｘ，Ｙ１）と，項目情報の項目領域長（Ｘ軸方向の幅）と項目の高さ（Ｙ軸方向の幅）から，項目が占めるセルの範囲を計算する。そして，フォーマット・セル定義情報２１から，計算した範囲に対応するセルの範囲を特定する。
【０２５２】
そして，特定したセル範囲を結合範囲とし，結合範囲のセル位置を出力処理用情報２６に登録する（ステップＳ４５１）。
【０２５３】
図４５は，ステップＳ４６（Ｓ５６）の罫線・網掛け登録処理のより詳細な処理フロー図である。
【０２５４】
セル出力部１５１は，フォーマット定義情報３１の罫線情報の種別が罫線であるかを判定する（ステップＳ４６０）。
【０２５５】
罫線情報の種別が罫線であれば（ステップＳ４６０のＹ），対応するセルの範囲を算出する（ステップＳ４６１）。
【０２５６】
フォーマット・セル定義情報２１から，罫線の開始位置（Ｘ１，Ｙ１）と終了位置（Ｘ２，Ｙ２）が，どの列および行に含まれるかを算出する。
【０２５７】
なお，データ重視モードまたは最適化モードの処理によってスプレッドシート４１が生成される場合に，マッピングされた項目またはオーバレイの罫線については，罫線の開始位置／終了位置の座標値が，セルの列幅／行高の中間点を基準として，この中間点より開始位置／終了位置の座標値が小さければ，１つ前（座標原点側）のセルの区切りを範囲の開始位置／終了位置として，中間点より開始位置／終了位置の座標値が大きければ，１つ後（座標原点と反対側）のセルの区切りを範囲の開始位置／終了として，セルの範囲を算出する。
【０２５８】
セル出力部１５１は，フォーマット定義情報３１の罫線情報の種別が網掛けであるかを判定する（ステップＳ４６２）。罫線情報の種別が網掛けであれば（ステップＳ４６２のＹ），対応するセルの範囲を算出する。セルの範囲の算出は，ステップＳ４６１の処理と同様の処理によって行い，フォーマット・セル定義情報２１から，網掛けの開始位置（Ｘ１，Ｙ１）と終了位置（Ｘ２，Ｙ２）が，どの列および行に含まれるかを算出する（ステップＳ４６３）。
【０２５９】
罫線，網掛けと特定したセル範囲を指定し，出力処理用情報２６に登録する（ステップＳ４６４）。
【０２６０】
図４６は，ステップＳ４７（Ｓ５７）のスプレッドシート出力処理のより詳細な処理フロー図である。
【０２６１】
セル出力部１５１は，出力用セル定義情報２５に出力処理が未処理のセル情報があるかを判定し（ステップＳ４７０），入力データ群３５のデータを別シートに出力するかを判定する（ステップＳ４７１）。
【０２６２】
入力データ群３５のデータの別シート出力が指定されている場合に（ステップＳ４７１のＹ），ＸＭＬ形式のデータ用シートのスプレッドシート４１′を生成し，スプレッドシート４１′へ印刷データを出力する処理を行い（ステップＳ４７２），スプレッドシート４１に，データ用シートのスプレッドシート４１′内の印刷データへのリンクを登録する（ステップＳ４７３）。
【０２６３】
入力データ群３５のデータの別シート出力が指定されていない場合に（ステップＳ４７１のＮ），ＸＭＬ形式のスプレッドシート４１に印刷データを出力する処理を行う（ステップＳ４７４）。
【０２６４】
セル出力部１５１は，スプレッドシート４１のセル情報（セル）に対して，出力処理用情報２６に登録された書式を，ＸＭＬ形式の属性データへ出力し（ステップＳ４７５），出力処理用情報２６に登録されたフォント，配置情報を属性データへ出力し（ステップＳ４７６），出力処理用情報２６に登録されたセル結合の情報を属性データへ出力し（ステップＳ４７７），出力処理用情報２６に登録された罫線，網掛けの情報を属性データへ出力する（ステップＳ４７８）。
【０２６５】
そして，未処理のセル情報がなければ（ステップＳ４７０のＮ），属性データ（ＸＭＬ形式）を圧縮して，出力先のスプレッドシート４１へ保存する（ステップＳ４７９）。
【０２６６】
以上，本発明を実施の形態により説明したが，本発明はその主旨の範囲において種々の変形が可能であることは当然である。
【０２６７】
また，本発明の実施の形態として開示したスプレッドシート生成装置１は，プログラムがコンピュータにより読み取られ実行されることにより，スプレッドシート生成装置１が有する各処理部が実現されることによって構築することができる。このプログラムは，コンピュータが読み取り可能な，可搬媒体メモリ，半導体メモリ，ハードディスクなどの適当な記録媒体に格納することができ，これらの記録媒体に記録して提供される。または，このプログラムは，通信インタフェースを介して種々の通信網を利用した送受信により提供される。
【０２６８】
以上の実施例を含む実施形態に関し，さらに以下の付記を開示する。
【０２６９】
（付記１）
コンピュータを，
帳票を構成する項目群の前記帳票内のレイアウト位置に関するフォーマット定義情報を取得するフォーマット定義情報取得処理手段と，
前記帳票に重畳して出力されるオーバレイ群の前記帳票内のレイアウト位置に関するオーバレイ定義情報を取得するオーバレイ定義情報取得処理手段と，
前記フォーマット定義情報の各項目の列方向の位置および行方向のレイアウト位置から，隣り合う項目間の距離に基づいて列幅および行高をそれぞれ決定し，当該決定した列幅および行高に関するフォーマット・セル定義情報を生成するセル定義情報生成処理手段と，
前記オーバレイ定義情報に基づいて前記オーバレイのレイアウト位置に対応する列幅および行高を決定し，前記フォーマット・セル定義情報の項目群の列幅および行高，ならびに前記決定したオーバレイのレイアウト位置に基づく列幅および行高に基づいて，出力用の列幅および行高ならびに当該列幅と行高とのセル配列における前記項目群およびオーバレイ群の各々が対応するセルを特定したスプレッドシートを生成するスプレッドシート出力処理手段
として機能させる
ことを特徴とするスプレッドシート生成プログラム。
【０２７０】
（付記２）
前記コンピュータを，
前記スプレッドシート出力処理手段によって実行される処理を特定するモードを指定するモード指定手段として機能させるとともに，
前記スプレッドシート出力処理手段は，前記モード指定手段によって指定されたモードに基づいて前記出力用の列幅および行高を決定する
ことを特徴とする前記付記１に記載のスプレッドシート生成プログラム。
【０２７１】
（付記３）
前記モード指定手段は，前記モードとしてデータ重視モードを指定し，
前記スプレッドシート出力処理手段は，前記モード指定手段によって前記データ重視モードが指定された場合に，前記フォーマット・セル定義情報の列幅および行高に基づいて前記出力用の列幅および行高を決定し，決定した出力用の列幅および行高を備えるスプレッドシートを生成し，生成したスプレッドシートにおいて，前記オーバレイ定義情報の各オーバレイのレイアウト位置に最も近い列幅の区切りを特定し，特定した列幅の区切りに対応する列幅を当該オーバレイに対応する列幅として決定する
ことを特徴とする前記付記２に記載のスプレッドシート生成プログラム。
【０２７２】
（付記４）
前記モード指定手段は，前記モードとしてデータ重視モードを指定し，
前記スプレッドシート出力処理手段は，前記モード指定手段によって前記データ重視モードが指定された場合に，前記フォーマット・セル定義情報の列幅および行高に基づいて前記出力用の列幅および行高を決定し，決定した出力用の列幅および行高を備えるスプレッドシートを生成し，生成したスプレッドシートにおいて，前記オーバレイ定義情報の各オーバレイのレイアウト位置に最も近い行高の区切りを特定し，特定した行高の区切りに対応する行高を当該オーバレイに対応する列幅として決定する
ことを特徴とする前記付記２に記載のスプレッドシート生成プログラム。
【０２７３】
（付記５）
前記モード指定手段は，前記モードとして最適化モードを指定し，
前記セル定義情報生成処理手段は，前記モード指定手段によって前記最適化モードが指定された場合に，前記オーバレイ定義情報の各オーバレイの列方向のレイアウト位置から，隣り合う位置間の距離に基づいて列幅を決定し，当該決定した列幅に関するオーバレイ・セル定義情報を生成し，
前記スプレッドシート出力処理手段は，前記モード指定手段によって前記最適化モードが指定された場合に，前記フォーマット・セル定義情報および前記オーバレイ・セル定義情報それぞれの列幅の区切りの位置を昇順にソートし，項目とオーバレイとが隣り合う列幅の区切りの位置について，昇順が下位の区切り位置を上位の区切り位置で置き換え，置き換えた列幅の区切りに対応する列幅を当該項目または当該オーバレイに対応する列幅として決定し，決定した列幅を含む前記ソートした列幅を前記出力用の列幅とする
ことを特徴とする前記付記２に記載のスプレッドシート生成プログラム。
【０２７４】
（付記６）
前記モード指定手段は，前記モードとして最適化モードを指定し，
前記セル定義情報生成処理手段は，前記モード指定手段によって前記最適化モードが指定された場合に，前記オーバレイ定義情報の各オーバレイの行方向のレイアウト位置から，隣り合う位置間の距離に基づいて行高を決定し，当該決定した行高に関するオーバレイ・セル定義情報を生成し，
前記スプレッドシート出力処理手段は，前記モード指定手段によって前記最適化モードが指定された場合に，前記フォーマット・セル定義情報および前記オーバレイ・セル定義情報それぞれの行高区切りの位置を昇順にソートし，項目とオーバレイとが隣り合う列幅の区切りの位置について，昇順が下位の区切り位置を上位の区切り位置で置き換え，置き換えた行高の区切りに対応する列幅を当該項目または当該オーバレイに対応する行高として決定し，決定した行高を含む前記ソートした行高を前記出力用の行高とする
ことを特徴とする前記付記２に記載のスプレッドシート生成プログラム。
【０２７５】
（付記７）
前記モード指定手段は，前記モードとしてオートシェイプモードを指定し，
前記スプレッドシート出力処理手段は，前記モード指定手段によって前記オートシェイプモードが指定された場合に，前記フォーマット・セル定義情報の列幅および行高に基づいて決定した前記出力用の列幅および行高を備えるスプレッドシートを生成する処理と，前記オーバレイ定義情報の各オーバレイに対応する図形を，前記生成したスプレッドシートにおいて当該オーバレイのレイアウト位置に描画する図形データを生成する処理とを行う
ことを特徴とする前記付記２に記載のスプレッドシート生成プログラム。
【０２７６】
（付記８）
前記コンピュータを，
前記帳票の項目各々に対する入力データ群を取得する入力データ取得手段として機能させるとともに，
前記スプレッドシート出力処理手段は，前記入力データ群の各入力データを，前記生成したスプレッドシートの各項目に対応するセルに与える
ことを特徴とする前記付記１ないし付記７のいずれか一項に記載のスプレッドシート生成プログラム。
【０２７７】
（付記９）
前記フォーマット・セル定義情報生成手段は，前記フォーマット定義情報の項目群の列方向および行方向の座標値を昇順にソートし，前記ソート結果から，昇順の順位が１つ上の項目間との間の列方向の距離に基づいて列幅を決定し，前記ソート結果から，昇順の順位が１つ上の項目との間の行方向の距離に基づいて行高を決定し，前記フォーマット定義情報に基づいて決定された列幅および行高に関するフォーマット・セル定義情報を生成する
ことを特徴とする前記付記１ないし付記８のいずれか一項に記載のスプレッドシート生成プログラム。
【０２７８】
（付記１０）
帳票を構成する項目群の前記帳票内のレイアウト位置に関するフォーマット定義情報を取得するフォーマット定義情報取得処理手段と，
前記帳票に重畳して出力されるオーバレイ群の前記帳票内のレイアウト位置に関するオーバレイ定義情報を取得するオーバレイ定義情報取得処理手段と，
前記フォーマット定義情報の各項目の列方向の位置および行方向のレイアウト位置から，隣り合う項目間の距離に基づいて列幅および行高をそれぞれ決定し，当該決定した列幅および行高に関するフォーマット・セル定義情報を生成するセル定義情報生成処理手段と，
前記オーバレイ定義情報に基づいて前記オーバレイのレイアウト位置に対応する列幅および行高を決定し，前記フォーマット・セル定義情報の項目群の列幅および行高，ならびに前記決定したオーバレイのレイアウト位置に基づく列幅および行高に基づいて，出力用の列幅および行高ならびに当該列幅と行高とのセル配列における前記項目群およびオーバレイ群の各々が対応するセルを特定したスプレッドシートを生成するスプレッドシート出力処理手段とを備える
ことを特徴とするスプレッドシート生成装置。
【０２７９】
（付記１１）
コンピュータが実行するスプレッドシート生成方法であって，
帳票を構成する項目群の前記帳票内のレイアウト位置に関するフォーマット定義情報を取得する処理過程と，
前記帳票に重畳して出力されるオーバレイ群の前記帳票内のレイアウト位置に関するオーバレイ定義情報を取得する処理過程と，
前記フォーマット定義情報の各項目の列方向の位置および行方向のレイアウト位置から，隣り合う項目間の距離に基づいて列幅および行高をそれぞれ決定する処理過程と，
前記フォーマット定義情報から決定した列幅および行高に関するフォーマット・セル定義情報を生成する処理過程と，
前記オーバレイ定義情報に基づいて前記オーバレイのレイアウト位置に対応する列幅および行高を決定する処理過程と，
前記フォーマット・セル定義情報の項目群の列幅および行高ならびに前記オーバレイのレイアウト位置に基づく列幅および行高に基づいて，出力用の列幅および行高ならびに当該列幅と行高とのセル配列における前記項目群およびオーバレイ群の各々が対応するセルを特定したスプレッドシートを生成する処理過程とを備える
ことを特徴とするスプレッドシート生成方法。
【図面の簡単な説明】
【０２８０】
【図１】本発明の一実施例として開示するスプレッドシート生成装置の構成例を示す図である。
【図２】本発明の一実施例における帳票の印刷結果例を示す図である。
【図３】本発明の一実施例におけるフォーマット定義情報のデータ構成例を示す図である。
【図４】本発明の一実施例におけるフォーマット定義情報の項目情報のデータ構成例を示す図である。
【図５】本発明の一実施例におけるフォーマット定義情報の項目情報の編集形式とスプレッドシートの書式との対応関係の定義例を示す図である。
【図６】本発明の一実施例におけるフォーマット定義情報の項目情報のレコード内位置と各項目に与えられる入力データとの関係を説明するための図である。
【図７】本発明の一実施例におけるフォーマット定義情報の罫線情報のデータ構成例を示す図である。
【図８】本発明の一実施例におけるオーバレイ定義情報のデータ構成例を示す図である。
【図９】本発明の一実施例におけるオーバレイ定義情報の文字列情報のデータ構成例を示す図である。
【図１０】本発明の一実施例におけるオーバレイ定義情報の罫線情報のデータ構成例を示す図である。
【図１１】本発明の一実施例におけるオーバレイ定義情報の枠情報のデータ構成例を示す図である。
【図１２】本発明の一実施例におけるオーバレイ定義情報の網掛け情報のデータ構成例を示す図である。
【図１３】本発明の一実施例におけるセル制御情報のデータ構成例を示す図である。
【図１４】本発明の一実施例におけるフォーマット定義情報に基づく列幅および行高の決定例を示す図である。
【図１５】本発明の一実施例におけるオーバレイ定義情報に基づく列幅および行高の決定例を示す図である。
【図１６】本発明の一実施例における，フォーマット・セル定義情報とオーバレイ・セル定義情報のレイアウト位置に関する情報のデータ構成例を示す図である。
【図１７】本発明の一実施例における，ＯＯＸＭＬ（Ｏｆｆｉｃｅ  Ｏｐｅｎ  ＸＭＬ）形式のスプレッドシートの例を示す図である。
【図１８】本発明の一実施例における，レイアウト重視モードの処理によるスプレッドシートのセル配列例を示す図である。
【図１９】本発明の一実施例における，データ重視モードの処理によるスプレッドシートのセル配列例を示す図である。
【図２０】本発明の一実施例における，最適化モードの処理によるスプレッドシートのセル配列例を示す図である。
【図２１】本発明の一実施例における，オートシェイプモードの処理によるスプレッドシートのセル配列例を示す図である。
【図２２】本発明の一実施例における，複数のデータファイルで構成されたスプレッドシートから入力データのみを抽出する場合を説明するための図である。
【図２３】本発明の一実施例における，入力データとオーバレイとの情報の二次活用を説明するための図である。
【図２４】本発明の一実施例における，スプレッドシート生成装置の概要処理の処理フロー例を示す図である。
【図２５】本発明の一実施例におけるステップＳ１のセル定義情報の生成処理のより詳細な処理フロー図である。
【図２６】本発明の一実施例におけるステップＳ１１の列幅の算出処理のより詳細な処理フロー図である。
【図２７】本発明の一実施例におけるステップＳ１３の行高の算出処理のより詳細な処理フロー図である。
【図２８】本発明の一実施例におけるステップＳ１１３およびＳ１１５の列幅算出処理のより詳細な処理フロー図である。
【図２９】本発明の一実施例におけるステップＳ１３３およびＳ１３５の行高算出処理のより詳細な処理フロー図である。
【図３０】本発明の一実施例におけるステップＳ３の出力用セル定義情報生成処理のより詳細な処理フロー図である。
【図３１】本発明の一実施例における制御情報５２のデータ構造例を示す図である。
【図３２】本発明の一実施例におけるステップＳ３１のレイアウト重視用処理のより詳細な処理フロー図である。
【図３３】本発明の一実施例におけるステップＳ３３のデータ重視用処理のより詳細な処理フロー図である。
【図３４】本発明の一実施例におけるステップＳ３５の最適化用処理のより詳細な処理フロー図である。
【図３５】本発明の一実施例におけるステップＳ３５３のオーバレイ・項目のセル定義登録処理のより詳細な処理フロー図である。
【図３６】本発明の一実施例におけるステップＳ３５５のオーバレイのセル定義登録処理のより詳細な処理フロー図である。
【図３７】本発明の一実施例におけるステップＳ３５６の項目のセル定義登録処理のより詳細な処理フロー図である。
【図３８】本発明の一実施例におけるステップＳ４のオーバレイ出力処理のより詳細な処理フロー図である。
【図３９】本発明の一実施例におけるステップＳ５のフォーマット出力処理のより詳細な処理フロー図である。
【図４０】本発明の一実施例におけるステップＳ４１（Ｓ５１）の項目位置・セル位置変換処理のより詳細な処理フロー図である。
【図４１】本発明の一実施例におけるステップＳ４２（Ｓ５２）の印刷データ登録処理のより詳細な処理フロー図である。
【図４２】本発明の一実施例におけるステップＳ４３（Ｓ５３）の書式登録処理のより詳細な処理フロー図である。
【図４３】本発明の一実施例におけるステップＳ４４（Ｓ５４）のフォント・配置属性登録処理のより詳細な処理フロー図である。
【図４４】本発明の一実施例におけるステップＳ４５（Ｓ５５）のセル結合登録処理のより詳細な処理フロー図である。
【図４５】本発明の一実施例におけるステップＳ４６（Ｓ５６）の罫線・網掛け登録処理のより詳細な処理フロー図である。
【図４６】本発明の一実施例におけるステップＳ４７（Ｓ５７）のスプレッドシート出力処理のより詳細な処理フロー図である。
【符号の説明】
【０２８１】
１  スプレッドシート生成装置
１１  セル定義情報生成処理部
１３  モード指定部
１５  スプレッドシート出力部
１５１  セル出力部
１５２  オートシェイプ出力部
１９  セル制御情報
２１  フォーマット・セル定義情報
２３  オーバレイ・セル定義情報
２５  出力用セル定義情報
３１  フォーマット定義情報
３３  オーバレイ定義情報
３５  入力データ群
４１，４１′  スプレッドシート
５１，５２，５３  制御情報
【図１】
2010140122.tif 000003
【図２】
2010140122.tif 000004
【図３】
2010140122.tif 000005
【図４】
2010140122.tif 000006
【図５】
2010140122.tif 000007
【図６】
2010140122.tif 000008
【図７】
2010140122.tif 000009
【図８】
2010140122.tif 000010
【図９】
2010140122.tif 000011
【図１０】
2010140122.tif 000012
【図１１】
2010140122.tif 000013
【図１２】
2010140122.tif 000014
【図１３】
2010140122.tif 000015
【図１４】
2010140122.tif 000016
【図１５】
2010140122.tif 000017
【図１６】
2010140122.tif 000018
【図１７】
2010140122.tif 000019
【図１８】
2010140122.tif 000020
【図１９】
2010140122.tif 000021
【図２０】
2010140122.tif 000022
【図２１】
2010140122.tif 000023
【図２２】
2010140122.tif 000024
【図２３】
2010140122.tif 000025
【図２４】
2010140122.tif 000026
【図２５】
2010140122.tif 000027
【図２６】
2010140122.tif 000028
【図２７】
2010140122.tif 000029
【図２８】
2010140122.tif 000030
【図２９】
2010140122.tif 000031
【図３０】
2010140122.tif 000032
【図３１】
2010140122.tif 000033
【図３２】
2010140122.tif 000034
【図３３】
2010140122.tif 000035
【図３４】
2010140122.tif 000036
【図３５】
2010140122.tif 000037
【図３６】
2010140122.tif 000038
【図３７】
2010140122.tif 000039
【図３８】
2010140122.tif 000040
【図３９】
2010140122.tif 000041
【図４０】
2010140122.tif 000042
【図４１】
2010140122.tif 000043
【図４２】
2010140122.tif 000044
【図４３】
2010140122.tif 000045
【図４４】
2010140122.tif 000046
【図４５】
2010140122.tif 000047
【図４６】
2010140122.tif 000048