10-2
Google Apps Script 存取工作表
Google Workspace 所有產品之API:https://developers.google.com/workspace
一、程式架構
- 程式:SpreadsheetApp
- 試算表檔案:openById()、getActiveSpreadsheet()
- 試算表中的工作表:getSheetByName()
- 工作表中範圍:getRange()
- 設定儲存格的值:setValue()
二、註解
- ctrl+/
- /**
三、試算表寫入
- API: SpreadsheetApp
- 取得試算表:getActiveSpreadsheet()
- 取得工作表:getSheetByName()
- 取得儲存格:getRange()
- 寫值:setValue()
四、寫入單一儲存格
- Google Spreadsheet的列編號由1開始,欄編號也是由1開始(許多程式是由0開始)
- 所以A欄 即 1 、B欄 即 2........
- 程式第一次執行時,會根據程式所用的APP,執行授權動作,這是制式選擇,若不授權則程式無法使用
- 授權動作 => 選擇自己的「EMAIL 帳號」=> 「進階」=> 「前往xxx(不安全)」=> 「允許」,這個動作可以讓指定的訪客用自己的「EMAIL 帳號」,執行程式
function myFunction() {
// console.log('Hello workd');
/**
*
*/
let ss = SpreadsheetApp.getActiveSpreadsheet();
let ws = ss.getSheetByName('工作表1');
let range = ws.getRange(1,1);
range.setValue('姓名');
}
- 取得 試算表
若GAS是由 SpreadsheetApp 產生,即可用 getActiveSpreadsheet() 取得 試算表
取得 試算表後,可用 getId() 取得 ID
SpreadsheetApp.openById('ID')、SpreadsheetApp.openByUrl('URL') 也可以 取得試算表
let ss = SpreadsheetApp.getActiveSpreadsheet();
- 取得 工作表
let ws = ss.ggetSheetByName('工作表名稱');
- 取得工作表範圍
let range = ws.getRange(rowIndex, colIndex);//(列指標,欄指標)
- 寫入儲存格
range.setValue(value);
range.setNumberFormat('@').setValue(value);//將儲存格 數字型態 格式化為 「文字」
- 好了,目前已可以寫入一個儲存格,我們在網站部署了一個表單,它是根據 stru 這個陣列,來建立表單元件
- 首先我們可以指定,接收資料後要寫入那個工作表
- 工作表的第一列,一般是 標題 => 請根據 stru 將 標題寫入工作表
- 接收每次請求後,將資料寫入工作表(每次一筆)
- ws.getLastRow():工作表最後的列指標
- ws.getLastColumn():工作表最後欄指標