:Excel使用をそのままに、本格クラウド利用を実現する。克行Tweet本連載も今回が最終回となりますが、今回は次の2種類の処理について見ていきます。Drive側から読み取りDrive上のスプレッドシートに書き込み再現する処理です(図1内の1)。1つは前回までに紹介した処理の流れの自動化です。Engineから読み取ってDatastoreに書き込みますが、この処理を自動化して、人手を介さずに時間・期日などの指定でシステムが自動的に行うようにします(図1内の2)。画面処理と表示の流れ最初はDatastoreにあるスプレッドデータをDrive上のスプレッドシートに書き込む処理の流れです。Engineからデータを読み取る前のスプレッド画面で、金額を表示するセル項目はすべてゼロクリアされています。値が入っている場合は画面下の「値クリア」をクリックすれば、金額エリアは総てゼロクリアされます。Engineからのスプレッドデータ読み取りです。Engineからスプレッドデータ金額データがセル上に表示されます(図3)。ここでスプレッドシートに「Datastore参照」などのボタンを表示する方法や、この後紹介するJavaScript関数を定義する手順などについては、連載の第2回で解説していますので、そちらを参照して下さい。EngineのDatastoreに書き込まれたデータをDrive上のスプレッドシートに読み込んで表示しています。この処理によって、データのないスプレッドシート1枚をDrive上に置いておけば、データが必要な年月を指定してスプレッドデータを再現できるようになります。そのスプレッドは前に見たように簡単にExcelデータに変換することもできます。Driveではフォルダやファイル単位でアクセスできるユーザーを指定できますが、それでも設定ミスなどによる情報漏洩などのトラブルが目につきます。ここで紹介したようにDatastoreに書き込まれたデータからスプレッド表示を再現するようにすれば、Drive上にはデータセルがゼロクリアのスプレッドシートを置いておくだけでよく、また読み込み時にパスワード指定もできるので安全です。データ種類毎に読み込み用ファイルを1つだけ置いておけばよいので、ファイル管理も容易で効率的になります。Engineのデータをスプレッド表示する場合はURLFetchを使用します。Engineからのレスポンスを受け取ります。Engineからのデータ取得を実行します。(1)getActiveSheet()はスプレッドシート内のアクティブなシートを取得するメソッドです。アクティブなシートとは複数のワークシートの内一番上に見えているシートです。(2)図3の検索では1列17行に検索対象の年月が201305と入力されています。1)ではこのセルを指定しgetValue()で年月の値を取得しています。Engine側でアクセスするビーンズのメソッド名を指定し、sheetでYYYYMM書式のシート名を指定しています。ここで年月指定は全て数値で、型指定のないJavaScriptでは整数型とみなされるため、先頭に「""」を追加して文字列型に変換しています。(4)は(5)のURLFetch実行で指定するオプション項目で、POSTメソッドでのアクセスと(3)のpayloadを指定しています。(5)以上の準備後、fetchメソッドでアクセスを実行します。サーブレット(com.google.gdata.SpreadServlet)をPOSTメソッドでアクセスします。POSTで送信されるデータは(3)のpayloadで指定した内容です。JavaScriptオブジェクトに変換し変数rにセットして表示処理で使用します。表示処理では、固定表示部分を(7)、(8)で配列にセットした後、(9)からのfor文ネスト処理で表示処理を行います。スプレッドシートのデータセルをゼロクリアする図2で「値クリア」ボタンをクリックするとリスト1のclearcell関数が呼び出されます。clearcell関数では(10)で表示されているアクティブシートを選択し、for文のネストでクリア対象のセルを選択しながら(11)のsetValue()メソッドに引数ゼロ(0)を指定してクリア処理を実行します。IBM、日本HPなどにおいて、製造装置業を中心とした業務系/基幹業務系システムのSE/マーケティングや、3階層C/Sアーキテクチャによる社内業務システム開発などに携わる。ITでは、より付加価値の高いコンテンツを会員サービスとして提供しています。ITのWebサイトにログインすることでさまざまな限定特典を入手できるようになります。Americaサンディエゴで開催。VeloCloudが選ばれる理由SD-WANとはなにか。Linuxエンジニア育成への思いF5とNGINXの組み合わせで、サービス公開をよりセキュアに。ITがお届けするポッドキャストです。