JP2016091244A - 情報処理装置、プログラム - Google Patents

情報処理装置、プログラム Download PDF

Info

Publication number
JP2016091244A
JP2016091244A JP2014223799A JP2014223799A JP2016091244A JP 2016091244 A JP2016091244 A JP 2016091244A JP 2014223799 A JP2014223799 A JP 2014223799A JP 2014223799 A JP2014223799 A JP 2014223799A JP 2016091244 A JP2016091244 A JP 2016091244A
Authority
JP
Japan
Prior art keywords
data
format
information processing
processing apparatus
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2014223799A
Other languages
English (en)
Inventor
綱紀 宇都宮
Koki Utsunomiya
綱紀 宇都宮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu FIP Corp
Original Assignee
Fujitsu FIP Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu FIP Corp filed Critical Fujitsu FIP Corp
Priority to JP2014223799A priority Critical patent/JP2016091244A/ja
Publication of JP2016091244A publication Critical patent/JP2016091244A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

【課題】電子ファイルからのWebアプリの作成が容易な情報処理装置を提供すること。【解決手段】第2の情報処理装置11から送信された第1の形式のデータを第2の形式のデータに変換する情報処理装置12であって、前記第2の形式のデータが第2の情報処理装置で表示された際に前記第2の形式のデータに対する変更を受け付ける機能を、前記第2の形式のデータに追加する機能追加手段44、を有することを特徴とする。【選択図】図2

Description

