資料寫入試算表網址:SheetInsert
以 Google Apps Script 將資料寫入試算表
appendRow("欄位1", "欄位2", "欄位3", ...) 寫入一筆資料
語法1:SpreadsheetApp.getActiveSheet().appendRow(["欄位一","欄位二","欄位三",...]);
範例1:
function myFunction() {
//添加第一列欄位名稱
SpreadsheetApp.getActiveSheet().appendRow(["班級","座號","姓名"]);
}
語法2:SpreadsheetApp.getActiveSpreadsheet().appendRow(["欄位一","欄位二","欄位三",...]);
範例2:
function myFunction() {
//添加第一列欄位名稱
SpreadsheetApp.getActiveSpreadsheet().appendRow(["班級","座號","姓名"]);
}
步驟:
一、新增應用程式「Google Apps Script」。
二、建立一個試算表: A1-試算表寫入。(工作表:sheet1,共用→一般存取權→知道連結的任何人(檢視))
三、試算表→擴充功能→Apps Script,建立新專案,名稱writeSheet。
四、撰寫debug(),執行主程式。
function debug() {
var date = new Date();
var now = date.getHours() + ':' + date.getMinutes() + ':' + date.getSeconds(); //現在時間
var url = "https://docs.google.com/spreadsheets/d/試算表ID/edit?usp=sharing"; //試算表網址
var sheet = "sheet1"; //工作表
//參數以物件形式傳給doGet裡的e。
doGet(
{
parameter:{
data: now+",學號,姓名", //分隔字元為逗號
sheetUrl: url,
//sheetID: id,
sheetTag: sheet
}
}
);
}
四、撰寫doGet(e),參數屬性對應至試算表欄位。
function doGet(e) { //e接收來自debug()的參數
var params = e.parameter;
var data = params.data;
var sheetUrl = params.sheetUrl;
//var sheetID = params.sheetID;
var sheetTag = params.sheetTag;
var SpreadSheet = SpreadsheetApp.openByUrl(sheetUrl); //使用openByUrl
var Sheet = SpreadSheet.getSheetByName(sheetTag);
Sheet.insertRowBefore(1);//插入第一行空白
//寫入資料
data = data.split(','); //分隔字元為逗號
data.forEach(function(e,i){
Sheet.getRange(1, i+1).setValue(e);
});
return ContentService.createTextOutput(true);
}
參考文獻:https://tutorials.webduino.io/zh-tw/docs/socket/useful/google-sheet-1.html
https://developers.google.com/apps-script/guides/web?hl=zh-tw#url_parameters
2023/2/5 Modify by Allen
Apps Script程式完整截圖