先看下列文章:
- 利用Google問卷(試算表)當小型資料庫 -更新版- 存取資料庫 (看看以這個試算表寫出來的這個實驗例子(jsfiddle) (jsbin)) (附帶一提, 可整合"Google表單自動寄信給填表人"這樣的技術)
在繼續看下去之前,或許你已經想要在Google雲端硬碟上建立一個試算表並照著這些範例來測試看看是否可執行,但結果會令你失望,竟然這些範例是無法正確讀出你的試算表內容!你會發現在2014年之後的新版Google雲端硬碟建立新試算表時,在”發佈到網路上”根本沒有可發佈成為RSS的選項,這樣我們就無法照著前述範例寫程式來讀取該試算表的內容。可是,我們再看看既有已存在的試算表檔案仍保有這樣的選項,意思就是說舊有的試算表檔案是可以用前述範例的程式來讀取其內容的。這可奇怪了,也造成國外一堆人在網路上問這個問題(例如這個、這個、這個...等),但又沒有人可以提供真正可解決的方法。
前述的實驗例子,若要將讀取自Google試算表的資料存在陣列裡面,應該要準備一個二維陣列來存放這個試算表資料,然而因為JavaScript沒有真正的二維陣列可用,必須以下列方式變出一個動態產生的二維陣列。此種設計的邏輯概念於課堂上再詳加解釋,而基於上述概念來
function Create2DArray(rows) {
var arr = [];
for (var i=0 ; i<rows ; i++ ) { arr[i] = []; }
return arr;
}
var arr = Create2DArray(100);
arr[50][2] = 5;
arr[70][5] = 7454;
// ...
var arr = [];
for (var i=0 ; i<rows ; i++ ) { arr[i] = []; }
return arr;
}
var arr = Create2DArray(100);
arr[50][2] = 5;
arr[70][5] = 7454;
// ...
不過,如果不想自己寫程式解析Google試算表的JSON格式資料,另外更方便的是使用Tabletop.JS套件來做。
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
至於要將資料上傳至Google表單,要自己先在網頁上安排能讓使用者輸入資料的表單,所以要先懂HTML表單語法 (而要有更適合手機輸入的表單則可以改成用jQuery Mobile表單語法),那就可以寫成這個例子(jsfiddle) (jsbin)。不過,另一個版本(jsfiddle) (jsbin)的寫法更佳(使用jQuery語法)。
最後的例子,程式中需要Google表單的各欄位entry.######編號,而這部分可以透過「取得預先填入的連結」功能查得需要的參數。