本発明は、第1の形式のデータを第2の形式のデータに変換する情報処理装置等に関する。
情報処理装置では各種のアプリケーションプログラムが動作し、ユーザがアプリケーションプログラムを操作することで、アプリケーションプログラムが電子ファイルを出力する場合がある。このような電子ファイルに表が含まれる場合があり、電子ファイルの表は帳票や申請書類などのひな形として利用されている。
そして従来は情報処理装置上で完結していた表への入力を、ユーザがWeb上で行う入力処理のWebアプリ化が要望されるようになった。Webアプリとは、Webサーバ側で動作して、ブラウザやクライアントソフトと通信して処理を行うプログラムをいう。
Webアプリでは、一般に、情報処理装置とWebサーバが以下のように動作する。
1.ユーザが情報処理装置を操作してサーバにアクセスする。
2.WebサーバはHTMLやJavaScript(登録商標)で記述されたWebページを情報処理装置に送信する。
3.情報処理装置はWebページを表示する。ユーザはWebページに対し所望の入力などを行う。
したがって、電子ファイルの表示をWebアプリ化するためには、企業などに蓄積されている電子ファイルをWebページに変換し、Webアプリとして機能するものを作成する必要がある。しかしながら、開発者などが電子ファイルのUI(ユーザーインタフェース)定義からWebページを作成するには多くの時間と経費を必要とする。
そこで、電子ファイルからWebページを作成することをソフトウェアに処理させることが検討される(例えば、特許文献1参照。)。特許文献1には、管理者端末がワープロソフト又は表計算ソフトの少なくともいずれかで作成された帳票レイアウトと専用のデータ配置識別情報とから構成された帳票フォーマット情報を帳票自動作成サーバに送信する帳票自動作成システムが開示されている。帳票自動作成システムは、データ入力画面と帳票レイアウトを作成し、利用者端末から入力された帳票入力データを帳票入力データ格納領域に格納する。また、帳票レイアウトを読み出して、対応する帳票入力データを帳票レイアウトにはめ込んで帳票を作成する。
特開2006−024021号公報
しかしながら、特許文献1に記載された帳票自動作成システムでは、電子ファイルを高機能なWebページへ変換することが必ずしも容易でない場合があるという問題がある。
本発明は上記課題に鑑み、電子ファイルをWebアプリとして機能するWebページへ変換することが容易な情報処理装置を提供することを目的とする。
本発明は、上記課題に鑑み、第2の情報処理装置から送信された第1の形式のデータを第2の形式のデータに変換する情報処理装置であって、前記第2の形式のデータが第2の情報処理装置で表示された際に前記第2の形式のデータに対する変更を受け付ける機能を、前記第2の形式のデータに追加する機能追加手段、を有することを特徴とする。
電子ファイルをWebアプリとして機能するWebページへ変換することが容易な情報処理装置を提供することができる。
比較技術について説明する図の一例である。 本実施形態の情報処理システムによるWebアプリの作成の概略を説明する図の一例である。 情報処理システムの構成図の一例である。 アプリケーションサーバのハードウェア構成図の一例である。 情報処理システムの機能ブロック図の一例である。 表計算シート受付部の処理を模式的に説明する図の一例である。 表計算シートから取得される属性情報の一覧を示す図の一例である。 表計算シートの一例を示す図である。 図8の表計算シートから変換されたHTMLファイルの一例を示す図である。 テーブル作成部が作成したテーブルの一例を示す図である。 入力規則情報の一例を示す図である。 入力欄の追加を模式的に説明する図の一例である。 入力欄の追加が可能なHTMLファイルの一部の記述例を示す図である。 入力欄に対し調整できる項目を説明する図の一例である。 管理者が一次Webアプリから修正可能な属性情報の一覧を示す図の一例である。 表計算シート及び一次Webアプリの一例を示す図である。 シート1〜3から一次Webアプリを作成する手順を示すシーケンス図の一例である。 シート1〜3から作成されたWebアプリの一例を示す図である。 設計ツールの導入例を説明する図の一例である。 WebアプリDBに登録された配布用Webアプリの一覧を模式的に示す図の一例である。 テーブルへの値の登録を模式的に説明する図の一例である。 テーブルへの値の登録を模式的に説明する図の一例である。 「DB連携」が選択された場合にユーザ端末に表示されるWebアプリの一例である。 DB連携処理について説明する図の一例である。 DB連携処理について説明する図の一例である。 DB連携処理の別の一例を説明する図である。 テーブルの再利用について説明する図の一例である。 情報処理システムが配布用Webアプリを作成する手順を示すフローチャート図の一例である。 情報処理システムがテーブルDBに値を登録し、集計グラフを表示する手順を示すフローチャート図の一例である。
以下、本発明を実施するための形態について図面を参照しながら説明する。なお、本実施形態では、Webアプリケーションプログラム作成の元となる電子ファイルの一例として表計算ソフトを例にして説明する。
<比較技術について>
始めに、本実施形態の情報処理システムと比較される比較技術について説明する。なお、比較技術は必ずしも従来技術と一致するものではなく、比較技術が本願の特許性を否定するものではない。
図1は比較技術について説明する図の一例である。情報処理装置11ではOS(Operating System)21が動作している。情報処理装置11では表計算ソフトとアドイン又は電子ファイルをWebページに変換する専用ソフトが動作している。情報処理装置11は以下のようにしてWebページを作成する。
1−1.管理者は情報処理装置11を操作することでアドイン又は専用ソフトに表計算シートを含む電子ファイルを読み出させる。
1−2.アドイン又は専用ソフトは表計算シートに基づいてWebページを作成する。このWebページは、表計算シートとほぼ同じ外観や表計算シートと同等のセルの属性情報を備えている。
このようにして、比較技術ではWebページを作成することができるものの、作成されたWebページを管理者が修正する場合、表計算シートを修正しなければ、Webページを修正できないため操作性が低下してしまう。また、管理者は表計算シートをアドインや専用ソフトなどから読み出す必要があるため、そのような操作が必要なことも操作性を低下させる。また、アドインは対応する表計算ソフトを必要とするし、この表計算ソフトは対応するOS21などの特定のプラットフォームを必要とするという不都合がある。
<本実施形態の情報処理システムの概略>
これに対し、本実施形態の情報処理システムでは、表計算シートの修正が容易であり、また、Webアプリの作成も容易に行うことができる。また、専用ソフトに依存したアドインも必要なく、プラットフォームに依存した表計算ソフトも必要ない。
図2は、本実施形態の情報処理システムによるWebアプリの作成の概略を説明する図の一例である。
1−1.情報処理装置11では任意のOS21とブラウザソフトウェア(以下、ブラウザという)19が動作している。管理者は表計算ソフトにより作成した表計算シート(電子ファイル)をブラウザ19にドラッグ&ドロップする。
1−2.ブラウザ19は表計算シートがドラッグ&ドロップされたことをイベントとして検出して、表計算シートをアプリケーションサーバ12に送信する。
1−3.アプリケーションサーバ12では、任意のOS21とJava(登録商標。以下、Javaについて登録商標という付記を省略する)VM(Virtual Machine)13が動作している。アプリケーションサーバ12はJavaVM13上で「HTMLファイルの作成」「表計算シートのテーブル化」及び「設計ツールの導入」という処理を行う。
「HTMLファイルの作成」により、ブラウザ19に表計算シートとほぼ同じ外観の画面を表示させるHTMLファイル(HTMLファイルとCSS(Cascading Style Sheets)ファイル)が作成される。
「表計算シートのテーブル化」により表計算シートのうち入力欄となるセルがテーブルDB14に保存される。
「設計ツールの導入」により、管理者がブラウザ上で一次Webアプリを修正することが可能なHTMLファイルが作成される。
1−4.「HTMLファイルの作成」「表計算シートのテーブル化」及び「設計ツールの導入」が終了すると、アプリケーションサーバ12は、一次Webアプリを情報処理装置11に対し送信する。
1−5.これにより、情報処理装置11は一次Webアプリを受信し、ブラウザ19が表計算シートと同様の外観の表を有する一次Webアプリの画面を表示することができる。
1−6.管理者は一次Webアプリの画面を目視して、必要であれば入力欄やボタンの追加や、文字サイズや文字位置や入力チェック規則などを修正する。本実施形態では、このように表示された一次Webアプリの画面上で一次Webアプリの修正が可能になっている。図2では、修正により、表計算シートには入力用セルとして存在しない入力欄18が追加されている。
1−7.管理者は、修正が完了すると、一次Webアプリを登録するための登録ボタンを押下して、一次Webアプリをアプリケーションサーバ12に送信する。
1−8.アプリケーションサーバ12は受信した一次Webアプリを配布用WebアプリとしてWebアプリDB15に記憶させる。
この後、アプリケーションサーバ12は、ユーザ端末からの要請に対しWebアプリDB15から読み出した配布用Webアプリの画面をユーザ端末に送信する。これにより、ユーザ端末を操作するユーザは、配布用Webアプリの画面に表示された表に対し、例えば所望の値を入力することができる。
以上のように、本実施形態の情報処理システムは、表計算シートがWebアプリに変換された後、管理者は表計算シートまで戻って修正する必要がなく、一次Webアプリを修正することができるため、配布用Webアプリの作成及び修正を容易に行うことができる。また、情報処理装置11ではブラウザ19が動作し、アプリケーションサーバ12ではJavaVM13が動作しているので、プラットフォームに依存した表計算ソフトも必要ない。
<用語定義>
本実施形態で使用される用語について定義する。
Webアプリ…HTMLファイルを少なくとも含み、CSSファイルを含んでいてもよい。また、JavaScript(登録商標。以下、JavaScriptについて登録商標という付記を省略する)の記述を含んでいる場合がある。
表計算シート…表形式のデータを含む電子ファイルである。表計算シートは主に表計算ソフトにより作成され、表計算ソフトとしては、例えばEXCEL(登録商標)、Lotus123(登録商標),Kingsoft Spreadsheets(登録商標)、三四郎(登録商標)、Googleドキュメント(登録商標)などがあるが、これら以外の表計算ソフトにより作成された表計算シートでもよい。また、任意のソフトウェア(例えばワープロソフトウェア)に表計算シートを作成する機能があれば、このソフトウェアが作成した表計算シートも含まれる。したがって、表計算シートか否かは表計算シートを作成したソフトウェアの呼称やジャンルに制限されない。
表…表計算シート又はWebアプリに含まれる表である。
値…表計算シートの1つのセル又はWebアプリの例えば入力欄に含まれるデータである。
管理者…表計算シートから一次Webアプリ及び配布用Webアプリを作成する者である。
ユーザ…管理者が作成した配布用Webアプリを使用して値を入力する者である。なお、管理者とユーザは厳密に区別する必要がなく両者が共通する場合があってもよい。
設計ツール…管理者が一次Webアプリ上から一次Webアプリを修正するために、アプリケーションサーバがWebアプリに導入する記述やコード、命令などである。
一次Webアプリ…データ変換後に表示された状態で修正可能なWebアプリである(設計ツールが有効なWebアプリ)。
配布用Webアプリ…設計ツールが無効化され配布された状態で修正できないWebアプリである。
<構成例>
図3は、情報処理システム100の構成図の一例を示す。情報処理システム100はネットワーク16を介して通信可能な情報処理装置11、ユーザ端末17及びアプリケーションサーバ12を有している。
情報処理装置11又はユーザ端末17は、コンピュータやマイコンなどと呼ばれるものであればよく、具体的にはPC(Personal Computer)、タブレット端末、スマートフォン、携帯電話、PDA(Personal Digital Assistant)又は、ウェアラブルPCなどである。情報処理装置11又はユーザ端末17を区別せずに1つの情報処理装置11又はユーザ端末17が共用されてもよい。
また、情報処理装置11又はユーザ端末17はブラウザ19が搭載されていることが好ましいが、ブラウザ19と同等の機能を提供するアプリケーションプログラムが搭載されていてもよい。また、このアプリケーションプログラムは情報処理装置11のプラットフォームに依存せずに動作することが好ましい。
アプリケーションサーバ12も、コンピュータやマイコンなどと呼ばれるものであればよく、具体的にはPCなどである。
ネットワーク16は、LAN又はインターネットに代表されるWANなどである。一部又は全てが無線LANやBluetoothなどの無線で構築されていてもよいし、携帯電話網などの無線通信網を含んでいてもよい。
図4は、アプリケーションサーバ12のハードウェア構成図の一例を示す。アプリケーションサーバ12はそれぞれバス112で相互に接続されているCPU101、RAM102、ROM103、記憶媒体装着部104、通信装置105、入力装置106、描画制御部107及び補助記憶装置108、を有する。CPU101は、OS21やプログラム111を補助記憶装置108から読み出して実行することで種々の機能を提供する。
RAM102はCPU101がプログラム111を実行する際に必要なデータを一時保管する作業メモリ(主記憶メモリ)になり、ROM103はBIOS(Basic Input Output System)やOS21を起動するためのプログラムが記憶されている。
記憶媒体装着部104には記憶媒体110が着脱可能であり、CPU101の制御により記憶媒体110に記録されたデータを読み込み、補助記憶装置108に記憶させる。また、記憶媒体装着部104は、CPU101の制御により補助記憶装置108に記憶されたデータを記憶媒体110に書き込むこともできる。
記憶媒体110は例えば、USBメモリ、SDカード、CD−ROM等である。プログラム111は、記憶媒体110に記憶された状態や不図示のサーバからダウンロードすることで配布される。
入力装置106は、キーボードやマウス、タッチパネル、トラックボールなどであり、例えば管理者やユーザから様々な操作指示を受け付ける。
補助記憶装置108には、表計算シートからWebページ及びWebアプリを作成するなどの機能を提供するプログラム111が記憶される。なお、補助記憶装置108には、OS21、JavaVM13、各種のデータベースが記憶されている。補助記憶装置108は、HDD(Hard Disk Drive)やSSD(Solid State Drive)等の不揮発メモリである。
通信装置105は、ネットワーク16に接続するためのNIC(Network Interface Card)であり、例えば、イーサネット(登録商標)カードである。
描画制御部107は、CPU101がプログラム111を実行してグラフィックメモリに書き込んだ描画コマンドを解釈して、画面を生成しディスプレイ109に描画する。
情報処理装置11及びユーザ端末17のハードウェア構成の主要部は、アプリケーションサーバ12と同様なので図示を省略するが、情報処理装置11又はユーザ端末17はそれぞれに特有の構成を備えていてもよい。
<情報処理システムの機能ブロック>
図5は、情報処理システム100の機能ブロック図の一例を示す。情報処理装置11は、装置側送受信部31、表計算シート受付部32、修正受付部33、及び、登録受付部34を有している。これらの機能は、CPU101がプログラム111を実行して図4のハードウェアを制御等することにより実現される。
装置側送受信部31は、例えば、ブラウザ19とプロトコルスタックを実態として、ネットワーク16を介してアプリケーションサーバ12と通信する。通信に用いられる通信プロトコルはどのようなものでもよく、例えばHTTP(Hypertext Transfer Protocol)を主要な通信プロトコルとして、これを用いたREST(Representational State Transfer)、SOAP(Simple Object Access Protocol)、などが利用される。また、装置側送受信部31は、Ajaxを用いて、Webページ及びWebアプリの画面のリロードを伴わずにアプリケーションサーバ12とWebページ及びWebアプリの画面のやり取りを行うことができる。
表計算シート受付部32は、装置側送受信部31がアプリケーションサーバ12から取得してブラウザが表示したWebページに対し、管理者が入力装置106を操作してドラッグ&ドロップした表計算シートを検出する。詳細は図6にて説明する。装置側送受信部31は、この表計算シートをアプリケーションサーバ12に送信することで、表を含む一次Webアプリの画面を取得する。AJAXを用いて送信した場合、表計算シート受付部32は一次Webアプリが取得されるまで、画面を遷移させることがない。
修正受付部33は、管理者が入力装置106を操作することで行う一次Webアプリに対する修正を受け付ける。詳細は図12,13にて説明する。
登録受付部34は、修正受付部33が修正を受け付けた一次Webアプリの、アプリケーションサーバ12への登録を受け付ける。登録の操作は、例えば一次Webアプリに表示された登録ボタンの押下、マウスの右クリックにより表示されたメニュー選択などにより行われるが、具体的な操作方法が限定されるものではない。
ユーザ端末17は、端末側送受信部35及び操作受付部36を有している。これらの機能は、CPU101がプログラム111を実行して図4のハードウェアを制御等することにより実現される。
端末側送受信部35の機能は装置側送受信部31と同様であり、ネットワーク16を介してアプリケーションサーバ12と通信する。操作受付部36は、主にブラウザ19に対するユーザの種々の操作を受け付ける。
アプリケーションサーバ12は、サーバ側送受信部41、HTML作成部42、テーブル作成部43、設計ツール導入部44、Webアプリ登録部45、Webアプリ出力部46、データベース登録部47、データチェック部48、及び、DB連携処理部49を有している。これらの機能は、CPU101がプログラム111を実行して図4のハードウェアを制御等することにより実現される。
また、アプリケーションサーバ12は、テーブルDB14及びWebアプリDB15を有している。これらは、例えば図4の補助記憶装置108に構築されるが、アプリケーションサーバ12がアクセス可能なネットワーク16上に配置されていてもよい。
サーバ側送受信部41の機能は装置側送受信部31と同様であり、ネットワーク16を介して情報処理装置11又はユーザ端末17と通信する。
HTML作成部42は、表計算シートを解析してHTMLファイル(一次Webアプリ)を作成する。HTML作成部42は、表計算シートのセルをHTMLのlabelタグとinputタグに変換する。各セルをlabelタグ又はinputタグのどちらに変換するかという規則が予めHTML作成部42に定義されている。詳細は図8,9にて説明する。
また、HTML作成部42は、フォントサイズなどセルの属性情報を取得して、HTMLファイルに反映させる。これにより、表計算シートとWebアプリの画面内の表の外観をほぼ同じにすることができる。外観がほぼ同じとは、同じ表と見なせる程度であればよく、類似したと表現してもよい。属性情報の詳細は図7にて説明する。なお、表の外観に関する情報はHTMLファイルではなくCSSファイルにて作成してもよい。
HTML作成部42は、少なくともinputタグに変換したセルの位置を行番号と列番号で特定し、inputタグに対応づけておく。すなわち、各inputタグにはinputタグに変換されたセルの位置情報が対応づけられている。これにより、HTMLファイルの各inputタグに入力された値を、後述するテーブルのどこに格納すればよいかを決定できる。
テーブル作成部43は、表計算シートを解析して、inputタグに変換されたセルに対応する入力欄の値を登録するためのテーブルを作成する。ユーザが配布用Webアプリに入力した値は、テーブルDB14のこのテーブルに登録される。詳細は図10、11にて説明する。
なお、inputタグだけでなく、Labelタグに変換されるセルをテーブルDB14に登録してもよい。この場合、セルの位置に対応づけてLabelタグに変換されたセルの値が登録される。各テーブルには例えばWebIDなどの識別情報が付される。WebIDは配布用WebアプリのWebIDと同じである。
表計算シートがEXCEL(登録商標)により作成されている場合、HTML作成部42とテーブル作成部43は、Apache POIにより表計算シートを解析してもよい。Apache POIはJavaライブラリの一種で、EXCEL(登録商標)又はMS−Word(登録商標)が作成した電子ファイルを操作することを可能にする。
設計ツール導入部44は、HTML作成部42が作成したHTMLファイルに設計ツールを導入する。設計ツールとは、ディスプレイ109に画像として表示された一次Webアプリの画面から一次Webアプリの修正を受け付けるツールである。具体的には例えばJavaScriptにより記述されたコード等により実現される。詳細は図13にて説明する。
また、設計ツール導入部44は、JavaScriptを用いることで、カレンダー表示機能をHTMLファイルに追加することができる。表計算シートのセルに日付が入力されている場合があるが、設計ツール導入部44はこの日付があることを検出した場合、JavaScriptで記述されたカレンダー表示機能を追加する。
また、JavaScript及びアプリケーションサーバ12にて入力チェック機能を追加してもよい。入力チェック機能とは、入力必須制約、入力値のタイプ制約、入力値の範囲制約、入力値の長さ制約などをいう。このような入力チェックはHTMLのみでもある程度可能であるが、JavaScriptなどによりさらに詳細な入力チェックが可能になる。設計ツール導入部44は、inputタグに変換した各セルに対し管理者が所望の入力チェック機能を追加できるプログラムを生成する。詳細は図19にて説明する。
Webアプリ登録部45は、情報処理装置11から送信された修正された一次Webアプリを配布用WebアプリとしてWebアプリDB15に登録する。登録前に、Webアプリ登録部45は設計ツールを無効化する。配布用Webアプリには例えばWebIDなどの識別情報が与えられるので、少なくともこの識別情報により識別可能である。したがって、WebIDにより配布用Webアプリとテーブルを紐づけることができる。詳細は図20にて説明する。
データベース登録部47は、ユーザが配布用Webアプリの画面から入力し情報処理装置11から送信された値をテーブルDB14に記憶させる。配布用Webアプリにはセルの位置が含まれているので、テーブルDB14に作成されているテーブルのセルの位置に対応づけて値を登録できる。詳細は図21,22にて説明する。
データチェック部48は、情報処理装置11から送信された値に対するバリデーションチェックを行う。これにより、サーバ側で詳細な入力チェックを行うことができる。
Webアプリ出力部46は、ユーザ端末17からの要求に応じて、WebアプリDB15から配布用Webアプリを読み出し、ユーザ端末17に送信する。
また、Webアプリ出力部46は、ユーザが配布用Webアプリの画面からテーブルDB14に値を登録した場合、その値をinputタグの初期値に設定してWebアプリとして出力する。すなわち、配布用Webアプリに、テーブルDB14に登録されている値を合成できる。
DB連携処理部49は、ユーザからの要求に対しテーブルDB14に登録された値を処理してユーザ端末に送信する。どのような処理を行うかは元の表計算シートにより様々であると考えられるが、例えば、値の一覧表示や集計処理を行う。詳細は図23にて説明する。
<<表計算シート受付部の処理>>
図6は、表計算シート受付部32の処理を模式的に説明する図の一例である。図6(a)に示すように、管理者は表計算ソフトでWebアプリ化したい表計算シートを表示させ、ブラウザ上にドラッグ&ドロップする。表計算シート受付部32はドラッグ&ドロップされたこの表計算シートの電子ファイルを受け付ける。表計算ソフトで表示された表計算シートではなく、すでに作成されている電子ファイルをドラッグ&ドロップしてもよい。したがって、表計算ソフト自体は情報処理装置11には必要ない。
図6(b)はJavaScriptによる表計算シート受付部32の記述例を説明する図の一例である。記述1は、ドラッグ&ドロップされる領域を設定する記述で、「ondrop」がドロップされたことをイベントとしてブラウザ19が検出すること示している。
また、記述2は、ondropイベントが検出された場合の処理を記述しており、本実施形態では、「表計算ソフトの電子ファイルか否かを判定」する処理が行われる。そして、「表計算ソフトの電子ファイルの場合はアプリケーションサーバ12に送信」する処理が行われ、「表計算ソフトの電子ファイルでない場合はエラー表示」を行うことが記述されている。すなわち、予め定められた表計算ソフトの電子ファイルがドラッグ&ドロップされた場合、装置側送受信部31は表計算シートの電子ファイルをアプリケーションサーバ12に送信する。
<<HTMLファイルに反映される表計算シートの属性情報>>
図7は、表計算シートから取得される属性情報の一覧を示す図の一例である。HTML作成部42は、図示するように例えば、セル内の文字、数値、記号、アルファベットなど(以下、「文字など」という)の配置に関する属性情報、セル内の文字などのフォントに関する属性情報、セルを囲む罫線に関する属性情報、セルの塗りつぶしパターンに関する属性情報、及び、セルのスタイルに関する属性情報、を取得できる。また、セルではなく、図(イメージ)やテキストボックスなどの入力項目があればその属性情報を取得できる。
このように、HTML作成部42は外観に関する属性情報を取得できるので、表計算シートとほぼ同じ外観のHTMLファイル(及び必要であればCSSファイル)を作成することができる。
<<labelタグ又はinputタグのどちらに変換するかの規則>>
HTML作成部42は、例えば、以下のような規則にしたがって、セルをinputタグに変換する。これらの規則は一例であり、例えば管理者が規則を設定可能としたり又は選択可能としてもよい。
(i)セルの4辺が罫線で囲まれており、かつ、文字などが入力されていない
(ii)セルの4辺が罫線で囲まれている
(iii)セルに$〜$のように予め定められた記号が含まれている
また、HTML作成部42は、例えば、inputタグに変換されないセルをlabelタグに変換する。したがって、labelタグに変換されるセルには文字などが入力されているものとそうでないものが存在する。文字などが入力されていないセルもlabelタグに変換されることで、表計算シートとほぼ同じ外観のHTMLファイルを作成しやすくなる。
例えば、図8のような表計算シートがある場合に、HTML作成部42が規則の(i)に基づいてHTMLファイルを作成する場合について説明する。図8の表計算シートでは、(i)の規則に合致するセルが5つあり、それぞれ入力欄1〜5と称することにする。また、入力欄1〜5の位置はそれぞれ以下のようになる。
入力欄1:1B
入力欄2:3B
入力欄3:3C
入力欄4:4B
入力欄5:4C
HTML作成部42は、例えば、左上から右下に向かって1つずつセルの属性情報を取得し、inputタグ又はlabelタグに変換する。変換範囲は、文字など又は罫線が含まれる最も右下のセルまでであるが、明示的に変換範囲が指示されてもよい。ここでは、説明のため以下のような属性情報が取得されたものとする。
1A、3A、4A:横位置(左詰め)、行の高さ(30)、列の幅(100)
2B、2C:横位置(中央揃え)、行の高さ(30)、列の幅(150)
1B、3B、3C、4B、4C:行の高さ(30)、列の幅(150)
HTML作成部42は、例えばtableタグを利用して1行分のセルをtr要素で区切り、1セルをtd要素で区切り、各セルをinputタグ又はlabelタグに変換する。これにより、図9のようなHTMLファイルを作成することができる。また、HTML作成部42は、例えばinputタグのname属性にセルの位置を記述する。
図9は、図8の表計算シートから変換されたHTMLファイルの一例を示す図である。表計算シートのセルが、inputタグ又はlabelタグに変換されている。また、これらのタグは、表計算シートのセルの属性が反映されたものになっている。例えば、labelタグで記述された「部署名」、「担当者」、「数量」は、「width="100" height="30"」と記述されており、セルの属性情報と同じであることが分かる。
また、inputタグのname属性に各セルの位置が設定されている。図ではlabelタグに位置が設定されていないが、inputタグと同様に位置を設定してもよい。
情報処理装置11に送信され入力欄に入力された値を管理者がアプリケーションサーバ12に送信する際、値はInputタグのname属性と共に送信される。したがって、HTMLファイルにセルの位置を埋め込んでおくことで、表計算シートが配布用Webアプリに変換されても元の表計算シートのセルを特定することができる。
なお、Inputタグのname属性にセルの位置を直接、設定するのでなく、name属性にセルと一意に対応する識別情報を設定してもよい。例えばセルにinput0〜input5の識別情報を付与しておき、セルの位置を対応づけた対応表を作成しておけば、Inputタグに入力された値とセルの位置を対応づけることができる。
また、HTML作成部42は、表計算シートに、セルの他、図7の図と入力項目のオブジェクトがあれば、これらのオブジェクトに対応する記述をHTMLファイルに含める。例えば、線がある場合、線の色、幅、長さ、位置などの属性情報を取得して、HRタグやCANVASタグ等により記述する。また、三角形や円などの図形も同様に属性情報を取得してCANVASタグにより記述できる。テキストエリアの場合は、属性情報にしたがってTEXTAREAタグにより記述でき、必要であれば初期値としての入力文字と共に記述できる。また、テーブル作成部43がイメージとしての図を取得した場合はimgタグにより記述される。
<<テーブルの作成>>
次に、図10を用いて、テーブルの作成について説明する。図10は、テーブル作成部43が作成したテーブルの一例を示す図である。テーブル作成部43は、HTML作成部42と同じinputタグに変換する規則に合致するセルを特定し、そのセルの位置を登録したテーブルをテーブルDB14に作成する。図10に示すように、セルの位置として「1B 3B 3C 4B 4C」が登録されている。配布用Webアプリにおいてこれらのセルに対応する入力欄にユーザが入力した値が、図10のテーブルに登録される。
なお、図10のWebIDは、HTML作成部42が作成した一次Webアプリの画面及び配布用Webアプリの画面を一意に識別するための識別情報である。
また、inputタグだけでなく、Labelタグに変換されるセルをテーブルDB14に登録してもよい。この場合、テーブルの作成時に、セルの位置に対応づけてセルの値が登録される。
一次Webアプリを作成することでテーブルも作成されるので、従来のようにWebアプリとは別にデータベースを作成する場合と比べてデータベースの準備が容易になる。
また、テーブル作成部43は、表計算シートを解析して、inputタグに変換されたセルの入力規則に関する入力規則情報を取得する。入力規則情報には、例えば、以下のようなものがある。
・入力値の種類
・最小間隔
・最大値/最小値
テーブル作成部43は、inputタグに変換されたセルに入力規則が設定されている場合、それを取り出し、セルの位置に対応づけて入力規則を登録する。例えば、1Bのセルに最大文字数の制限ある場合、その旨を1Bに対応づけて登録する。
図11は入力規則情報の一例を示す図である。1Bのセルに対応づけて最大文字数が15であることが登録されている。テーブル作成部43は、inputタグに変換された全てのセルについて入力規則を取得し、テーブルDB14に入力規則情報として登録する。入力規則情報に登録された入力規則は、HTML作成部42によりHTMLファイルに反映される。
この他、テーブル作成部43は、HTML作成部42では取得できない属性情報やオブジェクトを取得してテーブルに追加する。例えば、テーブル作成部43は表計算シートに含まれるイメージとしての図形を取得する。テーブル作成部43が取得したオブジェクト情報は、HTML作成部42によりHTMLファイルに反映される。
<<HTMLファイルへの入力規則の反映>>
HTML作成部42は、入力規則情報の作成を待って、入力規則情報に登録された入力規則をHTMLファイルに反映させる。例えば、1Bのセルについて、最大文字数が15であるという入力規則が反映された際の記述は以下のようになる。
<td><input type="text" maxlength="15" name="1B" style="WIDTH: 150px; HEIGHT: 30px"></td>
なお、表計算シートでは可能な入力規則が、HTMLファイルでは実現が困難な場合は、設計ツール導入部44がJavaScriptにより入力規則を実現する。
そして、JavaScriptでも困難な場合、又は、HTMLファイル若しくはJavaScriptによる実現が困難ではないがアプリケーションサーバ12が処理した方が適切な場合、アプリケーションサーバ12が入力規則に関する処理を行う。この場合、図11に示すように、セルに対応づけてアプリケーションサーバ12が処理を行うことが登録され、処理内容がinputタグ(セルの位置)と関連づけられる。このような処理としてはバリデーションチェックが知られている。バリデーションチェックとは「入力されたデータが仕様にそって適切に記述されているかを判断し、不適切な箇所があった場合にはエラーとして通知すること」をいう。したがって、必ずしも表計算シートの入力規則と同じチェックを行う必要はなく、アプリケーションサーバ12により全てのセルに対し一般的なチェックを行ってもよい。アプリケーションサーバ12による入力規則などチェックは、データチェック部48により行われる。
<<設計ツールの導入>>
続いて、設計ツールの導入について説明する。表計算シートから作成された一次Webアプリを修正したい場合(カスタマイズしたい場合)は少なくない。従来は、管理者が表計算シートを修正する必要があったが、本実施形態では管理者は画像として表示された一次Webアプリから一次Webアプリを修正することができる。
以下では、一例として、管理者が一次Webアプリに入力欄を追加する場合について説明する。図12は、入力欄の追加を模式的に説明する図の一例である。これまで説明したように図12(a)の表計算シートから図12(b)に示す画像に変換されるHTMLファイルが作成される。図12(b)のHTMLファイルに対し、管理者が入力欄を追加したい場合、管理者はHTMLファイルが画像化された一次Webアプリに対し、表計算シートには入力用セルとして存在しない入力欄51を追加することができる。図12(c)では元々ある入力欄1〜5の下方に新たな入力欄51が追加されている。
このような一次Webアプリに対する追加をどのように実現するかはHTMLやJavaScriptなどのプログラミング言語の仕様によるし、1つのプログラミング言語でも実現方法は1つではない。このため、あくまで一例として説明する。
設計ツール導入部44は、例えば、一次Webアプリ上の入力欄51を作成可能な場所にマウスイベントを検出するオブジェクト54を埋め込んでおく。すべてのセルは、クリック等で入力項目に変換できる。図12(b)ではオブジェクト54は点線で示されている。オブジェクト54が透明色で表示されている場合、管理者は必要でなければ入力欄を意識する必要がない。あるいは、極めて薄い色でオブジェクト54を表示してもよく、この場合、管理者はこの場所に入力欄を追加できることを把握できる。
図13は、入力欄の追加が可能なHTMLファイルの一部の記述例を示す図である。図13のHTMLファイルは、図9のHTMLファイルに対し設計ツール導入部44が追加した記述が含まれている。このうち記述3は、図12(b)のオブジェクト54を埋め込むためのものである。また、記述4は、オブジェクト54に対するマウスクリックが検出された場合に、オブジェクト54をinputタグで置き換えるための記述である。図13のようなHTMLファイルによれば、オブジェクト54がクリックされることで、図12(c)の入力欄51を追加することができる。記述3と4を含むものが一次Webアプリに相当する。配布用Webアプリは記述3と4を含まないものである。したがって、一次bWebアプリと配布用Webアプリは別ファイルで用意されることも多い。
このように追加された入力欄51又は元からある入力欄に対し、管理者はいくつかの項目を調整できる。
図14は、入力欄に対し調整できる項目を説明する図の一例である。この画面は、例えば入力欄51のクリックなどにより表示される。図14(a)は基本設定タブの選択時に表示される画面を示し、図14(b)は余白/罫線タブの選択時に表示される画面を示す。基本設定タブでは、データ種、検索ラベルとするか否か、入力必須設定、入力補助(カレンダ等)、プレースホルダー、初期値、最大長、カスタムCSSを設定可能である。また、余白/罫線タブでは、罫線の幅と上下左右の余白を設定可能である。
入力必須設定により、図12(c)では"必須"という文字52が追加されている。さらに、設計ツール導入部44は、以下のような一次Webアプリの修正を可能にすることができる。
・属性の設定/変更
・オブジェクト(例えばテキストボックス)の配置
・ボタン機能の設定(ボタンの追加/変更)
・画面間の連携(例えば、過去の画面の入力値を表示する)
このうち、図15を用いて属性の設定/変更について説明する。図15は、管理者が一次Webアプリから修正可能な属性情報の一覧を示す図の一例である。図15は図7と同じ属性を示しており、管理者は表計算シートが有する全ての属性情報を一次Webアプリから修正可能である。なお、一次Webアプリから修正可能でない属性があってもよいし、一次Webアプリでのみ修正可能な属性があってもよい。
導入された設計ツールは、修正受付部33として動作する。したがって、図13の記述3,4のような設計ツールが導入されることにより、図12(c)に示したように、管理者は一次Webアプリを修正することが可能になる。
<<画面間の連携>>
図16,図17を用いて、画面間の連携について説明する。図16(a)〜図16(c)は表計算シートの一例を示し、図16(d)〜(f)は設計ツールが導入された一次Webアプリの一例を示す。なお、図16(d)〜(f)は配布用Webアプリでもかまわないが、管理者が一次Webアプリを修正する段階を踏むことが一般的なので、図16(d)〜(f)は一次Webアプリであるとする。以下では、アプリケーションサーバ12が図16(a)〜図16(c)の表計算シートから図16(d)〜(f)の一次Webアプリを作成する手順を説明する。
電子ファイルとしては1つの表計算シートが複数のシートを有する場合がある。図16(a)〜(c)はそれぞれ1つの表計算シートのうちシート1〜3を示す。シート1〜3は順番に入力することが想定されておりシート1は次へボタン303を有するが、管理者が次へボタン303を押下しても、シート1からシート2に切り替わることはない。これに対し、アプリケーションサーバ12がWebアプリを作成することで、シート1〜3に対応するWebページが連携して表示されるWebアプリを作成できる。
図17に基づき説明する。図17はシート1〜3から一次Webアプリを作成する手順を示すシーケンス図の一例である。
S1:管理者が表計算シートをWebブラウザにドラッグ&ドロップすると、表計算シート受付部32が表計算シートを受け付ける。
S2:表計算シート受付部32は装置側送受信部31に表計算シートを送出する。
S3:装置側送受信部31は表計算シートをサーバ側送受信部41に送信する。
S4:サーバ側送受信部41はHTML作成部42に表計算シートを送出する。
S5:HTML作成部42は表計算シートをWebアプリに変換する。HTML作成部42は表計算シートに複数のシートが含まれている場合、各シートを別々のWebページに変換し、各Webページが連携する1つのWebアプリを作成する。したがって、まず図16(d)〜(f)のWebページを作成する。
次に、HTML作成部42は各Webページを例えば次のように関連づける。
a.Webページ1の次にWebページ2が表示される。
b.Webページ2からWebページ1に戻ってWebページ1が表示される。
c.Webページ2の次にWebページ3が表示される。
d.Webページ3からWebページ2に戻ってWebページ2が表示される。
e.Webページ3の後、入力値がテーブルDB14に格納される。
また、設計ツール導入部44は連携のためKeyとなるボタンを検出する。Keyとなるボタンの検出は表計算シートのセルから行ってもよい。図16では次へボタン303、戻るボタン311,次へボタン312,戻るボタン321及び完了ボタン322をKeyとする。したがって、設計ツール導入部44は以下のようにボタンと上記の関連づけを紐づける。
A.管理者が次へボタン303を押下することをaの関連づけと紐付ける。
B.管理者が次へボタン312を押下することをcの関連づけと紐付ける。
C.管理者が戻るボタン311を押下することをbの関連づけと紐付ける。
D.管理者が戻るボタン321を押下することをdの関連づけと紐付ける。
E.管理者(又はユーザ)が完了ボタン322を押下することをeの関連づけと紐付ける。
アプリケーションサーバ12はWebアプリにa〜eの関連づけとA〜Eの紐付けを保持しておく。
S6:HTML作成部42はWebアプリを設計ツール導入部44に送出する。
S7:設計ツール導入部44はWebアプリに設計ツールを導入して一次Webアプリを作成する。
S8:設計ツール導入部44は一次Webアプリをサーバ側送受信部41に送出する。
S9:サーバ側送受信部41は一次Webアプリを装置側送受信部31に送信する。
したがって、アプリケーションサーバ12が情報処理装置11に一次Webアプリを送信し、管理者がWebページ1〜3を表示してボタンを押下すると、押下されたボタンに応じてアプリケーションサーバ12はWebページを切り替えて情報処理装置11に送信できる。
このように、複数のシートがWebアプリに変換された場合、複数のWebページが連携するので、表計算シートでは困難だった画面間の連携が可能になる。なお、画面間の連携は、表計算シートに複数のシートが含まれている場合に自動的に行われてもよいし、ユーザの操作により行われてもよい。
なお、画面間の連携の一態様として、図18に示すように、アプリケーションサーバ12はシート1〜3を1つのWebページに変換して一次Webアプリを作成してもよい。
図18はシート1〜3から作成されたWebアプリの一例を示す図である。図18では、シート1〜3の内容が含まれるWebアプリ(1つのWebページ)500が作成されている。したがって、管理者又はユーザは個別のシート1〜3ではなく1つのWebページから入力できるので操作性が向上する場合がある。
なお、図17のように3つのWebページが作成されるのか図18のように1つのWebページが作成されるのかは、管理者によるアプリケーションサーバ12の設定により切り替えられる。あるいは、表計算シートに含まれる情報に応じてアプリケーションサーバ12が切り替えてもよい。
<<日付等の導入>>
また、設計ツール導入部44は、表計算シートから表示形式が日付になっているセルを検出した場合、カレンダー機能をHTMLファイルに導入する。設計ツール導入部44は、カレンダー機能を実現するJavaScriptによるコードを予め保持している。
図19は設計ツールの導入例を説明する図の一例である。図19(a)は、ユーザ端末17が表示した一次Webアプリに導入されたカレンダー機能を説明する図の一例である。ユーザが日付欄をクリックするなどすると、カレンダー201が表示される。
また、図19(b)は、上述した入力チェックを、設計ツール導入部44がJavaScriptにより導入した際に表示される警告の一例を示す図である。例えば、4Cのセルに1〜10の数値しか入力できない入力規則が設定されている場合に、ユーザが"100"を入力したものとする。この場合、一次Webアプリは図示するような警告(入力した値は正しくありません。入力範囲は1〜10です。)202を表示することができる。
<<Webアプリの登録>>
管理者が修正した一次Webアプリは、管理者が登録ボタン53を押下するなどの予め定められた操作を行うことで、アプリケーションサーバ12に送信される。アプリケーションサーバ12は登録ボタン53が押下されたことを一次Webアプリの登録要求として取得する。
ユーザが値を入力するためのHTMLファイルは、ユーザが任意に修正することは好ましくないので、Webアプリ登録部45は、設計ツールを無効化する。無効化とは、設計ツールによる配布用Webアプリの修正を禁止することをいう。図13のHTMLファイルでは、無効化は記述3や記述4の少なくとも一方が機能しないようにすればよく、種々の方法がある。例えば、設計ツールを削除することで無効化できる。また、スクリプトの機能をOFFにしてもよいし、記述3又は記述4をコメントに変更してもよいし、記述3又は記述4の一部又は全部を消去してもよい。
なお、ユーザが配布用Webアプリから入力した値をアプリケーションサーバ12に送信できるように、送信ボタンなどが追加される。
Webアプリ登録部45は、このようにして設計ツールを無効化した配布用WebアプリをWebアプリDB15に登録する。管理者は、ユーザが目的とする配布用Webアプリをユーザ端末17に表示できるように、配布用Webアプリに名称を付与するなどすることができる。
図20は、WebアプリDB15に登録された配布用Webアプリの一覧を模式的に示す図の一例である。WebアプリDB15には、「WebID」「名称」「管理者」「最終更新日」「DB連携」などが登録される。「WebID」や「名称」は配布用Webアプリにリンクされており、ユーザはこのような一覧から目的の配布用Webアプリを選択して表示させ、値を入力する。また、後述するように「DB連携」はテーブルDB14と連携した処理が可能なWebアプリとリンクされており、ユーザはテーブルDB14の値を表示したり集計したりすることができる。
また、登録受付部34は、配布用Webアプリの登録時にその配布用Webアプリがワークフローに用いられるか否かを管理者に問い合わせ、管理者によるワークフローに用いられるか否かの選択を受け付ける。ワークフローに用いられる配布用WebアプリはWebアプリDB15にその旨が登録される。
<<値の登録>>
次に、テーブルDB14に対する値の登録について説明する。テーブルDB14に値を登録する方法としては、以下の2つの登録方法がある。
(i) 配布用Webアプリから登録する
(ii) 表計算ソフトから登録する
まず(i)の登録方法について図21を用いて説明する。図21(a)はユーザ端末17に表示された配布用Webアプリへの入力例を示している。配布用WebアプリにはWebIDが含まれていることが好ましい。ユーザは、入力欄1〜5に以下のように入力している。なお、かっこ内は入力欄1〜5に対応するinputタグのセルの位置を示す。
入力欄1(1B):総務部
入力欄2(3B):Aさん
入力欄3(3C):Bさん
入力欄4(4B):2
入力欄5(4C):3
ユーザが送信ボタン55を押下して配布用Webアプリから入力された値がアプリケーションサーバ12に送信されると、データベース登録部47はname属性でそれぞれの値をテーブルDB14に登録する。なお、テーブルの特定は、WebIDを利用してもよいし、セルの位置情報を利用してもよい。
図21(b)はテーブルDB14に登録される値の一例を示す図である。テーブルDB14には、表計算シートのセルに対応づけてユーザが入力した値が登録される。
図21(c)は別のユーザ(営業部の担当者)がユーザ端末17で表示した配布用Webアプリを示している。同様に、このユーザは配布用Webアプリに対し所望の値を入力できる。
入力欄1(1B):営業部
入力欄2(3B):Cさん
入力欄3(3C):Dさん
入力欄4(4B):0
入力欄5(4C):5
図21(d)は、営業部のユーザが入力した値が登録されたテーブルDB14の一例を示す図である。このように、テーブルDB14にはそれぞれのユーザが登録した値が蓄積される。
次に、(ii)の登録方法について図22を用いて説明する。ユーザとしては、使い慣れた表計算シートから直接、値を入力したい場合がある。本実施形態の情報処理システム100は、このような要請に対し、ユーザが表計算シートをWebページにドラッグ&ドロップすることで、値を登録することを可能にしている。
図22(a)は表計算ソフトが表示する表計算シートの一例を、図22(b)は値をテーブルDB14に登録するためにユーザ端末17に表示されたWebアプリの画面のWebページの一例を示している。HTMLファイルの登録時と同様に、このWebアプリの画面はドラッグ&ドロップを検出すると、表計算シートをアプリケーションサーバ12に送信する。
データベース登録部47は、予め定められた規則にしたがって、値が入力されているセルを特定する。inputタグに変換されるセルの規則が上記の「(i)セルの4辺が罫線で囲まれているなどの規則」であるものとして説明する。値の登録時には、セルに文字が入力されているので、値が入力されているセルは「セルの4辺が罫線で囲まれている」セルである。データベース登録部47はこれを規則として、表計算シートから値が入力されているセルを特定する。図22(a)では、1B、3B、3C、4B及び4Cのセルが特定される。
そして、データベース登録部47は、値が入力されているセルの位置と、テーブルに登録されているセルの位置が一致するテーブルをテーブルDB14から特定する。図22(c)では、WebID=001のテーブルが登録され、表計算シートに入力されている値をテーブルに登録することができる。
このように、テーブルDB14のテーブルにセルを判別する位置情報が登録されていることで、表計算シートから直接、値を登録することができる。
なお、図22では、セルに入力された値のテーブルDB14への登録について説明したが、表計算シートにテキストボックスや図などのオブジェクトが含まれている場合、データベース登録部47はテーブル作成時と同様にこれらのオブジェクトも取得できる。データベース登録部47はテーブルにオブジェクトを追加しておくことができる。なお、必要であれば、ユーザ端末17への送信時にWebアプリ出力部46がHTMLファイルにオブジェクトを反映させる。
テーブルDB14への値の登録の際、ユーザはユーザ端末17においてテーブルDB14への登録用のWebアプリを表示させる。この場合、テーブルDB14への登録用のWebアプリの画面にドラッグ&ドロップされた表計算シートはデータベース登録部47の処理の対象となる。データベース登録部47は、値が入力されているセルの位置と、テーブルに登録されているセルの位置が一致するテーブルをテーブルDB14から特定して、表計算シートに入力されている値を登録する。
あるいは、ユーザはユーザ端末17において、各テーブルに専用のWebアプリの画面を表示させてもよい。例えば、ユーザは、WebIDやWebアプリの名称を指定してテーブルに専用のWebアプリの画面を表示させる。この場合、ドラッグ&ドロップされた表計算シートがどのテーブルに登録されるかは決まっているので、データベース登録部47は、テーブルに登録されているセルの値を、表計算シートから読み出してテーブルDB14に登録する。
あるいは、図22(b)のWebページを図6(a)と同じものとしてもよい。この場合、HTML作成部42がHTMLファイルを作成しないように担保されることが好ましい。このため、HTML作成部42は例えば「4辺が罫線で囲まれているセルに文字などが入力されている場合はテーブルDB14への登録と判断する」ことで、HTMLファイルを作成しない。これにより、同じドラッグ&ドロップという操作でも、HTMLファイルの作成とテーブルDB14への登録を切り替えることができる。
3つの登録方法のどれで登録されても、アプリケーションサーバはテーブルDB14のテーブルを表計算シートに変換して出力したり、PDF(Portable Document Format)や画像(例えばpng形式、BMP形式、Jpeg形式など)で出力することができる。
<<DB連携処理>>
以上のように、ユーザがテーブルDB14に値を登録した値は、管理者又はユーザにより加工して表示することができる。
図23(a)は、図20にて示した「DB連携」が選択された場合にユーザ端末17に表示されるWebアプリの一例を示す。なお、このWebアプリの画面にはWebIDとの紐付け情報が含まれている。このWebアプリには一覧表示ボタン61と集計グラフボタン62が表示されている。ユーザが一覧表示ボタン61を押下すると、WebIDと一覧表示要求がアプリケーションサーバ12に送信される。アプリケーションサーバ12のDB連携処理部49は、WebIDで指定されるテーブルを読み出して、ユーザ端末17に送信する。これにより、ユーザ端末17は図23(b)に示すように、テーブルに登録されている値の一覧を表示することができる。
また、ユーザが集計グラフボタン62を押下すると、WebIDと集計グラフ要求がアプリケーションサーバ12に送信される。アプリケーションサーバ12のDB連携処理部49は、WebIDで指定されるテーブルを読み出して値を集計しユーザ端末17に送信する。どのような集計を行うかは、ユーザが不図示の画面から設定してもよいし、集計グラフボタン62を複数用意し集計グラフボタン62ごとに決まった集計を行ってもよい。これにより、ユーザ端末17は図23(c)に示すように、テーブルに登録されている値を集計したグラフなどを表示することができる。なお、集計結果を表示可能なグラフとしては、縦棒グラフ、折れ線グラフ、円グラフ、横棒グラフ、面グラフ、散布図、ドーナツグラフ、バブルチャート、及び、レーダーチャートなどがある。
また、図23に示す他、セルの値が数値であれば一般的な統計処理(平均、標準偏差、中央値など)を行ってもよい。また、直線や曲線で回帰分析したりしてもよい。
図24、25はDB連携処理の別の一例を説明する図である。なお、図24,25はAjax及びRESTを用いて実現した例になっている。
(i)HTML作成部42は、これまで説明したように図24(a)の表計算シートから図24(b)のWebページを作成する。このWebページに画面IDとして「001」が付与される。設計ツール導入部44は、図24(a)の表計算シートに予め定められた入力項目がある場合(例えば、$などの特殊文字がある入力欄、枠線に囲まれた入力欄)、表計算シートを一次Webアプリに変換する。
(ii)一次Webアプリを作成する際、設計ツール導入部44はKey情報を検出する。すなわち、国、県、市、支店数にKey情報が含まれている場合、これらを統計の対象に決定して図24(c)の一覧・集計のための一次Webアプリを作成する。したがって、図24(c)では国、県、市、支店数の一覧のためのヘッダー401、国、県、市、支店数を集計対象として選択させる選択欄402、及び、集計方法403が作成される。なお、集計方法403は予め定められている。
そして、DB連携処理部49は集計方法403(合計、平均、最大、最小)で集計するためのプログラム(統計用テーブルや画面など)を作成しておく。あるいは、集計するためのプログラム(統計用テーブル項目等の変数)と紐づけておく。アプリケーションサーバ12のDB連携処理部49は図25(c)に示すテーブル001-01に入力された値を保存する。なお、図24(c)では集計は一次元(列方向)で行われるが、2次元(行方向と列方向)で行うこともできる。
また、単純に管理者端末が他画面での使用欄をAjax等の技術で持ってくる手法だけでなく、一次Webアプリが予め自動(あるいは設定で)登録された統計用テーブルの変数を確認でき再利用できることで、素早くかつシステムに負荷をかけずに処理することができる。
この後、管理者が図24(b)(c)の一次Webアプリを修正することで、配布用Webアプリが作成される。この時点で、画面番号およびデータベースのテーブル番号が固定される。
(iii)次に、ユーザは図25(a)の配布用Webアプリに対しデータを入力する。すなわち、国入力欄411、県入力欄412、市入力欄413及び支店数入力欄414に値を入力する。ユーザが集計ボタン415を押下すると入力値はアプリケーションサーバ12に送信される。
(iv)アプリケーションサーバ12のDB連携処理部49は図25(c)に示すテーブル001-01に入力された値を登録する。テーブル001-01は、Key情報ごとに入力値を登録したものである。なお、001-01の後ろの「01」は画面001から作成されたテーブルを識別するための番号である。
(v) 次に、集計ボタン415の押下に応答するため、DB連携処理部49は図25(c)のテーブル001-01から値を読み出して、図24(c)の配布用Webアプリに合成することで図25(b)の一覧・集計のための一次Webアプリを作成する。なお、この図25(b)の画面の例はAjaxを用いた方法での実施例である。
図25(b)の配布用Webアプリの画面は選択欄402、及び、集計方法403を有している。ユーザは選択欄402から集計対象(国、県、市、支店数)を選択し、集計方法403から集計方法(合計、平均、最大、最小)を選択する。ユーザが集計対象として支店数を選択し、集計方法として合計を選択したものとする。
(vi) アプリケーションサーバ12のDB連携処理部49は、図25(c)のテーブル001-01から入力者数と支店数総計を読み出し、図25(d)の配布用Webアプリを作成する。したがって、アプリケーションサーバ12は図25(c)のテーブルにアクセスして統計処理するよりも早期に図25(d)の配布用Webアプリをユーザ端末17に送信できる。
なお、図24(a)の表計算シートに入力欄だけでなく一覧表示が含まれている(ヘッダー401が含まれている)場合、DB連携処理部49は入力欄のKey情報(国、県、市、支店数)と一覧表示のKey情報(国、県、市、支店数)とを対応づける。これにより、入力画面と一覧画面が一体のWebアプリが作成されるので、ユーザは入力画面において集計ボタンを押下したり、一覧画面を確認したりすることができる。
<<<DB連携処理2>>>
図26は、DB連携処理の別の一例を説明する図である。図26(a)は表計算シートを、図26(b)は一次Webアプリの初期状態を、図26(c)は一次Webアプリの加工例を、図26(d)は配布用Webアプリを、図26(e)は配布用Webアプリの入力例を、それぞれ示す。一次Webアプリには画面ID(図26では001が付与される)。
設計ツール導入部44は図26(b)の一次Webアプリを作成する。この時、テーブル作成部43は図26(f)のテーブル001-01を作成しテーブルDB14に記憶させておく。図26(a)の表計算シートには各項目(国、県、市、支店数)にKeyが埋め込まれており、テーブル作成部43はKeyが埋め込まれている項目を取り出すことでテーブル001-01を作成する。この番号「001-01」はテーブルIDであり、画面IDの「001」に重複しない番号が連番で加えられたものである。
また、管理者は図26(c)の一次Webアプリを作成する際、プルダウンメニュー267,268の値を設定する。この値は後述する集計単位265に反映される。
次に、管理者は一次Webアプリの項目である「支店数」の入力欄261のデータ型を文字列型から数値型に変更し、数値型にした項目のKey設定を外す。これにより、図26(g)のテーブル001-01が得られる。このテーブル001-01は、Keyが異なれば配布用Webアプリで入力された値が蓄積されていく領域である。また、管理者はテーブル001-01、Key及び統計方法を指定する変数を一次Webアプリに設定する。テーブル作成部43は図26(h)のテーブル001-02を作成する。このテーブル001-02は配布用Webアプリで入力されテーブル001-01に蓄積されたデータを集計する領域である。また、テーブル作成部43は図26(h)のテーブル001-03を作成する。このテーブル001-03は配布用Webアプリで入力されテーブル001-01に蓄積されたデータを、例えば県レベルが同じKeyを集計する領域であり、県の種類数の分のデータが蓄積される領域である。例として、東京都大田区、東京都港区、東京都台東区の3レコードがある場合、DB連携処理部49は入力者数を3と集計する。また、DB連携処理部49は東京都の支店数の総計を10と集計する。神奈川県、埼玉県についても同様にデータが保持される。設定により、図のように、県ごとにテーブルを分けてもよいし、又は、同一のテーブルに「県毎入力者数」「県毎支店数総計」の項目があってもよい。なお、テーブルの項目名はKeyに対応して自動的に付与される。
管理者はテーブルを指定して変数を設定できるので、変数を変えるだけで統計処理が行われるテーブルを変更できる。また、統計の項目や統計方法も簡単に変更できる。
また、管理者が例えば図26(c)の一次Webアプリで所定の操作を行うと(例えば、マウスの右クリックを行う)サブ画面が開く(不図示)。ユーザはサブ画面から統計用テーブル設定画面を作成する操作を入力する。これにより、情報処理装置11からアプリケーションサーバ12に統計用テーブル設定画面の作成要求が送信され、設計ツール導入部44は統計用テーブル設定画面を作成する。設計ツール導入部44は統計用テーブル設定画面に設計ツールを導入する。
図26(j)は統計用テーブル設定画面の一例を示す。統計用テーブル設定画面は項目リスト欄262、キー項目欄263、集計項目欄264、集計単位欄265、及び、集計方法欄266を有している。項目リスト欄262は、設計ツール導入部44がテーブル001-02から統計用の項目を読み出して設定する。設計ツール導入部44はテーブル001-01から項目名を取得してキー項目欄263に設定する。設計ツール導入部44はテーブル001-01から数値型の項目名を取得して集計項目欄264に設定する。設計ツール導入部44は予め定められている合計、平均、最大、最小などを集計方法欄266に設定する。例では単純な集計方法を記述しているが、任意の統計関数などを設定する事もできる。
統計用テーブル設定画面のキー項目欄263で項目が選択されると、集計単位265には該項目に入力されている値が選択可能に表示される。例えば、図26(j)に示すように、集計単位欄265には東京、神奈川、千葉、埼玉などが表示される。
また、管理者は統計用テーブル設定画面を表示させ、修正することができる。例えば、項目リスト欄262に「都道府県平均」と追加する。
図26(k)に示すように、ユーザが配布用Webアプリから値を入力すると、テーブル001-01に値が登録される。そして、図26(l)に示すように、DB連携処理部49はテーブル001-01に登録された値から変数に基づいて統計情報を作成してテーブル001-02に登録する。図26(m)に示す、テーブル001-03についても同様に統計情報が登録される。テーブル001-03には、例えば、集計単位265で設定した県の単位で統計情報が登録される。
このように、管理者は、一次Webアプリのサブ画面から統計用テーブル設定画面を任意で作成することができる。管理者が明示的に統計項目などを設定しない場合も、数値の単純総計などを自動で設定することができる。また、統計用テーブル設定画面にも設計ツールが導入されるため、管理者は統計用テーブル設定画面で例えばマウスを右クリックしたりメニュー選択等によりサブ画面を表示させることができる。そして、管理者は統計用テーブル設定画面を修正できる。
続いて、図27を用いてテーブル001-01、001-02の再利用について説明する。図27は、テーブルの再利用について説明する図の一例である。図27(a)は表計算シートの一例を示し、図27(b)は一次Webアプリの一例を示し、図27(c)は配布用Webアプリの一例を示す。これまで説明したように、管理者は表計算シートから一次Webアプリや配布用Webアプリを作成する。
管理者が例えば図27(b)の一次Webアプリでマウスを右クリックしたりメニュー選択等を行う事により、図27(d)の挿入項目選択設定画面が表示される。挿入項目選択設定画面は、設計ツールとして一次Webアプリに導入されている。挿入項目選択設定画面は画面ID設定欄271、テーブルID設定欄272、及び、項目名設定欄273を有している。
画面ID設定欄271には画面IDのリストがプルダウン形式で表示され、テーブルID設定欄272にはテーブルIDのリストがプルダウン形式で表示され、項目名設定欄273には項目名のリストがプルダウン形式で表示される。項目名はテーブル001-02の項目名である。
管理者は画面ID設定欄271をマウスやキーボード、指などで操作し、統計を集計する画面IDを選択する。これにより、テーブルID設定欄272に表示されるテーブルIDが決まるので、管理者はテーブルID設定欄272から統計処理したいテーブルのテーブルIDを選択する。これにより、項目名設定欄273にはテーブル001-02の項目名が表示される。
次に、管理者は図27(b)の項目である入力者数274にどの項目名を表示させるかを、項目名設定欄273から選択する。すなわち、テーブル001-02の項目名である入力者数を選択する。同様に、管理者は図27(b)の項目である支店数総計275にどの項目名を表示させるかを、項目名設定欄273から選択する。すなわち、テーブル001-02の項目名である支店数総計を選択する。このような管理者の操作により、一次Webアプリの入力欄(入力者数274と支店数総計275)とデータベース(この例ではテーブル001-02)とが紐付けされる。
以上により、図27(c)に示すように、配布用Webアプリでは、図26(l)のテーブル001-02から読み出された「6」が入力者数274に、「44」が支店数総計275にそれぞれ表示される。
このように、画面002の一次Webアプリの修正時に、管理者は他の画面001で設定した統計値などを選択的に挿入することができる。本実施形態では難しいプログラミング(Ajaxを利用して各項目を呼び出すようにコーディングすることで、個別に他画面での使用項目を流用する。REST方式。)なしに設定画面の操作から容易に流用項目を選び設定できる。また、ユーザが画面002のような統計画面を作成し、表示するタイミングごとにアプリケーションサーバ12に計算させる手法では負荷が大きくなる事もあるが、このように、予め統計変数をテーブル001-02に登録しておくことで、DB連携処理において再度の統計処理が不要になり、システムへの負荷を軽減でき、ユーザの待ち時間を短縮できる。
<動作手順>
次に、図28を用いて情報処理システム100の動作手順について説明する。図28は、情報処理システム100が配布用Webアプリを作成する手順を示すフローチャート図の一例である。
S-c1:管理者は情報処理装置11にHTMLファイルを登録するためのWebページを開いており、Webページに表計算シートをドラッグ&ドロップする。表計算シート受付部32は表計算シートを受け付ける。
S-s1:アプリケーションサーバ12のサーバ側送受信部41は表計算シートを受信する。この後、処理はHTMLファイルの作成とテーブルの作成の2つに別れ、それぞれが並列に実行される。これにより、処理時間を短縮できる。まず、HTMLファイルの作成から説明する。
S-s2:HTML作成部42は、入力項目とそれ以外を判別する。入力項目は、入力欄となるセルやテキストボックス、チェックボックスなどである。文字などが表示されるセルも入力項目として検出される。入力項目以外とは、線、線図などのオブジェクトである。
S-s3:入力項目がある場合、HTML作成部42は入力欄をinputタグに変換し、テキストボックスなどをタグに変換し、文字などをlabelタグに変換するなどしてHTMLファイルを作成する。
S-s4:次に、入力項目以外のオブジェクトについて、オブジェクトを表示するためのタグや、オブジェクトの属性情報を作成する。タグはHTMLファイルに記述される。
S-s5:HTML作成部42はレイアウト情報を作成する。このレイアウト情報は、HTMLファイルのレイアウトを指示するCSSファイルである。HTML作成部42はinputタグやlabelタグについてHTMLファイルでは記述しない又は記述し切れないレイアウト情報を作成する。オブジェクトについても同様にレイアウト情報を作成する。なお、CSSファイルをHTMLファイルに記述してもよい。
次に、テーブルの作成について説明する。
S-s6:テーブル作成部43は、テーブルDB14に登録するセルを判別する。セル以外のオブジェクトについても判別してよい。
S-s7:テーブルDB14に登録するセルについては、テーブルDB14に登録する。
S-s8:次に、入力規則の有無を判定する。
S-s9:入力規則がある場合、セルの入力規則情報を取り出す。
S-s10:テーブル作成部43は、入力規則があるセルについて入力規則情報をセルの位置情報に対応づけて登録する。なお、イメージとしての図形があれば取得しておく。
S-s11:HTML作成部42は、テーブルの作成の処理が終わるまで待機し、又は、テーブルの作成の方がHTMLファイルの作成よりも早い場合は、HTMLファイルの作成後、HTMLファイルに入力規則情報やイメージとしての図などのオブジェクトを追加する。HTMLファイルでの実現が困難な場合、JavaScriptにより記述したり、入力規則をサーバ側で行うことを入力規則情報に登録する。
S-s12:次に、設計ツール導入部44はHTMLファイルに設計ツールを導入する。これによい、管理者が修正可能な一次Webアプリが作成される。この一次Webアプリは、サーバ側送受信部41により情報処理装置11に送信される。
S-c2:装置側送受信部31はHTMLファイルを受信し、ブラウザ19が一次Webアプリを表示する。
S-c3:修正受付部33は、管理者による一次Webアプリの修正を受け付ける。
S-c4:登録受付部34は、修正された一次Webアプリの登録を受け付け、装置側送受信部31が一次Webアプリをアプリケーションサーバ12に送信する。
S-s13:Webアプリ登録部45は設計ツールを無効化することで、配布用Webアプリを作成する。
S-s14:Webアプリ登録部45は配布用WebアプリをWebアプリDB15に登録する。
以上のように配布用Webアプリがアプリケーションサーバ12に登録され、ユーザが値を入力することが可能になる。
図29は、情報処理システム100がテーブルDB14に値を登録し、集計グラフを表示する手順を示すフローチャート図の一例である。
S-c11:ユーザはユーザ端末17に表示した配布用Webアプリに値を入力する。表計算シートに値を入力してもよい。ユーザ端末17の操作受付部36はユーザの送信操作を受け付け、端末側送受信部35が入力された値をアプリケーションサーバ12に送信する。
S-s21:サーバ側送受信部41は値を受信する。
S-s22:データベース登録部47はセルの位置と共に送信される値を、テーブルDB14のテーブルのセルに対応づけて登録する。
S-c12:次に、ユーザ端末17がDB連携用のWebアプリの画面を表示した場合を説明する。ユーザがDB連携用のWebアプリの画面から集計グラフボタン62を押下すると、操作受付部36がそれを受け付け、端末側送受信部35がアプリケーションサーバ12に送信する。
S-s23:アプリケーションサーバ12のサーバ側送受信部41は集計グラフ要求を受信する。
S-s24:DB連携処理部49はテーブルDB14から値を読み出し、集計グラフを作成し、サーバ側送受信部41がユーザ端末17に送信する
S-c13:端末側送受信部35は集計グラフを受信して、ユーザ端末17が集計グラフを表示する。
以上説明したように、本実施形態の情報処理システムは、表計算シートから変換されたWebアプリに設計ツールを導入することで、画像として表示された一次Webアプリを修正することができる。また、情報処理装置11ではブラウザが動作し、アプリケーションサーバ12ではプラットフォームに依存しないプログラム111が動作するので、専用ソフトやアドインなども必要ない。また、表計算シートがあればよく、情報処理装置11に表計算ソフトがインストールされている必要もない。ドラッグ&ドロップという簡単な操作で一次Webアプリを作成することができる。
セルに入力規則が含まれている場合、HTMLファイルだけでなくJavaScriptやアプリケーションサーバが入力規則に基づき値をチェックできる。
また、一次Webアプリの作成時に、アプリケーションサーバ12にセルの位置情報が登録されるので、ユーザは配布用Webアプリから表に登録できるだけでなく、Webアプリの元になった表計算シートに入力した値を登録できる。また、一次Webアプリを作成することでテーブルも作成されるので、従来のようにWebページとは別にデータベースを作成する場合と比べてデータベースの準備も容易である。
<好適な変形例>
以上、本発明を実施するための最良の形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
例えば、本実施形態では、表計算シートをlabelタグとinputタグに変換する例を説明したが、labelタグとinputタグ以外のタグを使用して表計算シートをHTMLファイルに変換してよい。
また、いくつかの図で示したHTMLファイル又はJavaScriptの記述は一例に過ぎず、表計算シートをHTMLファイルで記述する記述方法は本実施形態の内容により制限されない。
また、Webアプリの画面の表示形式としてHTMLを用いて説明したが、XHTMLを用いてもよいし、XMLを用いてもよい。また、スクリプト言語としてJavaScriptを例に説明したが、ECMAScriptに準拠したスクリプト言語や他のスクリプト言語を使用してもよい。
また、アプリケーションサーバの機能は複数のサーバに分散して搭載されていてもよいし、アプリケーションサーバが複数、存在してもよい。
11 情報処理装置 12 アプリケーションサーバ 14 テーブルDB 15 WebアプリDB 19 ブラウザ 42 HTML作成部 43 テーブル作成部 44 設計ツール導入部 45 Webアプリ登録部 46 Webアプリ出力部 47 データベース登録部 49 DB連携処理部 100 情報処理システム

