これは面白い使い方! Google Driveの中でスプレッドシートを便利に使っている人は多いのではないかと思います。Mac OSXでNumberを使うよりもWebベースで使える点においてスプレッドシートのが良いと考えるのではないでしょうか。 しかしせっかくWebベースであってもそのデータの活用がGoogleドライブ上だけにあっては勿体ないと言わざるを得ません。そこで使ってみたいのがTabletop.js、GoogleスプレッドシートをJavaScriptに変換してしまうソフトウェアです。

トップページです。スプレッドシートが並んでいます。

例えばこんな感じにスプレッドシートが表示できます。これは筆者が作ったものではありません。つまり公開しているスプレッドシートでないと使えません。

そしてTabletop.jsが読み込んでいます。その結果、JSONとしてデータが読み込めるようになります。

使い方はスプレッドシートのキーを与える程度です。

function init() {
  Tabletop.init( { key: '0AmYzu_s7QHsmdDNZUzRlYldnWTZCLXdrMXlYQzVxSFE',
                   callback: function(data, tabletop) { console.log(data) },
                   simpleSheet: true } )
}

その結果、次のようなリストでデータが受け取れます。

[ { name: "Carrot", category: "Vegetable", healthiness: "Adequate" }, 
  { name: "Pork Shoulder", category: "Meat", healthiness: "Questionable" }, 
  { name: "Bubblegum", category: "Candy", healthiness: "Super High"} ]

Tabletop.jsはスプレッドシートにアクセスし、リアルタイムに変換処理を行います。しかしこれは公開されているスプレッドシートであったとしても、セッションが切れているとログインが求められてしまうそうです。Tabletop.jsの作者はFlatwareというサービスを通じてスプレッドシートのデータをキャッシュすることで解決しているとのことです。 スプレッドシートのデータを更新すれば表示も変わったりするとすれば面白い使い方になりそうですね。 Tabletop.jsはJavaScript製のオープンソース・ソフトウェア(MIT License)です。 Flatware: Eat up your spreadsheets jsoma/tabletop