Skip to content

Instantly share code, notes, and snippets.

@annaliahsiao
Last active March 18, 2020 18:25
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save annaliahsiao/3665146af56c3e0be8cbc497ab102268 to your computer and use it in GitHub Desktop.
Save annaliahsiao/3665146af56c3e0be8cbc497ab102268 to your computer and use it in GitHub Desktop.
將Google試算表當成線上資料庫
/*-----------------google試算表程式碼區-----------------*/
function doGet(e) {
var callback = e.parameter.callback;
var returnObject = getDate();
return ContentService.createTextOutput(callback+'('+ JSON.stringify(returnObject)+')').setMimeType(ContentService.MimeType.JAVASCRIPT);
}
function getDate(){
var ss = SpreadsheetApp.getActiveSpreadsheet();
var rtjs = [];
for (var k = 0; k < ss.getSheets().length; k++) {
var sheetArry = {};
var sheetArrys = [];
var sheet = ss.getSheets()[k];
var range = sheet.getDataRange();
var values = range.getValues();
for (var i = 1; i < values.length; i++) {
var row = {};
for (var j = 0; j < values[i].length; j++) {
if (values[i][j]) {
row[values[0][j]] = values[i][j];
}
if(j == values[i].length-1){
sheetArrys.push(row);
}
}
if(i == values.length-1){
sheetArry[sheet.getName()] = sheetArrys;
rtjs.push(sheetArry);
}
}
if(k == ss.getSheets().length-1){
return rtjs;
}
}
}
/*-----------------google試算表程式碼區 END-----------------*/
/*-----------------本地端的JS程式碼區 get google excel store data-----------------*/
function getXlsxData() {
var xlsxUrl = 'google連結網表單產生之網址', //將複製的Google試算表產生之連結網址覆蓋在此
storeList = '';
var xlsxData = $.getJSON(xlsxUrl + "?&callback=?", function(data) {
$.each(data[0].store, function(i, el){ //data[0].store是Google試算表下方的工作表,命名一定要是英文,data[0].store的store就是工作表的名子,可以自己改想要的名稱
});
});
}
/*-----------------本地端的JS程式碼區 get google excel store data END-----------------*/
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment