資料寫入試算表網址:SheetInsert

以 Google Apps Script 將資料寫入試算表

appendRow("欄位1", "欄位2", "欄位3", ...) 寫入一筆資料

語法1SpreadsheetApp.getActiveSheet().appendRow(["欄位一","欄位二","欄位三",...]); 

範例1:

function myFunction() {

  //添加第一列欄位名稱

  SpreadsheetApp.getActiveSheet().appendRow(["班級","座號","姓名"]);

}

語法2SpreadsheetApp.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程式完整截圖