今天主要是來補足 Day11 和 Day12 簡(ㄏㄨㄚˊ)約(ㄕㄨㄟˇ)的部分。
我們會講兩個東西:
Range.getValues()
會抓到什麼東西。
Sheet.getDataRange()
又得到什麼樣的資料。
這兩個算是在試算表中非常好用的東西,所以要專心的看喔~
我們來看到 Range.getValues()
這個東西。
為什麼前綴飾用 Range
,因為他是一個 GAS 中自訂的一個物件 Range
下的一個方法,所以我在這前面都會寫上物件名稱以方便你們查閱 Docs 喔~
我們到 Docs 中找到 Range
物件的 Methods 部分 (註一):
我們可以看到他 return 一個二維陣列,把該 Range
中的所有資料都拿出來。
光說不練不是寫程式的重點,就讓我們開一個新的表單加上試算表來看看:
然後設定一下提交表單時的自動化執行:
接著提交一份表單:
最後切回執行結果來看一下吐出什麼鬼東西:
不知道大家有沒有注意到 [[ data ]]
這樣的部分,每一組 []
就是一個陣列,而陣列裡面包陣列,那就是二維陣列囉~
我們再來看到 Sheet.getDataRange()
這個部分。
從 Methods 名稱就可以發現他就是把目前在這個 Sheet
中的東西拿出來。
在實作前我們先看到 Docs 得部分(註二):
從 Docs 中可以得知,這一個方法會 return 一個 Range
物件,其中包含從儲存格 A1 到儲存格 ( Sheet.getLastColumn(), Sheet.getLastRow())
的範圍。
多說不如實作,我們用剛剛的表單繼續操作,新增一個 GetData()
的函式:
這邊我們可以直接按下「執行」來執行程式,但是要記得切換成 GetData
喔!
然後可以在下方看到結果:
耶?為什麼沒有東西?
阿~原來是因為 Sheet.getDataRange()
得到的是一個 Range
物件,要看到結果需要把他的 Values
都拿出來。
看到這知道我要做什麼了嗎?
沒錯,我要在後面加入 getValues()
這個 Range
物件的方法:
然後就來執行結果:
我們會發現 getDataRange()
這個 Sheet
物件的方法會把「所有在 Sheet
中的資料通通拿出來」。
所以就包含標題都會被拿出來,因此在做資料處理的時候,記得要去掉第一組資料喔!
今天的講解就到這裡囉!
最近行政真的比較忙,不管是什麼樣的公文,只要是跟「資訊」這個詞扯上邊的,通通都分文到我這邊來…快累死我了…
所以後面的文章會小小的簡約輕巧,但是一樣會讓你一步步地跟我一起快樂看 Google Apps Script 喔!
「蝦!好隨興阿!」沒錯,我這個人,就是隨興!
明天見囉!掰掰!
Tailwind CSS 臺灣 (臉書粉絲專頁)
兔兔教 × Tailwind CSS Taiwan (臉書社群)
我:最近才發生一件事情,在電話中被其他科的老師飆罵:我的年資比你的年紀還要大。關於這點,大家可以不用生氣,我覺得只是那個老師情緒激動後的言語。唯一一點疑惑的是:阿既然年紀這麼大了,幹嘛不退休……(其實我還是有走心的)。哀算了算了,就當作是一種歷練吧!