Claims (12)

  1. 第2の情報処理装置から送信された第1の形式のデータを第2の形式のデータに変換する情報処理装置であって、
    前記第2の形式のデータが第2の情報処理装置で表示された際に前記第2の形式のデータに対する変更を受け付ける機能を、前記第2の形式のデータに追加する機能追加手段、
    を有することを特徴とする情報処理装置。
  2. 前記第1の形式のデータは複数のセルを含む表形式のデータであり、
    前記第1の形式のデータと類似した表形式の画像として表示される前記第2の形式のデータを作成するデータ作成手段、を有し、
    前記データ作成手段は、セルに対応する前記第2の形式のデータの記述にセルの位置情報又はセルの位置情報に対応づけられた情報を含ませる、ことを特徴とする請求項1に記載の情報処理装置。
  3. 前記第1の形式のデータのセルから予め定められた規則に合致するセルを特定して、セルの位置情報を記憶手段に登録するセル位置登録手段と、
    前記第2の形式のデータを第2の情報処理装置に送信する送信手段と、
    前記記述に含まれるセルの位置情報又はセルの位置情報に対応づけられた情報と共に第2の情報処理装置から送信された値を、前記記憶手段のセルの位置情報に対応づけて登録する値登録手段と、を有することを特徴とする請求項2に記載の情報処理装置。
  4. 前記第1の形式のデータは複数のセルを含む表形式のデータであり、
    前記第1の形式のデータのセルから予め定められた規則に合致するセルを特定して、セルの位置情報を記憶手段に登録するセル位置登録手段と、
    前記第1の形式のデータを受信した場合、前記記憶手段のセルの位置情報に対応づけて前記第1の形式のデータのセルに含まれる値を登録する値登録手段と、
    を有することを特徴とする請求項1〜3いずれか1項に記載の情報処理装置。
  5. 前記セル位置登録手段は、前記第1の形式のデータのセルに含まれる属性情報を、前記記憶手段のセルの位置情報に対応づけて登録し、
    前記機能追加手段は、属性情報が取得されたセルに対応する前記第2の形式のデータの記述に前記属性情報を追加することで、第2の情報処理装置が前記第2の形式のデータを画像として表示した際に前記属性情報を反映させる、ことを特徴とする請求項3記載の情報処理装置。
  6. 前記機能追加手段は、前記第2の形式のデータが画像として表示された際に、前記第1の形式のデータに入力用セルとして存在しない入力欄の追加を受け付ける前記機能を追加する、ことを特徴とする請求項1〜5いずれか1項に記載の情報処理装置。
  7. 前記機能追加手段が前記機能を追加して前記情報処理装置が第2の情報処理装置に送信した前記第2の形式のデータが第2の情報処理装置から送信された場合、前記機能を削除又は無効化して配布用の前記第2の形式のデータを作成し第2の記憶手段に記憶させるデータ登録手段、を有することを特徴とする請求項1〜6いずれか1項に記載の情報処理装置。
  8. 前記第1の形式のデータの送信要求を受け付けるデータを前記第2の情報処理装置に送信する送信手段を有し、
    前記データが前記第2の情報処理装置により画像として表示された場合、前記データは前記第1の形式のデータのドラッグ&ドロップを検出することで前記送信要求を受け付ける、ことを特徴とする請求項1に記載の情報処理装置。
  9. 複数の前記第1の形式のデータを取得した場合、
    前記データ作成手段は、複数の前記第1の形式のデータからそれぞれ複数の前記第2の形式のデータを作成して、複数の前記第2の形式のデータ間の遷移情報を作成し、
    前記第2の情報処理装置から前記第2の形式のデータへの遷移要求を取得した場合、前記遷移情報に従って、前記第1の形式のデータから変換された前記第2の形式のデータを前記第2の情報処理装置に送信することを特徴とする請求項2に記載の情報処理装置。
  10. 前記第1の形式のデータに予め定められた形式の入力欄が含まれている場合、前記機能追加手段は前記第1の形式のデータから変換された前記第2の形式のデータを作成し、
    前記第2の形式のデータに導入された機能が用いられることにより、前記第2の情報処理装置から前記入力欄と統計方法を指定する変数が含まれた前記第2の形式のデータを受信し、
    前記第2の情報処理装置から前記入力欄に対する入力値が送信された場合、前記入力値を第1テーブルに登録すると共に、前記第1テーブルに登録された複数の入力値から前記統計方法に従い統計情報を作成して第2テーブルに登録するテーブル作成手段を有し、
    前記第2の情報処理装置から前記統計情報の要求を取得した場合、複数の入力値から統計情報を作成することなく前記第2テーブルに登録された前記統計情報を前記第2の情報処理装置に送信する、ことを特徴とする請求項1に記載の情報処理装置。
  11. 前記第2の形式のデータの元になった前記第1の形式のデータに含まれるキー項目が設定された第1のテーブル及び統計用の項目が設定された第2のテーブルを作成するテーブル作成手段を有し、
    前記機能追加手段は前記第2の形式のデータに、前記第1のテーブルから取得した前記キー項目の選択欄、前記第2のテーブルから取得した前記統計用の項目の選択欄、及び、集計方法選択欄を含む統計用画面を表示させるための前記機能を追加し、
    前記第2の情報処理装置において入力された前記統計用画面の変更内容を前記統計用画面に反映させ、
    前記テーブル作成手段は、前記第2の形式のデータに対し前記第2の情報処理装置が入力を受け付けた値を取得して前記キー項目に対応づけて前記第1のテーブルに登録すると共に、前記第1のテーブルの値から統計結果を生成して前記統計用の項目に対応づけて第2のテーブルに設定し、
    前記第2の情報処理装置が別の前記第2の形式のデータに対し受け付けた前記第2の形式のデータと第2のテーブルとを紐づける紐付け情報に基づき、前記第2のテーブルから読み出した前記統計結果を前記別の前記第2の形式のデータに設定して前記第2の情報処理装置に送信する、請求項1に記載の情報処理装置。
  12. コンピュータに、第2の情報処理装置から送信された第1の形式のデータを第2の形式のデータに変換させるプログラムであって、
    前記第2の形式のデータが第2の情報処理装置で表示された際に前記第2の形式のデータに対する変更を受け付ける機能を、前記第2の形式のデータに追加する機能追加ステップ、を実行させることを特徴とするプログラム。
