(57)【要約】【課題】表形式データ中の必要なデータの抽出を自動で行なう。【解決手段】実施形態によれば、項目名が入力された表形式データを記憶し、表形式データの入力領域についての項目名の値を入力し、入力後の表形式データにおける、入力により値に差分が生じた入力領域の値と入力後の表形式データにおける当該入力領域の位置情報とを有する差分情報を抽出し、抽出した差分情報の位置情報で示される入力領域の値のデータ形式と当該入力領域から所定方向に沿った先の入力領域の値の入力状態とを比較することで、項目名と当該項目名の値が入力される入力領域の位置情報とを判定し、判定結果をもとに、判定した項目名の値が入力される入力領域の位置情報を示す定義ファイルを生成し、定義ファイルをもとに、項目名と当該項目名の値との対応関係を示すデータを当該表形式データから抽出する。【選択図】      図５
2011253443.tif 000002
【特許請求の範囲】
【請求項１】
複数の入力領域を有し、これらの入力領域のうち所定の入力領域に項目名が入力された表形式データを記憶する表形式データ記憶手段と、
前記表形式データの入力領域についての前記項目名の値の入力操作を受け付ける入力手段と、
前記入力手段による入力後の表形式データにおける、前記入力手段による入力により値に差分が生じた入力領域の値と前記入力後の表形式データにおける当該入力領域の位置情報とを有する差分情報を抽出する差分情報抽出手段と、
前記入力後の表形式データにおける前記差分情報抽出手段により抽出した差分情報の位置情報で示される入力領域の値のデータ形式と当該表形式データにおける当該入力領域から所定方向に沿った先の入力領域の値の入力状態とを比較することで、前記入力後の表形式データにおける項目名と当該項目名の値が入力される入力領域の位置情報とを判定する項目名判定手段と、
前記差分情報抽出手段により抽出した差分情報及び前記項目名判定手段による判定結果をもとに、前記入力後の表形式データにおける入力領域のうち、前記項目名判定手段により判定した項目名の値が入力される入力領域の位置情報を示す定義ファイルを生成する定義ファイル生成手段と、
前記入力後の前記表形式データ及び前記定義ファイル生成手段により生成した定義ファイルをもとに、前記入力後の表形式データにおける項目名と当該項目名の値との対応関係を示すデータを当該表形式データから抽出するデータ抽出手段と
を備えたことを特徴とするデータ処理装置。
【請求項２】
複数の入力領域を定義する所定のテンプレートから作成され、これらの入力領域のうち所定の入力領域に項目名が入力された表形式データである第１の表形式データ及び当該第１の表形式データのテンプレートと同じテンプレートから作成され、当該テンプレートにおける、前記第１の表形式データにおける前記項目名の入力領域の位置と同じ位置の入力領域に同じ項目名が入力された第２の表形式データを記憶する表形式データ記憶手段と、
前記入力手段による入力後の前記第１および第２の表形式データの入力領域についての前記項目名の値の入力操作を受け付ける入力手段と、
前記入力後の前記第１及び第２の表形式データにおける前記同じ位置の入力領域のうち、当該第１及び第２の表形式データ間で値が相違する入力領域の値と前記入力後の前記第１及び第２の表形式データにおける前記相違する入力領域の位置情報とを有する差分情報を抽出する差分情報抽出手段と、
前記入力後の前記第１及び第２の表形式データのいずれから選択した表形式データにおける前記差分情報抽出手段により抽出した差分情報の位置情報で示される入力領域の値のデータ形式と当該表形式データにおける当該入力領域から所定方向に沿った先の入力領域の値の入力状態とを比較することで、前記入力後の前記第１及び第２の表形式データにおける項目名と当該項目名の値が入力される入力領域の位置情報とを判定する項目名判定手段と、
前記項目名判定手段による判定結果をもとに、前記選択した表形式データにおける入力領域のうち、前記項目名判定手段により判定した項目名の値が入力される入力領域の位置情報を示す定義ファイルを生成する定義ファイル生成手段と、
前記選択した表形式データ及び前記定義ファイル生成手段により生成した定義ファイルをもとに、前記選択した表形式データにおける項目名と当該項目名の値との対応関係を示すデータを当該表形式データから抽出するデータ抽出手段と
を備えたことを特徴とするデータ処理装置。
【請求項３】
前記項目名判定手段は、
前記差分情報抽出手段により抽出した差分情報で示される入力領域が複数あり、これらの入力領域に、前記入力後の表形式データ中で連続する入力領域が含まれる場合、前記入力後の表形式データにおける前記連続する入力領域の値のデータ形式と前記入力後の表形式データにおける当該連続する入力領域の連続方向に直交する方向に沿った先の入力領域の値の入力状態とを比較することで、前記入力後の表形式データにおける項目名と当該項目名の値が入力される入力領域の位置情報とを判定する
ことを特徴とする請求項１に記載のデータ処理装置。
【請求項４】
前記項目名判定手段は、
前記差分情報抽出手段により抽出した情報で示される入力領域が複数あり、これらの入力領域に、前記選択した表形式データ中で連続する入力領域が含まれる場合、前記選択した表形式データにおける前記連続する入力領域の値のデータ形式と前記選択した表形式データにおける前記連続する入力領域の連続方向に直交する方向に沿った先の入力領域の値の入力状態とを比較することで、前記選択した表形式データにおける項目名及び当該項目名の値が入力される入力領域の位置情報を判定する
ことを特徴とする請求項２に記載のデータ処理装置。
【請求項５】
前記項目名判定手段は、
前記選択した表形式データにおける前記差分情報の入力領域において、列方向に沿って連続する領域の数が各列において同じでなく、行方向に沿って連続する領域の数が各行において同じでない場合には、前記差分情報の入力領域の各列における列方向に沿って連続する領域の数が、各列のうち列方向に沿って連続する領域の数が最も多い列における当該連続する領域の数と同じになり、かつ、前記差分情報の入力領域の各行における行方向に沿って連続する領域の数が、各行のうち行方向に沿って連続する領域の数が最も多い行における当該連続する領域の数と同じになるように、前記選択した表形式データにおける前記連続する入力領域の範囲を拡張し、前記拡張後の入力領域を、データ形式が同じ領域の連続方向に直交する方向に連続した領域に分割し、前記分割した入力領域内で連続する入力領域の値のデータ形式と前記連続する入力領域の連続方向に直交する方向に沿った先の入力領域の値の入力状態とを比較することで、前記表形式データにおける項目名及び当該項目名の値が入力される入力領域の位置情報を判定する
ことを特徴とする請求項４に記載のデータ処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、表形式データのデータ処理装置に関する。
【背景技術】
【０００２】
従来、データ入力に用いるソフトウェアとして、データ入力の容易さ、及び入力形式の汎用性から、表計算ソフトウェアなどが用いられている。この表計算ソフトウェアにより作成した表形式データは、人が閲覧するのには適しているが、目的外の処理、例えば、入力した表形式データをシステムから直接参照する処理を行なうことは困難である。表計算ソフトウェアは、行と列に区切られた表形式の矩形の入力領域に自由にデータを配置できるため、表形式データ中のどの位置の入力領域に入力されたデータがどのような意味を示しているのかをシステムが自動的に判定する事はできない。
【０００３】
そこで、システムにより表形式データを参照するために、当該表形式データ中の入力領域のうち、入力されたデータの抽出対象の入力領域の位置を記述した定義ファイルを作成して、この定義ファイルを元に表形式データから必要なデータを抽出している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−２８４７５４号公報
【特許文献２】特開２００５−３５２７７４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、前述したように表形式データから必要なデータを抽出するには、オペレータが手動操作によりで定義ファイルを作成して、帳票のどの部分を抽出するのかを手動操作で指定する必要があった。  
本発明が解決しようとする課題は、表形式データ中の必要なデータの抽出を自動で行なうことにある。
【課題を解決するための手段】
【０００６】
実施形態によれば、複数の入力領域を有し、これらの入力領域のうち所定の入力領域に項目名が入力された表形式データを記憶する表形式データ記憶手段と、前記表形式データの入力領域についての前記項目名の値の入力操作を受け付ける入力手段と、前記入力手段による入力後の表形式データにおける、前記入力手段による入力により値に差分が生じた入力領域の値と前記入力後の表形式データにおける当該入力領域の位置情報とを有する差分情報を抽出する差分情報抽出手段とをもつ。
【図面の簡単な説明】
【０００７】
【図１】第１の実施形態におけるデータ処理システムによる、表形式データからのデータ抽出用定義ファイルの従来の生成手順を説明する図。
【図２】第１の実施形態におけるデータ処理システムによる、表形式データからのデータ抽出用定義ファイルの従来の生成手順を説明する図。
【図３】第１の実施形態におけるデータ処理システムによる、表形式データからのデータ抽出用定義ファイルの従来の生成手順を説明する図。
【図４】第１の実施形態におけるデータ処理装置の機能概要を示す図。
【図５】第１の実施形態におけるデータ処理装置の構成例を示すブロック図。
【図６】第１の実施形態におけるデータ処理装置の処理動作の一例を示すフローチャート。
【図７】第１の実施形態におけるデータ処理装置による処理対象の表形式データの形式の一例を示す図。
【図８】第１の実施形態におけるデータ処理装置による処理対象の表形式データの保存状態の一例を表形式で示す図。
【図９】第１の実施形態におけるデータ処理装置による処理対象の表形式データのデータ入力後の形式の一例を示す図。
【図１０】第１の実施形態におけるデータ処理装置による処理対象の表形式データの入力データの保存状態の一例を表形式で示す図。
【図１１】第１の実施形態におけるデータ処理装置による差分情報の抽出結果の一例を表形式で示す図。
【図１２】第１の実施形態におけるデータ処理装置による定義ファイル生成処理の処理手順の一例を示すフローチャート。
【図１３】第１の実施形態におけるデータ処理装置による差分領域に含まれる連続領域の一例を表形式で示す図。
【図１４】第１の実施形態におけるデータ処理装置による差分領域に含まれる連続領域についての項目名の判定結果の一例を表形式で示す図。
【図１５】第１の実施形態におけるデータ処理装置による差分領域に含まれる連続領域についての項目名の判定結果の一例を表形式で示す図。
【図１６】第１の実施形態におけるデータ処理装置による差分領域に含まれる連続領域についての項目名の判定結果の一例を表形式で示す図。
【図１７】第１の実施形態におけるデータ処理装置による差分領域に含まれる連続領域についての項目名の判定結果の一例を表形式で示す図。
【図１８】第１の実施形態におけるデータ処理装置による定義ファイルの生成結果の一例を表形式で示す図。
【図１９】第１の実施形態におけるデータ処理装置により生成した定義ファイルにしたがったデータ抽出結果の一例を表形式で示す図。
【図２０】第２の実施形態におけるデータ処理装置による処理対象の第１の表形式データの形式の一例を示す図。
【図２１】第２の実施形態におけるデータ処理装置による処理対象の第１の表形式データの保存状態の一例を表形式で示す図。
【図２２】第２の実施形態におけるデータ処理装置による処理対象の第２の表形式データの形式の一例を示す図。
【図２３】第２の実施形態におけるデータ処理装置による処理対象の第２の表形式データの保存状態の一例を表形式で示す図。
【図２４】第２の実施形態におけるデータ処理装置による第１の表形式データ及び第２の表形式データの差分情報の抽出結果の一例を表形式で示す図。
【図２５】第２の実施形態におけるデータ処理装置による複数の表形式データの差分情報の抽出について説明する図。
【図２６】第２の実施形態におけるデータ処理装置による複数の表形式データの差分情報の抽出について説明する図。
【図２７】第２の実施形態におけるデータ処理装置による差分情報の分割について説明する図。
【図２８】第２の実施形態におけるデータ処理装置による定義ファイルの生成結果の一例を表形式で示す図。
【図２９】第２の実施形態におけるデータ処理装置により生成した定義ファイルにしたがったデータ抽出結果の一例を表形式で示す図。
【発明を実施するための形態】
【０００８】
以下、実施の形態について、図面を参照して説明する。  
本実施形態では、データ処理装置により、表形式データ中の必要なデータを抽出するための定義ファイルを当該表形式データから自動生成する方法を提供する。  
まず、データ処理装置は、表形式データを常時監視して当該表形式データの変更履歴を記憶して、この変更履歴をもとに表形式データの差分情報を作成し、この差分情報をもとに表形式データから抽出すべきデータを推定して、定義ファイルを自動生成する。表形式データは、テンプレートを元にして入力領域にデータ（値）を入力することが多い。この場合、データ処理装置は、最初に表形式データが作成されてからの変更された部分が抽出すべきデータと推測することができる。
【０００９】
また、データ処理装置は、同じテンプレートから作成された複数の表形式データを比較して、これらの表形式データ間の相違部分である差分情報をもとに、抽出対象としたいずれかの表形式データから抽出すべきデータを推定して定義ファイルを自動生成することもできる。この場合、データ処理装置は、同じテンプレートの表形式データの複数のファイルの異なっている部分が抽出すべきデータと推測することができる。
【００１０】
（第１の実施形態）
まず、第１の実施形態について説明する。以下、第１の実施形態におけるデータ処理システムによる、表形式データからのデータ抽出用定義ファイルの生成手順について説明する。図１、図２、図３は、第１の実施形態におけるデータ処理システムによる、表形式データからのデータ抽出用定義ファイルの生成手順を説明する図である。  
図１に示した表形式データでは、矩形の入力領域が行方向、つまり図１に示した横方向に沿って３つ連続し、かつ、列方向、つまり図１に示した縦方向に沿って５つ連続してなる１５の入力領域にデータが入力されている。これらの領域の右側において列方向に沿って連続した領域Ｃ１，Ｃ２，Ｃ３，Ｃ４，Ｃ５は差分として抽出された領域である。これらの領域Ｃ１，Ｃ２，Ｃ３，Ｃ４，Ｃ５は列方向に沿って連続しているため、データ処理システムは、領域Ｃ１，Ｃ２，Ｃ３，Ｃ４，Ｃ５から行方向に沿って１つ左に連続する各領域にデータの入力がされているかどうかを判定する。
【００１１】
図１に示した表形式データでは、前述した１つ左に連続する各領域にデータの入力がなされており、かつ、これらの領域のデータの型（日付、文字列、数値など）は、領域Ｃ１，Ｃ２，Ｃ３，Ｃ４，Ｃ５のデータの型と同じである。この場合、データ処理装置は、前述した１つ左に連続する各領域から行方向に沿ってさらに１つ左に連続する領域Ｃ６，Ｃ７，Ｃ８，Ｃ９，Ｃ１０を抽出すべきデータ領域と判定し、これらの領域Ｃ６，Ｃ７，Ｃ８，Ｃ９，Ｃ１０にデータの入力がされているかどうかを判定する。  
図１に示した表形式データでは、領域Ｃ６，Ｃ７，Ｃ８，Ｃ９，Ｃ１０のデータの型は、領域Ｃ１，Ｃ２，Ｃ３，Ｃ４，Ｃ５のデータの型と異なる。この場合、データ処理装置は、領域Ｃ６，Ｃ７，Ｃ８，Ｃ９，Ｃ１０に入力されるデータが項目名と判定する。
【００１２】
図２に示した表形式データは、図１に示した表形式データと同じ構成の入力領域を有し、これらの入力領域の下側において行方向に沿って連続した領域Ｃ１１，Ｃ１２，Ｃ１３が差分として抽出された領域である。これらの領域Ｃ１１，Ｃ１２，Ｃ１３は、行方向に沿って連続しているため、データ処理システムは、領域Ｃ１１，Ｃ１２，Ｃ１３から列方向に沿って１つ上に連続する各領域にデータの入力がされているかどうかを判定する。
【００１３】
図２に示した表形式データでは、前述した１つ上に連続する各領域にもデータの入力がなされており、これらの領域のデータの型は、領域Ｃ１１，Ｃ１２，Ｃ１３のデータの型と同じである場合、前述した１つ上に連続する各領域に対してさらに１つ上に連続する各領域にデータの入力がされているかどうかを判定する。
【００１４】
図２に示した表形式データでは、これらの領域Ｃ１１，Ｃ１２，Ｃ１３から列方向に沿って１つ上、２つ上、３つ上に連続する各領域についてデータの入力がなされており、かつ、これらの領域のデータの型が領域Ｃ１１，Ｃ１２，Ｃ１３のデータの型と同じであるため、データ処理システムは、領域Ｃ１１，Ｃ１２，Ｃ１３から列方向に沿って４つ上に連続する領域Ｃ１４，Ｃ１５，Ｃ１６にデータが入力されているかどうかを判定する。図２に示した表形式データでは、領域Ｃ１４，Ｃ１５，Ｃ１６のデータの型は領域Ｃ１１，Ｃ１２，Ｃ１３のデータの型と異なるため、データ処理装置は、領域Ｃ１４，Ｃ１５，Ｃ１６に入力されるデータが項目名と判定する。
【００１５】
図３に示した表形式データは、短形の入力領域が行方向に沿って４つ連続し、かつ、列方向に沿って２つ連続してなる８つの入力領域である第１の入力領域群を有するとともに、短形の入力領域が行方向に沿って４つ連続し、かつ列方向に沿って３つ連続してなる１２の入力領域であり、図３に示した表形式データにおいて第１の入力領域群より下側に位置する第２の入力領域群を有する。
【００１６】
第１の入力領域群のうち、図３に示した表形式データにおける下端において行方向に沿って連続した領域Ｃ２１，Ｃ２２，Ｃ２３，Ｃ２４が差分として抽出された領域である。  
また、第２の入力領域群のうち左端からみて２つ目において列方向に沿って連続した領域Ｃ２５，Ｃ２６，Ｃ２７、および第２の入力領域群のうち右端において列方向に沿って連続した領域Ｃ２８，Ｃ２９，Ｃ３０は差分として抽出された領域である。
【００１７】
データ処理装置は、差分として抽出された領域が行方向に沿って連続しているときは、その領域から列方向に沿って１つ上に連続する領域にデータ入力された領域があるかどうかを判定する。  
また、データ処理装置は、差分として抽出された領域が列方向に沿って連続しているときは、その領域から行方向に沿って１つ左に連続する領域に入力された領域があるかどうかを判定する。
【００１８】
具体的には、図３に示した表形式データにおける第１の入力領域群中の領域Ｃ２１，Ｃ２２，Ｃ２３，Ｃ２４は行方向に沿って連続しているため、データ処理システムは、これらの領域Ｃ２１，Ｃ２２，Ｃ２３，Ｃ２４から列方向に沿って１つ上に連続する領域Ｃ３１，Ｃ３２，Ｃ３３，Ｃ３４に入力がされているかどうかを判定する。
【００１９】
図２に示した表形式データでは、領域Ｃ３１，Ｃ３２，Ｃ３３，Ｃ３４にデータが入力されており、これらの領域のデータの型は領域Ｃ２１，Ｃ２２，Ｃ２３，Ｃ２４のデータの型と異なる。また、図３に示した表形式データでは、領域Ｃ３１，Ｃ３２，Ｃ３３，Ｃ３４からから列方向に沿って１つ上に連続する領域に入力がない。この場合データ処理システムは、領域Ｃ３１，Ｃ３２，Ｃ３３，Ｃ３４に入力されるデータが項目名と判定する。
【００２０】
また、図３に示した表形式データにおける第２の入力領域群中の領域Ｃ２５，Ｃ２６，Ｃ２７は列方向に沿って連続しているため、データ処理システムは、これらの領域Ｃ２５，Ｃ２５，Ｃ２７から行方向に沿って１つ左に連続する領域Ｃ３５，Ｃ３６，Ｃ３７、つまり左端部の領域にデータの入力がされているかどうかを判定する。
【００２１】
図３に示した表形式データでは、領域Ｃ３５，Ｃ３６，Ｃ３７にデータが入力されており、これらの領域のデータの型は領域Ｃ２５，Ｃ２６，Ｃ２７のデータの型と異なる。また、これらの領域Ｃ２５，Ｃ２６，Ｃ２７から行方向に沿って１つ左に連続する領域に入力がなされていない。この場合、データ処理システムは、領域Ｃ３５，Ｃ３６，Ｃ３７に入力されるデータが項目名と判定する。
【００２２】
また、図３に示した表形式データにおける第２の入力領域群中の領域Ｃ２８，Ｃ２９，Ｃ３０は列方向に沿って連続しているため、データ処理システムは、これらの領域Ｃ２８，Ｃ２９，Ｃ３０から行方向に沿って１つ左に連続する領域Ｃ３８，Ｃ３９，Ｃ４０にデータの入力がされているかどうかを判定する。
【００２３】
図３に示した表形式データでは、領域Ｃ３８，Ｃ３９，Ｃ４０にデータが入力されており、これらの領域のデータの型は領域Ｃ２８，Ｃ２９，Ｃ３０のデータの型と異なる。また、これらの領域Ｃ２８，Ｃ２９，Ｃ３０から行方向に沿って１つ左に連続する領域は差分として抽出された領域である。この場合、データ処理システムは、領域Ｃ３８，Ｃ３９，Ｃ４０に入力されるデータが項目名と判定する。
【００２４】
このような処理を行うことにより、表形式データからの必要なデータの抽出を自動化することができるので、人手で定義ファイルを作成する手間を省くことができる。
【００２５】
図４は、第１の実施形態におけるデータ処理装置の機能概要を示す図である。  
図４中の実線で囲まれた「（Ｂ）差分抽出」，「（Ｃ）差分情報」,「（Ｄ）定義生成」,「（Ｅ）定義ファイル」，「（Ｆ）データ抽出」は、第１の実施形態におけるデータ処理装置が有する機能や情報であり、これらのうち図４中の点線で囲まれた「（Ｃ）差分情報」,「（Ｄ）定義生成」,「（Ｅ）定義ファイル」は、定義ファイルを手作業ではなく自動生成する機能を実現するための機能および情報である。
【００２６】
図４に示した「（Ａ）表形式データ」は、データを抽出する対象となる表形式データファイルである。  
図４に示した「（Ｂ）差分抽出」は、「（Ａ）表形式データ」のファイルを監視して、当該ファイルの変更履歴から差分情報を抽出する機能を有する。また、この「（Ｂ）差分抽出」は、複数の表形式データファイルの相違部分から差分情報を抽出すること機能も有する。「（Ｂ）差分抽出」は、抽出した差分情報を「（Ｃ）差分情報」として保存する。「（Ｂ）差分抽出」は、差分情報を抽出したら、「（Ｄ）定義生成」と「（Ｆ）データ抽出」に対し、差分情報を抽出したことを通知する。
【００２７】
「（Ｃ）差分情報」は、「（Ｂ）差分抽出」により抽出された情報である。  
「（Ｄ）定義生成」は、差分情報を抽出したことが「（Ｂ）差分抽出」から通知されたら、「（Ａ）表形式データ」と「（Ｃ）差分情報」から表形式データを参照して、データを「（Ａ）表形式データ」から抽出する情報を指定するための定義ファイルを生成する。
【００２８】
「（Ｅ）定義ファイル」は、「（Ａ）表形式データ」からデータを抽出する情報を指定した定義ファイルである。  
「（Ｆ）データ抽出」は、差分を抽出したことが「（Ｂ）差分抽出」から通知されたら、「（Ｅ）定義ファイル」が作成されるのを待ってから、この「（Ｅ）定義ファイル」に従って、「（Ａ）表形式データ」からデータを抽出する。
【００２９】
「（Ｇ）データ」は、「（Ｆ）データ抽出」により抽出されたデータである。「（Ｈ）ＤＢ更新」は、抽出した「（Ｃ）データ」の内容を「（Ｉ）データベース」に登録する。「（Ｉ）ＤＢ」は、抽出した「（Ｃ）データ」を登録するデータベースである。
【００３０】
図５は、第１の実施形態におけるデータ処理装置の構成例を示すブロック図である。  
図５に示すように、第１の実施形態におけるデータ処理装置は、装置全体の処理動作を司る制御部１、記憶装置２、差分抽出部３、定義ファイル生成部４、データ抽出部５、更新処理部６、キーボードやマウスなどの入力装置７、液晶ディスプレイなどの表示装置８を備え、それぞれがバス９を介して相互に接続される。
【００３１】
記憶装置２は、不揮発性メモリやハードディスクドライブなどの記憶媒体であり、差分抽出部３、定義ファイル生成部４、データ抽出部５、更新処理部６による処理動作のために実行するプログラムを記憶する他、表形式データ記憶部２１、差分情報記憶部２２、定義ファイル記憶部２３、抽出データ記憶部２４を有する。
【００３２】
図６は、第１の実施形態におけるデータ処理装置の処理動作の一例を示すフローチャートである。  
まず、表形式データの初期データ、つまりテンプレートの入力領域に対して項目名が入力されたデータが記憶装置２の表形式データ記憶部２１に記憶されている状態で（ステップＳ１）、入力装置７への入力操作により、この表形式データにおける入力領域への値の入力がなされると（ステップＳ２）、差分抽出部３は、ステップＳ２による入力前後の表形式データ間の差分情報を抽出し、この差分情報を記憶装置２の差分情報記憶部２２に記憶する（ステップＳ３）。
【００３３】
そして、定義ファイル生成部４は、この差分情報をもとに、表形式データからの項目名と値との対応関係のデータ抽出のための定義ファイルを生成し、この定義ファイルを記憶装置２の定義ファイル記憶部２３に記憶する（ステップＳ４）。
【００３４】
そして、データ抽出部５は、定義ファイル生成部４により生成された定義ファイルをもとに、ステップＳ２による入力後の表形式データから項目名と値との対応関係のデータを抽出し、この抽出データを記憶装置２の抽出データ記憶部２４に記憶する（ステップＳ５）。更新処理部６は、記憶装置２の抽出データ記憶部２４に記憶される抽出データをもとに、図４で示したような記憶装置２内のデータベースの更新を行なう（ステップＳ６）。
【００３５】
以下、１つの表形式データの変更履歴を監視して差分情報を抽出することで定義ファイルを生成する例を示す。図７は、第１の実施形態におけるデータ処理装置による処理対象の表形式データの形式の一例を示す図である。図８は、第１の実施形態におけるデータ処理装置による処理対象の表形式データの保存状態の一例を表形式で示す図である。  
図７に示した表形式データは、行方向および列方向に沿って連続する複数の入力領域を有し、当該入力領域に値を保持することができる。図７で示した表形式データの各入力領域の値は、図８に示すように、値が入力された入力領域の位置情報と当該入力領域の値を対応付けた形式で保存される。
【００３６】
図８に示した保存状態の情報では、図７に示した表形式データの２行目２列目の入力領域に値「受講者一覧」が保存され、４行目２列目の入力領域に値「会社名」が保存され、４行目４列目の入力領域に値「電話番号」が保存され、４行目６列目の入力領域に値「担当者名」が保存され、４行目８列目の入力領域に値「e-mail」が保存され、７行目２列目の入力領域、８行目２列目、９行目２列目の入力領域に値「所属」が保存され、７行目５列目、８行目５列目、９行目５列目の入力領域に値「受講者名」が保存され、１２行目２列目の入力領域に値「日付」が保存され、他の入力領域には値が保存されていない事が示される。
【００３７】
差分抽出部３は、図７に示したような状態の表形式データの変更を監視する。  
図９は、第１の実施形態におけるデータ処理装置による処理対象の表形式データのデータ入力後の形式の一例を示す図である。図１０は、第１の実施形態におけるデータ処理装置による処理対象の表形式データの入力データの保存状態の一例を表形式で示す図である。  
入力装置７への入力操作により図７に示した表形式データの入力領域の値に変更が生じたときの表形式データは図９に示したようになる。図９で示した表形式データの各入力領域の値は、図１０に示すように、変更後における、値が入力された入力領域の位置情報と当該入力領域の値を対応付けた形式で保存される。  
図１０に示した保存状態の情報では、図８に示した保存状態の情報と比較して、５行目２列目の入力領域に値「ＸＸＸ社」が新たに保存され、５行目４列目の入力領域に値「00-0000-0000」が新たに保存され、５行目６列目の入力領域に値「田中一郎」が新たに保存され、５行目８列目の入力領域に値「tanaka@foo.com」が新たに保存され、７行目３列目、８行目３列目の入力領域に値「ＸＸ部」が新たに保存され、７行目６列目の入力領域に値「伊藤」が新たに保存され、８行目６列目の入力領域に値「佐藤」が新たに保存され、９行目３列目の入力領域に値「ＹＹ部」が新たに保存され、９行目６列目の入力領域に値「池田」が新たに保存され、１２行目３列目の入力領域に値「2007/7/1」が新たに保存される事が示される。
【００３８】
差分抽出部３は、表形式データにおいて変更が生じた入力領域の位置情報と当該入力領域の値を対応付けてなる差分情報を抽出する。図１１は、第１の実施形態におけるデータ処理装置による差分情報の抽出結果の一例を表形式で示す図である。  
図１１に示した差分情報は、図７に示した表形式データに対して図９、図１０に示すように新たに保存された値である。これらの値は、具体的には、５行目２列目の入力領域の値「ＸＸＸ社」、５行目４列目の入力領域の値「00-0000-0000」、５行目６列目の入力領域の値「田中一郎」、５行目８列目の入力領域の値「tanaka@foo.com」、７行目３列目、８行目３列目の入力領域の値「ＸＸ部」、７行目６列目の入力領域の値「伊藤」、８行目６列目の入力領域の値「佐藤」、９行目３列目の入力領域の値「ＹＹ部」、９行目６列目の入力領域の値「池田」、および１２行目３列目の入力領域の値「2007/7/1」である。
【００３９】
定義ファイル生成部４は、差分抽出部３により抽出した差分情報と元の表形式データとをもとに、変更後の表形式データから必要なデータを抽出するための定義ファイルを生成する。図１２は、第１の実施形態におけるデータ処理装置による定義ファイル生成処理の処理手順の一例を示すフローチャートである。  
定義ファイル生成部４は、変更後の表形式データのうち当該表形式データの上端部からみた一番下または一番右の１つの差分領域の抽出を試み（ステップＳ３１）、差分領域があれば（ステップＳ３２のＹＥＳ）、この差分領域が、列方向および行方向、つまり縦横共に連続した領域であるかどうかを判定する（ステップＳ３３）。
【００４０】
定義ファイル生成部４は、差分領域が縦横共に連続した領域でなければ（ステップＳ３３のＮＯ）、抽出した差分領域をデータ領域と判定し（ステップＳ３４）、このデータ領域が縦方向または横方向に連続した差分領域であるかどうかを判定する（ステップＳ３５）。
【００４１】
定義ファイル生成部４は、ステップＳ３５の処理で「ＹＥＳ」と判定した場合、データ領域から列方向に沿って１つ上に、または行方向に沿って１つ左に連続した差分領域を判定領域に設定する（ステップＳ３６）。  
具体的には、定義ファイル生成部４は、データ領域が縦に連続した差分領域であるとステップＳ３５の処理で判定した場合には、ステップＳ３６の処理では、データ領域から行方向に沿って１つ左に連続した領域を判定領域に設定する。また、定義ファイル生成部４は、データ領域が横に連続した差分領域であるとステップＳ３５の処理で判定した場合には、ステップＳ３６の処理では、データ領域から列方向に沿って１つ上に連続した差分領域を判定領域に設定する。
【００４２】
定義ファイル生成部４は、ステップＳ３６の処理で設定した判定領域に値が入力されている場合で（ステップＳ３７のＹＥＳ）、この判定領域が当該領域の値が項目名であるかどうかの未判定の領域であって（ステップＳ３８のＹＥＳ）、この判定領域に入力される値のデータ型がステップＳ３２の処理で判定した差分領域に入力される値のデータ型と同じである場合には（ステップＳ３９のＹＥＳ）、この判定領域とデータ領域と判定する（ステップＳ４０）。そして、定義ファイル生成部４は、当該データ領域から列方向に沿って１つ上、または行方向に沿って１つ左に連続した差分領域を新たな判定領域に設定して（ステップＳ４１）、ステップＳ３７の処理に戻る。
【００４３】
また、定義ファイル生成部４は、ステップＳ３７またはＳ３８の処理で「ＮＯ」と判定した場合には、現在の判定領域から列方向に沿って１つ下、または行方向に沿って１つ右に連続した領域に入力される値を項目名と判定し（ステップＳ４２）、ステップＳ３１の処理に戻る。  
具体的には、定義ファイル生成部４は、ステップＳ３６の処理で前述した１つ左に連続した領域を判定領域としていた場合には、ステップＳ４２の処理では、この判定領域から行方向に沿って１つ右に連続する領域に入力される値を項目名と判定し、ステップＳ３６の処理で前述した１つ上に連続した領域を判定領域としていた場合には、ステップＳ４２の処理では、この判定領域から列方向に沿って１つ下に連続する領域に入力される値を項目名と判定する。
【００４４】
また、定義ファイル生成部４は、ステップＳ３９の処理で「ＮＯ」と判定した場合には、現在の判定領域に入力される値を差分領域の項目名と判定し（ステップＳ４３）、ステップＳ３１の処理に戻る。
【００４５】
また、定義ファイル生成部４は、ステップＳ３３の処理で「ＮＯ」と判定した場合には、連続領域を前述した縦横共に連続した領域となるように拡張し（ステップＳ６１）、この連続領域の列方向に沿った上下方向の各領域に入力される値のデータ型が同じでなければ（ステップＳ６２のＮＯ）、列方向、つまり縦方向に連続領域を分割し（ステップＳ６３）、この分割したうち一番右の連続領域を抽出し、この抽出がなされた状態で、ステップＳ３１以降の処理を再度行なう。
【００４６】
また、定義ファイル生成部４は、ステップＳ６２の処理で「ＹＥＳ」と判定した場合は、行方向、つまり横方向に連続領域を分割し（ステップＳ６４）、この分割したうち一番下の連続領域を抽出し、この抽出がなされた状態で、ステップＳ３１以降の処理を再度行なう。
【００４７】
また、定義ファイル生成部４は、ステップＳ３５の処理で「ＮＯ」と判定した場合で、抽出済みの差分領域から行方向に沿って１つ左の領域に値が入力されていれば（ステップＳ４４のＹＥＳ）、当該１つ左の領域を判定領域に設定する（ステップＳ４５）。
【００４８】
また、定義ファイル生成部４は、ステップＳ４４の処理で「ＮＯ」と判定した場合で、抽出済みの差分領域から列方向に沿って１つ上の領域に値が入力されていれば（ステップＳ４６のＹＥＳ）、当該１つ上の領域を判定領域に設定する（ステップＳ４６）。
【００４９】
定義ファイル生成部４は、ステップＳ４５またはＳ４７の処理で設定された判定領域が当該領域の値が項目名であるかどうかの未判定の領域であって（ステップＳ４８のＹＥＳ）、この判定領域に入力される値のデータ型がステップＳ３２の処理で判定した差分領域に入力される値のデータ型と同じである場合には（ステップＳ４９のＹＥＳ）、この判定領域をデータ領域と判定し（ステップＳ５０）、このデータ領域から列方向に沿って１つ上、または行方向に沿って１つ左に連続した差分領域を新たな判定領域として（ステップＳ５１）、ステップＳ４４の処理に戻る。
【００５０】
また、定義ファイル生成部４は、ステップＳ４８の処理で「ＮＯ」と判定した場合には、現在の判定領域から列方向に沿って１つ下、または行方向に沿って１つ右の連続領域に入力される値を項目名と判定し（ステップＳ５２）、ステップＳ３１の処理に戻る。  
具体的には、定義ファイル生成部４は、ステップＳ４５の処理で前述した左の領域を判定領域としていた場合には、ステップＳ５２の処理では、この判定領域から行方向に沿って１つ右の連続領域に入力される値を項目名と判定する。また、定義ファイル生成部４は、ステップＳ４５の処理で前述した上の領域を判定領域としていた場合には、ステップＳ５２の処理では、この判定領域から列方向に沿って１つ下の連続領域に入力される値を項目名と判定する。
【００５１】
また、定義ファイル生成部４は、ステップＳ４９の処理で「ＮＯ」と判定した場合には、現在の判定領域に入力される値を差分領域の項目名と判定し（ステップＳ５３）、ステップＳ３１の処理に戻る。
【００５２】
以下、ここまで説明した変更前後の表形式データの状態が図７、図８、図９、図１０に示した状態であって、差分情報が図１１に示した状態である場合の定義ファイル生成部４による処理を説明する。  
この場合、まず、定義ファイル生成部４は、図１１に示した差分情報の中から連続している領域を探す。  
図１３は、第１の実施形態におけるデータ処理装置による差分領域に含まれる連続領域の一例を表形式で示す図である。  
図１３（ａ），（ｂ），（ｃ），（ｄ）に示すように、図１１の差分情報の領域には連続領域が存在する。これらの連続領域同士は連続関係を有さずに独立している。図１３（ａ）には第１の連続領域が示され、この第１の連続領域は、前述した差分領域のうち、値「ＸＸＸ社」をもつ５行目２列目の入力領域、値「00-0000-0000」をもつ５行目４列目の入力領域、値「田中一郎」をもつ５行目６列目の入力領域、および、値「tanaka@foo.com」をもつ５行目８列目の入力領域である。
【００５３】
図１３（ｂ）には第２の連続領域が示され、この第２の連続領域は、前述した差分領域のうち、値「ＸＸ部」をもつ７行目３列目、８行目３列目の入力領域、および、値「ＹＹ部」をもつ９行目３列目の入力領域である。
【００５４】
図１３（ｃ）には第３の連続領域が示され、この第３の連続領域は、前述した差分領域のうち、値「伊藤」をもつ７行目６列目の入力領域、値「佐藤」をもつ８行目６列目の入力領域、および、値「池田」をもつ９行目６列目の入力領域である。
【００５５】
図１３（ｄ）には第４の連続領域が示され、この第４の連続領域は、前述した差分領域のうち、値「2007/7/1」をもつ１２行目３列目の入力領域である。この第４の連続領域で示される入力領域は１つであるが、本実施形態では連続領域と称する。
【００５６】
定義ファイル生成部４は、これらの領域に対して、抽出作業を行なう。  
図１４、図１５、図１６、図１７は、第１の実施形態におけるデータ処理装置による差分領域に含まれる連続領域についての項目名の判定結果の一例を表形式で示す図である。  
まず、図１３（ａ）に示した連続領域は行方向に沿って連続した差分領域であるため、定義ファイル生成部４は、この連続領域から列方向に沿って１つ上に連続する領域に値の入力があるかどうかを判定する。この判定は前述したステップＳ３６の判定である。ここでは、値の入力があり、当該領域が前述した未判定の領域であり、かつ、この領域のデータ型が差分領域のデータ型と異なるため、定義ファイル生成部４は、前述した連続領域から列方向に沿って１つ上に連続する連続する領域の値を差分領域の項目名と判定する。この判定は前述したステップＳ４３の判定である。データ型の一致の判定方法は別途定義して記憶装置２に記憶しておく。本実施形態では、定義ファイル生成部４は、「xxx@xxx.xxx」はe-mailアドレスとして、「xxx-xxx-xxxx」は電話番号として、入力領域の値のデータ型を判定する。
【００５７】
次に、図１３（ｂ）に示した連続領域、および図１３（ｃ）に示した連続領域は、列方向に沿って連続した差分領域であるため、定義ファイル生成部４は、この連続領域から行方向に沿って１つ左に連続する領域に値の入力があるかどうかを判定する。この判定は前述したステップＳ３６の判定である。ここでは値の入力があり、当該領域が前述した未判定の領域であり、かつ、この領域のデータ型が差分領域のデータ型と異なるため、定義ファイル生成部４は、前述した連続領域から列方向に沿って１つ左に連続する連続する領域の値を差分領域の項目名と判定する。
【００５８】
最後に、図１３（ｄ）に示した連続領域は、行方向または列方向に沿って連続した領域ではないため、定義ファイル生成部４は、この連続領域から行方向に沿って１つ左の領域に値の入力があるかどうかを判定する。この判定は前述したステップＳ４４の判定である。ここでは、値の入力があり、当該領域が前述した未判定の領域であり、かつ、この領域のデータ型が差分領域のデータ型と異なるため、定義ファイル生成部４は、前述した連続領域から列方向に沿って１つ左の領域の値を差分領域の項目名と判定する。この判定は前述したステップＳ５３の判定である。以上により項目名の判定がなされる。
【００５９】
図１４に示すように、図１３（ａ）に示した連続領域における、値「ＸＸＸ社」をもつ５行目２列目の入力領域の項目名の判定結果は「会社名」であり、値「00-0000-0000」をもつ５行目４列目の入力領域の項目名の判定結果は「電話番号」であり、値「田中一郎」をもつ５行目６列目の入力領域の項目名の判定結果は「担当者名」であり、値「tanaka@foo.com」をもつ５行目８列目の入力領域の項目名の判定結果は「e-mail」である。
【００６０】
また、図１５に示すように、図１３（ｂ）に示した連続領域における、値「ＸＸ部」をもつ７行目３列目、８行目３列目の入力領域および、値「ＹＹ部」をもつ９行目３列目の入力領域の項目名の判定結果は「所属」である。  
また、図１６に示すように、図１３（ｃ）に示した連続領域における、値「伊藤」をもつ７行目６列目の入力領域、値「佐藤」をもつ８行目６列目の入力領域、および値「池田」をもつ９行目６列目の入力領域の項目名の判定結果は「受講者名」である。  
また、図１７に示すように、図１３（ｄ）に示した連続領域における、値「2007/7/1」をもつ１２行目３列目の入力領域の項目名の判定結果は「日付」である。
【００６１】
図１８は、第１の実施形態におけるデータ処理装置による定義ファイルの生成結果の一例を表形式で示す図である。  
図１８に示した定義ファイルでは、５行目２列目の入力領域に項目名「会社名」の値が入力され、５行目４列目の入力領域に項目名「電話番号」の値が入力され、５行目６列目の入力領域に項目名「担当者名」の値が入力され、５行目８列目の入力領域に項目名「e-mail」の値が入力され、７行目３列目、８行目３列目、９行目３列目の入力領域に項目名「所属」の値が入力され、７行目６列目、８行目６列目、９行目６列目の入力領域に項目名「受講者名」の値が入力され、１２行目３列目の入力領域に項目名「日付」の値が入力される事が示される。
【００６２】
データ抽出部５は、定義ファイル生成部４により生成された定義ファイルに従って、当該定義ファイルの生成元の表形式データから項目名と値の対応関係のデータを抽出する。  
ここでは、データ抽出部５が、図１８に示した定義ファイルに従って、図１０に示した入力後の表形式データからＸＭＬ形式で項目名と値の対応関係のデータを抽出する例を示す。この場合、定義ファイルの項目名がＸＭＬファイルの要素名となり、当該定義ファイルの「値の行」と「値の列」に対応する入力領域の値を前述した入力後の表形式データから抽出したものがＸＭＬファイルの値となる。
【００６３】
図１９は、第１の実施形態におけるデータ処理装置により生成した定義ファイルにしたがったデータ抽出結果の一例を表形式で示す図である。  
データ抽出部５は、図１０に示す表形式データの入力領域のうち、図１８に示した定義ファイルのいずれかの項目名に対応付けられる「値の行」と同じ行および「値の列」と同じ列の入力領域の値を探し、この処理を図１８に示した定義ファイルの項目名のそれぞれについて行ない、この処理結果が項目名と値との対応関係の抽出結果となる。
【００６４】
この結果、図１９に示したＸＭＬ形式のデータ抽出結果では、項目名「会社名」の値が「ＸＸＸ社」である事、項目名「電話番号」の値が「00-0000-0000」である事、「e-mail」の値が「tanaka@foo.com」である事、項目名「所属」が「ＸＸ部」および「ＹＹ部」である事、項目名「受講者名」の値が「伊藤」、「佐藤」および「池田」である事、項目名「日付」の値が「2007/7/1」である事が示される。  
このように抽出したデータは、前述したようにデータベースに登録したり、Ｗｅｂで公開したりすることで二次利用を促進できる。
【００６５】
以上のように、第１の実施形態におけるデータ処理装置では、表形式データの差分情報の位置情報で示される入力領域の値のデータ形式と当該表形式データにおける当該入力領域から所定方向に沿った先の入力領域の値の入力状態とを比較することで、入力後の表形式データにおける項目名と当該項目名の値が入力される入力領域の位置情報とを判定し、項目名の判定結果をもとに、入力後の表形式データにおける入力領域のうち、判定した項目名の値が入力される入力領域の位置情報を示す定義ファイルを生成し、この定義ファイルをもとに、入力後の表形式データにおける項目名と当該項目名の値との対応関係を示すデータを当該表形式データから抽出することにより、表形式データ中の必要なデータの抽出を自動で行なうことができる。
【００６６】
（第２の実施形態）
次に、第２の実施形態について説明する。なお、本実施形態におけるデータ処理装置の構成は図１に示したものと基本的にほぼ同様であるので説明は省略する。  
この実施形態では、データ処理装置が、同じテンプレートから作成した複数の表形式データから差分情報を抽出する場合の処理について説明する。同じテンプレートから作成した複数の表形式データのそれぞれの入力領域のサイズ、数および位置関係は同じである。  
また、ここでは、同じテンプレートから作成した複数の表形式データ間における項目名が入力される入力領域の位置は同じであるとする。
【００６７】
図２０は、第２の実施形態におけるデータ処理装置による処理対象の第１の表形式データの形式の一例を示す図である。図２１は、第２の実施形態におけるデータ処理装置による処理対象の第１の表形式データの保存状態の一例を表形式で示す図である。  
図２０で示した表形式データの各入力領域の値は、図２１に示すように、値が入力された入力領域の位置情報と当該入力領域の値を対応付けた形式で保存される。  
図２１に示した保存状態の情報では、図２０に示した第１の表形式データの２行目２列目の入力領域に値「受講者一覧」が保存され、４行目２列目の入力領域に値「会社名」が保存され、４行目４列目の入力領域に値「電話番号」が保存され、４行目６列目の入力領域に値「担当者名」が保存され、４行目８列目の入力領域に値「e-mail」が保存される事が示される。
【００６８】
さらに、図２１に示した保存状態の情報では、図２０に示した第１の表形式データの５行目２列目、６行目２列目の入力領域に値「ＸＸＸ社」が保存され、５行目４列目、６行目４列目の入力領域に値「00-0000-0000」が保存され、５行目６列目の入力領域に値「田中一郎」が保存され、５行目８列目の入力領域に値「tanaka@foo.com」が保存され、６行目６列目の入力領域に値「佐藤一郎」が保存され、６行目８列目の入力領域に値「satou@foo.com」が保存され、７行目２列目の入力領域に値「ＹＹＹ社」が保存され、７行目４列目の入力領域に値「10-1010-1010」が保存され、７行目６列目の入力領域に値「池田一郎」が保存され、７行目８列目の入力領域に値「ikeda@bar.com」が保存される事が示される。
【００６９】
図２２は、第２の実施形態におけるデータ処理装置による処理対象の第２の表形式データの形式の一例を示す図である。図２３は、第２の実施形態におけるデータ処理装置による処理対象の第２の表形式データの保存状態の一例を表形式で示す図である。  
図２２で示した第２の表形式データの各入力領域の値は、図２３に示すように、値が入力された入力領域の位置情報と当該入力領域の値を対応付けた形式で保存される。  
図２３に示した保存状態の情報では、図２２に示した第２の表形式データの２行目２列目の入力領域に値「受講者一覧」が保存され、４行目２列目の入力領域に値「会社名」が保存され、４行目４列目の入力領域に値「電話番号」が保存され、４行目６列目の入力領域に値「担当者名」が保存され、４行目８列目の入力領域に値「e-mail」が保存される事が示される。
【００７０】
さらに、図２３に示した保存状態の情報では、図２２に示した第２の表形式データの５行目２列目、６行目２列目の入力領域に値「ＸＸＸ社」が保存され、５行目４列目、６行目４列目の入力領域に値「00-0000-0000」が保存され、５行目６列目の入力領域に値「鈴木一郎」が保存され、５行目８列目の入力領域に値「suzuki@foo.com」が保存され、６行目６列目の入力領域に値「渡辺一郎」が保存され、６行目８列目の入力領域に値「watanabe@foo.com」が保存され、７行目２列目の入力領域に値「ＹＹＹ社」が保存され、７行目４列目の入力領域に値「10-1010-1010」が保存され、７行目６列目の入力領域に値「高橋一郎」が保存され、７行目８列目の入力領域に値「takahashi@bar.com」が保存される事が示される。
【００７１】
さらに、図２３に示した保存状態の情報では、図２２に示した第２の表形式データの８行目２列目、９行目２列目、１０行目２列目の入力領域に値「ＺＺＺ社」が保存され、８行目４列目、９行目４列目、１０行目４列目の入力領域に値「11-1111-1111」が保存され、８行目６列目の入力領域に値「山本一郎」が保存され、８行目８列目の入力領域に値「yamamoto@baz.com」が保存され、９行目６列目の入力領域に値「中村一郎」が保存され、９行目８列目の入力領域に値「nakamura@baz.com」が保存され、１０行目６列目の入力領域に値「吉田一郎」が保存され、１０行目８列目の入力領域に値「yoshida@baz.com」が保存される事が示される。
【００７２】
図２４は、第２の実施形態におけるデータ処理装置による第１の表形式データ及び第２の表形式データの差分情報の抽出結果の一例を表形式で示す図である。  
この差分情報では、第１の表形式データにおける各行および各列の入力領域のうち、第２の表形式データでの同じ行および列の入力領域との間で値の相違が生じた入力領域の行および列、当該行および列での入力領域の値、および、当該第２の表形式データにおける同じ行および列の入力領域の値とが対応付けられる。図２４に示した差分情報における「第１の値」とは図２０、図２１に示した第１の表形式データにおける値を示し、「第２の値」とは図２２、図２３に示した第２の表形式データにおける値を示す。
【００７３】
図２４に示した差分情報では、第１の表形式データの５行目６列目の入力領域の値は「田中一郎」であるが、第２の表形式データの５行目６列目の入力領域の値は「鈴木一郎」であり、第１の表形式データの５行目８列目の入力領域の値は「tanaka@foo.com」、であるが、第２の表形式データの５行目８列目の入力領域の値は「suzuki@foo.com」である事が示される。
【００７４】
さらに、図２４に示した差分情報では、第１の表形式データの６行目６列目の入力領域の値は「佐藤一郎」であるが、第２の表形式データの６行目６列目の入力領域の値は「渡辺一郎」である事が示され、また、図２４に示した差分情報では、第１の表形式データの６行目８列目の入力領域の値は「satou@foo.com」、であるが、第２の表形式データの６行目８列目の入力領域の値は「watanabe@foo.com」である事が示される。
【００７５】
さらに、図２４に示した差分情報では、第１の表形式データの７行目６列目の入力領域の値は「池田一郎」であるが、第２の表形式データの７行目６列目の入力領域の値は「高橋一郎」であり、第１の表形式データの７行目８列目の入力領域の値は「ikeda@bar.com」、であるが、第２の表形式データの７行目８列目の入力領域の値は「takahashi@bar.com」である事が示される。
【００７６】
また、図２４に示した差分情報では、第１の表形式データの８行目２列目、９行目２列目、１０行目２列目の入力領域に値は保存されていないが、第２の表形式データの８行目２列目、９行目２列目、１０行目２列目には値「ＺＺＺ社」が保存されており、第１の表形式データの８行目４列目、９行目４列目、１０行目４列目の入力領域に値は保存されていないが、第２の表形式データの８行目４列目、９行目４列目、１０行目４列目には値「11-1111-1111」が保存されている事が示される。
【００７７】
さらに、図２４に示した差分情報では、第１の表形式データの８行目６列目の入力領域に値は保存されていないが、第２の表形式データの８行目６列目には値「山本一郎」が保存され、第１の表形式データの８行目８列目の入力領域に値は保存されていないが、第２の表形式データの８行目８列目には値「yamamoto@baz.com」が保存され、第１の表形式データの９行目６列目の入力領域に値は保存されていないが、第２の表形式データの９行目６列目には値「中村一郎」が保存され、第１の表形式データの９行目８列目の入力領域に値は保存されていないが、第２の表形式データの９行目８列目には値「nakamura@baz.com」が保存される事が示される。
【００７８】
さらに、図２４に示した差分情報では、第１の表形式データの１０行目６列目の入力領域に値は保存されていないが、第２の表形式データの１０行目６列目には値「吉田一郎」が保存され、第１の表形式データの１０行目８列目の入力領域に値は保存されていないが、第２の表形式データの１０行目８列目には値「yoshida@baz.com」が保存される事が示される。
【００７９】
図２５、図２６は、第２の実施形態におけるデータ処理装置による複数の表形式データの差分情報の抽出について説明する図である。  
定義ファイル生成部４は、第１および第２の表形式データのうち必要なデータの抽出のための定義ファイルの作成元となるいずれかの表形式データ中の差分情報の中から連続している領域を探す。
【００８０】
ここでは、定義ファイルの作成元となる表形式データが第２の表形式データである場合の差分情報について説明する。図２５に示した点線で囲った領域Ａ１は、図２２に示した第２の表形式データの入力領域のうち図２４に示した差分領域に相当する領域である。この領域Ａ１は、全ての領域が繋がって１つの連続領域となっている。
【００８１】
定義ファイル生成部４は、この差分領域のうち、列方向に沿って連続する領域の数が各列において同じであって、行方向に沿って連続する領域の数が各行において同じであるかどうか、つまり差分領域が縦横共に連続した領域であるかどうかを判定する。
【００８２】
図２５に示した差分領域は、縦横共に連続した領域ではないので、定義ファイル生成部４は、この領域を第２の表形式データ内において、現在の差分領域の各列における列方向に沿って連続する領域の数が、各列のうち列方向に沿って連続する領域の数が最も多い列における当該連続する領域の数と同じになり、かつ、現在の差分領域の各行における行方向に沿って連続する領域の数が、各行のうち行方向に沿って連続する領域の数が最も多い行における当該連続する領域の数と同じになるように拡張して縦横共に連続した領域とする。この処理は前述したステップＳ６１の処理である。
【００８３】
図２６に示した点線で囲った領域Ａ２は第２の表形式データの入力領域のうち、前述のように拡張した差分領域に相当する領域であり、具体的には、図２５に示した差分領域に対し、第２の表形式データの入力領域のうち、値「ＸＸＸ社」が保存される５行目２列目、６行目２列目の入力領域、値「00-0000-0000」が保存される５行目４列目、６行目４列目の入力領域、値「ＹＹＹ社」が保存される７行目２列目の入力領域、および値「10-1010-1010」が保存される７行目４列目の入力領域を加えたものである。
【００８４】
図２７は、第２の実施形態におけるデータ処理装置による差分情報の分割について説明する図である。  
この領域Ａ２は、縦横共に連続した領域となっているため、定義ファイル生成部４は、まず、この領域における列方向に沿って上下に連続した各領域のデータ型が同じかどうかを判定する。ここでは、上下に連続した領域のデータ型が同じとなっているため、定義ファイル生成部４は、図２７に示した太線のように、行方向、つまり横方向に沿って差分領域を行ごとに分割する。この処理は前述したステップＳ６４の処理である。ここでは差分領域の行ごとの分割がなされるため、差分領域における５〜１０行目のそれぞれが分割されることで、６つの領域に分割される。
【００８５】
図２７に示した例は、図２６に示した拡張後の連続した差分領域を、第２の表形式データの５行目の２、４、６、８列目の入力領域でなる領域Ａ３、６行目の２、４、６、８列目の入力領域でなる領域Ａ４、７行目の２、４、６、８列目の入力領域でなる領域Ａ５、８行目の２、４、６、８列目の入力領域でなる領域Ａ６、９行目の２、４、６、８列目の入力領域でなる領域Ａ７、および、１０行目の２、４、６、８列目の入力領域でなる領域Ａ８に分割したものである。
【００８６】
定義ファイル生成部４は、この分割した一番下の領域である１０行目の２、４、６、８列目の領域Ａ８を最初に抽出する。この処理は前述したステップＳ６５の処理である。
【００８７】
この領域Ａ８は、行方向、つまり横方向に沿って連続した領域であり、当該領域Ａ８から列方向に沿って上に連続した各入力領域の値のデータ型は同じである。定義ファイル生成部４は、この抽出をデータ型が異なる４行目まで繰り返し、この４行目の各列の入力領域の値を項目名と判定する。
【００８８】
ここでは、図２７に連続領域における、値「ＸＸＸ社」、「ＹＹＹ社」もしくは「ＺＺＺ社」をもつ４行目２列目の入力領域の項目名の判定結果は「会社名」であり、値「00-0000-0000」、「10-1010-1010」もしくは「11-1111-1111」をもつ４行目４列目の入力領域の項目名の判定結果は「電話番号」であり、値「鈴木一郎」、「渡辺一郎」、「高橋一郎」、「山本一郎」、「中村一郎」、「吉田一郎」をもつ４行目６列目の入力領域の項目名の判定結果は「担当者名」であり、値「suzuki@foo.com」「watanabe@foo.com」「takahashi@bar.com」「yamamoto@baz.com」「nakamura@baz.com」もしくは「yoshida@baz.com」をもつ４行目８列目の入力領域の項目名の判定結果は「e-mail」である。
【００８９】
定義ファイル生成部４は、これらの判定結果をもとに、定義ファイルを生成する。図２８は、第２の実施形態におけるデータ処理装置による定義ファイルの生成結果の一例を表形式で示す図である。  
図２８に示した定義ファイルでは、第２の表形式データにおける５〜１０行目２列目の入力領域に項目名「会社名」の値が入力され、５〜１０行目４列目の入力領域に項目名「電話番号」の値が入力され、５〜１０行目６列目の入力領域に項目名「担当者名」の値が入力され、５〜１０行目８列目の入力領域に項目名「e-mail」の値が入力される事が示される。
【００９０】
図２９は、第２の実施形態におけるデータ処理装置により生成した定義ファイルにしたがったデータ抽出結果の一例を表形式で示す図である。  
図２９に示したデータ抽出結果は、定義ファイルをもとにした、第２の表形式データの前述したように分割した差分領域ごとの、項目名および当該値の対応関係のデータ抽出結果である。
【００９１】
これらのデータのうち、図２７に示した領域Ａ３からの抽出結果では、１人目の受講者の「会社名」が「ＸＸＸ社」である事、「電話番号」が「00-0000-0000」である事、「担当者名」が「鈴木一郎」である事、「e-mail」が「suzuki@foo.com」である事が示される。
【００９２】
図２７に示した領域Ａ４からの抽出結果では、２人目の受講者の「会社名」が「ＸＸＸ社」である事、「電話番号」が「00-0000-0000」である事、「担当者名」が「渡辺一郎」である事、「e-mail」が「watanabe@foo.com」である事が示される。
【００９３】
図２７に示した領域Ａ５からの抽出結果では、３人目の受講者の「会社名」が「ＹＹＹ社」である事、「電話番号」が「10-1010-1010」である事、「担当者名」が「高橋一郎」である事、「e-mail」が「takahashi@bar.com」である事が示される。
【００９４】
図２７に示した領域Ａ６からの抽出結果では、４人目の受講者の「会社名」が「ＺＺＺ社」である事、「電話番号」が「11-1111-1111」である事、「担当者名」が「山本一郎」である事、「e-mail」が「yamamoto@baz.com」である事が示される。
【００９５】
図２７に示した領域Ａ７からの抽出結果では、５人目の受講者の「会社名」が「ＺＺＺ社」である事、「電話番号」が「11-1111-1111」である事、「担当者名」が「中村一郎」である事、「e-mail」が「nakamura@baz.com」である事が示される。
【００９６】
図２７に示した領域Ａ８からの抽出結果では、６人目の受講者の「会社名」が「ＺＺＺ社」である事、「電話番号」が「11-1111-1111」である事、「担当者名」が「吉田一郎」である事、「e-mail」が「yoshida@baz.com」である事が示される。
【００９７】
以上で説明したように、第２の実施形態におけるデータ処理装置では、同じテンプレートをもとにした第１及び第２の表形式データ間の相違部分である差分情報を抽出し、第１及び第２の表形式データのいずれかにおける差分情報の位置情報で示される入力領域の値のデータ形式と当該表形式データにおける当該入力領域から所定方向に沿った先の入力領域の値の入力状態とを比較することで、入力後の前記第１及び第２の表形式データにおける項目名と当該項目名の値が入力される入力領域の位置情報とを判定し、この判定結果をもとに、入力後の第１及び第２の表形式データにおける入力領域のうち、判定した項目名の値が入力される入力領域の位置情報を示す定義ファイルを生成し、この定義ファイルをもとに、入力後の前記第１及び第２の表形式データにおける項目名と当該項目名の値との対応関係を示すデータを当該表形式データから抽出するようにしたので、同じテンプレートをもとにした２つの表形式データ間についても、いずれから必要なデータを自動で抽出する事ができる。
【００９８】
これらの各実施形態によれば、表形式データ中の必要なデータの抽出を自動で行なうことが可能になるデータ処理装置を提供することができる。  
なお、この発明は前記の各実施形態そのままに限定されるものではなく実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、前記実施形態に開示されている複数の構成要素の適宜な組み合わせにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を省略してもよい。更に、異なる実施形態に亘る構成要素を適宜に組み合せてもよい。
【符号の説明】
【００９９】
１…制御部、２…記憶装置、３…差分抽出部、４…定義ファイル生成部、５…データ抽出部、６…更新処理部、７…入力装置、８…表示装置、９…バス、２１…表形式データ記憶部、２２…差分情報記憶部、２３…定義ファイル記憶部、２４…抽出データ記憶部。
【図１】
2011253443.tif 000003
【図２】
2011253443.tif 000004
【図３】
2011253443.tif 000005
【図４】
2011253443.tif 000006
【図５】
2011253443.tif 000007
【図６】
2011253443.tif 000008
【図７】
2011253443.tif 000009
【図８】
2011253443.tif 000010
【図９】
2011253443.tif 000011
【図１０】
2011253443.tif 000012
【図１１】
2011253443.tif 000013
【図１２】
2011253443.tif 000014
【図１３】
2011253443.tif 000015
【図１４】
2011253443.tif 000016
【図１５】
2011253443.tif 000017
【図１６】
2011253443.tif 000018
【図１７】
2011253443.tif 000019
【図１８】
2011253443.tif 000020
【図１９】
2011253443.tif 000021
【図２０】
2011253443.tif 000022
【図２１】
2011253443.tif 000023
【図２２】
2011253443.tif 000024
【図２３】
2011253443.tif 000025
【図２４】
2011253443.tif 000026
【図２５】
2011253443.tif 000027
【図２６】
2011253443.tif 000028
【図２７】
2011253443.tif 000029
【図２８】
2011253443.tif 000030
【図２９】
2011253443.tif 000031