【Google Sheets】進階技巧:利用Google Script將Google試算表變成簡易資料庫

|本文圖片與內容均由《梅問題教學網》授權行銷人轉載、編輯,原文出處


自從使用Google表單,串接線上金流服務後,立即就可打造出一頁式含金流的銷售頁,而透過Google表單不但大幅的降低一些技術上的門檻外,還能輕鬆的管理訂單與付款狀況,更重要的是也省去主機管理維護與個資外洩的問題,同時使用上更加的靈活。

而Google表單的內容,其實是存放在 Google Sheets(試算表)中,因此可以將Google表單想像成一個輸入界面,Google試算表則是資料庫的概念,藉由表單來將資料寫入Google試算表中。

既然Googlei試算表是資料庫的概念,那能否直接透過Google試算表,就能直接存取,不要再經由Google表單?
其實是可以,只要在Google試算表中,加入一點Google Script,就能做到新增、查詢與更新。接下來我們將分享,如何透過Google Script新增資料到Google試算表中。

步驟1:首先,開啟Google Sheets(試算表),再將所需的欄位建立好。

步驟2:選「工具 / 指令碼編輯器」選項。

步驟3:進入Google Script後,先設定一下專案名稱。

步驟4:這只是檔案名稱,因此可輸中文沒關係。

步驟5:接著將下方的程式碼,整個貼上後,再輸入相對應的欄位,與表單ID和頁籤名稱。

function doPost(e) { //設定相應的欄位參數 var params = e.parameter; //這一個不要動 var time = params.order_time; var no = params.order_no; var pay = params.order_pay; var name = params.order_name; var phone = params.order_phone; var email = params.order_email; var address = params.order_address; var invoice = params.order_invoice; var ps = params.order_ps; //設定sheet資訊 var SpreadSheet = SpreadsheetApp.openById("試算表ID"); var Sheet = SpreadSheet.getSheetByName("頁籤名稱"); var LastRow = Sheet.getLastRow(); //資料寫入對應欄位中 Sheet.getRange(LastRow+1, 1).setValue(time); Sheet.getRange(LastRow+1, 2).setValue(no); Sheet.getRange(LastRow+1, 3).setValue(pay); Sheet.getRange(LastRow+1, 4).setValue(name); Sheet.getRange(LastRow+1, 5).setValue(phone); Sheet.getRange(LastRow+1, 6).setValue(email); Sheet.getRange(LastRow+1, 7).setValue(address); Sheet.getRange(LastRow+1, 8).setValue(invoice); Sheet.getRange(LastRow+1, 9).setValue(ps); //當資料寫入完成後,回傳資訊 return ContentService.createTextOutput("成功"); }

語法說明:

1.doPost代表 API method 爲 post形式
2.利用 e.parameter,來分別設定每個試算表中的欄位
3.Sheet.getRange(LastRow+1, 1).setValue(order_time);這代表第一欄第一列為時間戳記,依此類推。

步驟6:都弄好後,再點選「發布 / 部署為網路應用程式」選項。

步驟7:接著將權限,設為任何人與匿名使用者。

步驟8:再點選「核對權限」鈕。

步驟9:選擇Google帳號。

步驟10:由於目前該程式,沒有經過Google驗證,由於是自用沒啥影響,再點左下的「進階」。

步驟11:再點「前往xxx(不安全)」

步驟12:再點允許

步驟13:這樣就已將剛的程式碼發布完成了,同時下方的URL就是API呼叫的網址。

步驟14:接著進到W3school TIY的平台中,來測試一下,而梅干是使用ajax方式,將資料以透過剛的API網址,將值送進去。

Ajax call API 新增資料

<script src="//code.jquery.com/jquery-3.4.1.js" integrity="sha256-WpOohJOqMqqyKL9FccASB9O0KwACQJpFTUBLTYOVvVU=" crossorigin="anonymous"></script> <script> $.ajax({ type: "post", url: "剛剛取得的 API URL", data: { "order_time": $("input[name=time]").val(), "order_no": $("input[name=no]").val(), "order_pay": $("input[name=pay]").val(), "order_name": $("input[name=name]").val(), "order_phone":$("input[name=phone]").val(), "order_email":$("input[name=email]").val(), "order_address":$("input[name=address]").val(), "order_invoice":$("select[name=invoice]").val(), "order_ps":$("input[name=ps]").val() }, success: function(response) { if(response == "成功"){ alert("成功::::"+no); } } }); } </script>


步驟15:都好了之後,再按上方的「執行代碼」,當資料寫入成功時,則會出現成功的訊息。

步驟16:接著再到Google試算表來檢查一下,哈~資料果真成功的寫入啦!竟然資料可寫入,當然也可讀取囉!下回再與大家分享,如何讀取試算表中的資料吧!

作者簡介-梅問題:

梅問題教學網中,每篇文章都是以梅干自身工作經驗,或周遭朋友提出的各式疑難雜症,將解決的辦法Step By Step以圖文的方式,將它編輯紀錄成一篇篇的文章,讓希望有遇到此問題的朋友,跟著梅干的腳步能從中尋找到解決的辦法,讓工作能順利完成,準時下班。
#梅問題教學網
https://www.minwt.com
#加入梅粉絲團
https://www.facebook.com/minwtfans/
#Telegram頻道
https://t.me/minwt
#Youtube梅頻道
https://www.youtube.com/c/minwto

更多行銷人報導
【Google Sheets】別再複製貼上了!教你如何同步多個Google試算表資料
【Google Sheets】共同編輯Google試算表,擔心出錯?自動警告機制教學

這篇文章 【Google Sheets】進階技巧:利用Google Script將Google試算表變成簡易資料庫 最早出現於 行銷人