JP2014223799A 2014-10-31 2014-10-31 情報処理装置、プログラム Pending JP2016091244A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014223799A JP2016091244A (ja) 2014-10-31 2014-10-31 情報処理装置、プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014223799A JP2016091244A (ja) 2014-10-31 2014-10-31 情報処理装置、プログラム

Publications (1)

Publication Number Publication Date
JP2016091244A true JP2016091244A (ja) 2016-05-23

Family

ID=56019650

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014223799A Pending JP2016091244A (ja) 2014-10-31 2014-10-31 情報処理装置、プログラム

Country Status (1)

Country Link
JP (1) JP2016091244A (ja)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018005445A (ja) * 2016-06-30 2018-01-11 キヤノンマーケティングジャパン株式会社 情報処理装置、情報処理装置の制御方法、およびプログラム
JP2018010616A (ja) * 2016-06-30 2018-01-18 キヤノンマーケティングジャパン株式会社 情報処理装置とその処理方法及びプログラム
JP2019091383A (ja) * 2017-11-17 2019-06-13 株式会社オービックビジネスコンサルタント 入力画面生成装置、入力画面生成方法、及びプログラム
JP2019133661A (ja) * 2018-02-01 2019-08-08 株式会社リコー ガイドされるウェブアプリケーション作成
JP2020504889A (ja) * 2016-12-03 2020-02-13 スタフラ,トーマス スプレッドシートに基づくソフトウェアアプリケーション開発
JP2021505998A (ja) * 2017-12-03 2021-02-18 スタフラ,トーマス スプレッドシートに基づくソフトウェアアプリケーションの開発
US11113041B2 (en) 2016-12-03 2021-09-07 Thomas STACHURA Spreadsheet-based software application development
JP2023069121A (ja) * 2021-11-05 2023-05-18 シーライヴ株式会社 スケジューリングシステム、スケジューリングプログラム及びスケジューリング方法
US11726753B2 (en) 2016-12-03 2023-08-15 Thomas STACHURA Spreadsheet-based software application development
JP7492299B1 (ja) 2023-12-20 2024-05-29 ファクトマーケティング株式会社 フォーム生成システム、フォーム生成方法及びフォーム生成プログラム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001306509A (ja) * 2000-04-24 2001-11-02 Kiyotaka Matsui データ入力方法、
JP2012146008A (ja) * 2011-01-07 2012-08-02 Techno Tsurii:Kk チェックシート登録システム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001306509A (ja) * 2000-04-24 2001-11-02 Kiyotaka Matsui データ入力方法、
JP2012146008A (ja) * 2011-01-07 2012-08-02 Techno Tsurii:Kk チェックシート登録システム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
""Excelファイルをドラッグ&ドロップするだけでWebデータベースが開発できる「Wagby」最新版", MARKEZINE, JPN6018037438, 16 May 2007 (2007-05-16) *

Cited By (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018005445A (ja) * 2016-06-30 2018-01-11 キヤノンマーケティングジャパン株式会社 情報処理装置、情報処理装置の制御方法、およびプログラム
JP2018010616A (ja) * 2016-06-30 2018-01-18 キヤノンマーケティングジャパン株式会社 情報処理装置とその処理方法及びプログラム
JP2018028948A (ja) * 2016-06-30 2018-02-22 キヤノンマーケティングジャパン株式会社 情報処理装置とその処理方法及びプログラム
US11113041B2 (en) 2016-12-03 2021-09-07 Thomas STACHURA Spreadsheet-based software application development
US11726753B2 (en) 2016-12-03 2023-08-15 Thomas STACHURA Spreadsheet-based software application development
JP2020504889A (ja) * 2016-12-03 2020-02-13 スタフラ,トーマス スプレッドシートに基づくソフトウェアアプリケーション開発
EP4343613A3 (en) * 2016-12-03 2024-06-05 Thomas Stachura Spreadsheet-based software application development
US10877736B2 (en) 2016-12-03 2020-12-29 Thomas STACHURA Spreadsheet-based software application development
JP7460689B2 (ja) 2016-12-03 2024-04-02 スタフラ,トーマス スプレッドシートに基づくソフトウェアアプリケーション開発
JP2021028828A (ja) * 2016-12-03 2021-02-25 スタフラ,トーマス スプレッドシートに基づくソフトウェアアプリケーション開発
JP7093387B2 (ja) 2016-12-03 2022-06-29 スタフラ,トーマス スプレッドシートに基づくソフトウェアアプリケーション開発
JP2022130503A (ja) * 2016-12-03 2022-09-06 スタフラ,トーマス スプレッドシートに基づくソフトウェアアプリケーション開発
US11442707B2 (en) 2016-12-03 2022-09-13 Thomas STACHURA Spreadsheet-based software application development
US11893366B2 (en) 2016-12-03 2024-02-06 Thomas STACHURA Spreadsheet-based software application development
JP2019091383A (ja) * 2017-11-17 2019-06-13 株式会社オービックビジネスコンサルタント 入力画面生成装置、入力画面生成方法、及びプログラム
JP2021505998A (ja) * 2017-12-03 2021-02-18 スタフラ,トーマス スプレッドシートに基づくソフトウェアアプリケーションの開発
JP7153725B2 (ja) 2017-12-03 2022-10-14 スタフラ,トーマス スプレッドシートに基づくソフトウェアアプリケーションの開発
JP7222364B2 (ja) 2018-02-01 2023-02-15 株式会社リコー ガイドされるウェブアプリケーション作成
JP2019133661A (ja) * 2018-02-01 2019-08-08 株式会社リコー ガイドされるウェブアプリケーション作成
JP2020064679A (ja) * 2018-02-01 2020-04-23 株式会社リコー ガイドされるウェブアプリケーション作成
JP2023069121A (ja) * 2021-11-05 2023-05-18 シーライヴ株式会社 スケジューリングシステム、スケジューリングプログラム及びスケジューリング方法
JP7324260B2 (ja) 2021-11-05 2023-08-09 シーライヴ株式会社 スケジューリングシステム、スケジューリングプログラム及びスケジューリング方法
JP7492299B1 (ja) 2023-12-20 2024-05-29 ファクトマーケティング株式会社 フォーム生成システム、フォーム生成方法及びフォーム生成プログラム

Similar Documents

Publication Publication Date Title
JP2016091244A (ja) 情報処理装置、プログラム
US20230236805A1 (en) Systems and Methods for Development and Deployment of Software Platforms Having Advanced Workflow and Event Processing Components
US8667410B2 (en) Method, system and computer program product for transmitting data from a document application to a data application
US8065267B2 (en) Information processing device, file data merging method, file naming method, and file data output method
US11017052B1 (en) Electronic forms interaction framework for a consistent user experience
KR101569984B1 (ko) 웹 스크래핑 추출 데이터 설정 방법
US20090049375A1 (en) Selective processing of information from a digital copy of a document for data entry
GB2503550A (en) Formatting a document using a reformat preview
US10803233B2 (en) Method and system of extracting structured data from a document
JP5702342B2 (ja) レシート定義データ作成装置およびプログラム
US20220229973A1 (en) Interactive tool for modifying an automatically generated electronic form
US20170154022A1 (en) Information processing apparatus, method for controlling the same, and storage medium
JP2007108889A (ja) 知的財産管理システム、知的財産管理方法およびプログラム
JP4959501B2 (ja) 情報処理装置、情報処理方法、およびプログラム
KR20220058259A (ko) 논문의 메타데이터 추출 방법 및 장치
JP5064791B2 (ja) 帳票データ検索装置、帳票データ検索方法及びプログラム
JP6951207B2 (ja) 入力画面生成装置、入力画面生成方法、及びプログラム
JP6897303B2 (ja) 文書変換プログラム、文書変換方法および文書変換装置
JP2014164548A (ja) 情報処理システム
TWM491194U (zh) 資料校對平台伺服器
JP2006221616A (ja) 情報処理装置ならびにファイルデータマージ方法およびファイル名称付与方法
US20170286378A1 (en) Inserting text and graphics using hand markup
JP5579086B2 (ja) チェックシート登録システム
US20190012400A1 (en) Information processing apparatus and non-transitory computer readable medium
JP7492671B2 (ja) 電子帳票編集装置、方法、及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170920

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180918

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181002

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20190326