App Inventor 使用最新試算表元件 Spreadsheet_Part 3
App Inventor,  Google

App Inventor 使用最新試算表元件 Spreadsheet_Part 3

今天要來介紹 Spreadsheet 各個方法的功能;因為共有十幾個方法以及觸發的事件,所以整體教學會比較冗長,我會在下方建立一個快速連結,並寫上功能簡介,如果不想完整看完教學,那就直接挑你想看的功能就好;教學文章不會一次打完,因為我時間不多,所以會慢慢更新!

想直接試完整功能可參考官方教學

點我前往

P.S. 以下幾點可以先記著,在使用元件的方法時,比較不會亂掉。
col 是我們試算表的直欄,例如:A 欄、B 欄…… 等等;不過在使用方法時也是帶入數字。
row 是我們試算表的橫列。
CellReference 是指單一儲存格,例如:A1、B1…… 等等
RangeReference 是指範圍儲存格,例如:A1:C3、B2:E5…… 等等



快速連結:


讀取:

讀取單一儲存格資料

讀取直欄儲存格資料

讀取範圍儲存格資料

讀取橫列儲存格資料

讀取試算表所有資料

讀取篩選的資料

取得儲存格字串


新增 / 覆寫:

將資料新增在直欄

將資料新增在橫列

單一儲存格 寫入/覆蓋

試算表直欄 寫入/覆蓋

試算表指定範圍 寫入/覆蓋

試算表橫列 寫入/覆蓋


刪除:

試算表指定範圍刪除

試算表直欄刪除

試算表橫列刪除





讀取

讀取單一儲存格資料:

使用方法:ReadCell

使用此方法需要代入兩個參數,sheetName 和 cellReference。
第一個參數是我們試算表裡的工作表的名稱
第二個參數則是我們想要讀取的儲存格內容,可用字串或是使用 GetCellReference 方法。

使用此方法後會觸發 GotCellData 事件,此事件的變數 cellData 就是我們要讀取的儲存格的內容。

要讀取我試算表的 Test 工作表的 C3 儲存格的內容




讀取直欄儲存格資料:

使用方法:ReadCol

使用此方法需要代入兩個參數,sheetName 和 colNumber。
第一個參數是我們試算表裡的工作表的名稱
第二個參數則是我們想要讀取的直欄的儲存格內容,若要讀取 A 欄,則輸入數字 1、B 欄 輸入數字 2…… 以此類推。

使用此方法後會觸發 GotColData 事件,此事件的變數 colDataList 就是我們要讀取的內容,為清單格式。




讀取範圍儲存格資料:

使用方法:ReadRange

使用此方法需要代入兩個參數,sheetName 和 rangeReference。
第一個參數是我們試算表裡的工作表的名稱
第二個參數則是我們想要讀取的範圍儲存格內容,若要讀取 B1 到 C4 的儲存格資料,那就填入字串「B1:C4」;
也可使用 GetRangeReference 方法,取得上述字串;此方法要填入數字。

使用此方法後會觸發 GotRangeData 事件,此事件的變數 rangeData 就是我們要讀取的內容。




讀取橫列儲存格資料:

使用方法:ReadRow

使用此方法需要代入兩個參數,sheetName 和 rowNumber。
第一個參數是我們試算表裡的工作表的名稱
第二個參數則是我們想要讀取的橫列儲存格內容,若要讀取第 3 列的資料,就填入數字 3。

使用此方法後會觸發 GotRowData 事件,此事件的變數 rowDataList 就是我們要讀取的內容,為清單格式。




讀取試算表所有資料:

使用方法:ReadSheet

使用此方法需要代入一個參數,sheetName。
第一個參數是我們試算表裡的工作表的名稱

P.S. 如果沒有設定 CredentialsJson,那麼 sheetName 只要用預設的,就可以讀取到資料了!
Part 1 教學有提到

使用此方法後會觸發 GotSheetData 事件,此事件的變數 sheetData 就是我們要讀取的內容。




讀取篩選的資料:

使用方法:ReadWithExactFilter 和 ReadWithPartialFilter

兩個方法都是篩選資料,差別在於其中一個所填入的值要完全符合才顯示資料、另一種則是只要有我們填入的值,即使不是完全符合也讀出資料。

就像下 SQL 語法「select B, C, D where B = “value”」和「select B, C, D where B like “%value%”」的差別

可參考文章「App Inventor 快速篩選想讀取的資料」

使用此方法需要代入三個參數,sheetName、colID、value。
第一個參數是我們試算表裡的工作表的名稱
第二個參數是填入數字來選擇直欄,例如我要選擇 B 欄位,那就填入數字 2。
第三個參數是我們要篩選取出的資料的值

那麼到底要怎麼用呢?
Ans:假如我要搜尋 James 的所有資料,因為 James 這個值在我試算表的 B 欄位裡,所以就在 colID 填入 2、value 填入字串 James。

使用此方法後會觸發 GotFilterResult 事件,此事件的變數 return_rows 和 return_data 分別是,告訴我們讀取到的資料在試算表的哪幾列,和我們想讀取的資料內容。
兩個變數都是清單格式

ReadWithExactFilter 方法:

須完全符合我們填入的值

ReadWithPartialFilter 方法:

只要部分符合我們填入的值




取得儲存格字串:

使用方法:GetCellReference 和 GetRangeReference

使用此方法分別需要代入 二個 / 四個 參數,row、col。
第一個參數是橫列的數字
第二個參數是直欄的數字

兩個方法都會直接回傳值。
回傳的值為字串格式





新增 / 覆寫

將資料新增在直欄:

使用方法:AddCol

使用此方法需要代入兩個參數,sheetName 和 data。
第一個參數是我們試算表裡的工作表的名稱
第二個參數則是我們想要新增到試算表的內容,使用清單格式。

使用此方法後會觸發 FinishedAddCol 事件,此事件的變數 columnNumber 會告訴我們新增的資料在試算表的哪一個直欄。




將資料新增在橫列:

使用方法:AddRow

使用此方法需要代入兩個參數,sheetName 和 data。
第一個參數是我們試算表裡的工作表的名稱
第二個參數則是我們想要新增到試算表的內容,使用清單格式。

使用此方法後會觸發 FinishedAddRow 事件,此事件的變數 rowNumber 會告訴我們新增的資料在試算表的哪一個橫列。




單一儲存格 寫入/覆蓋:

使用方法:WriteCell

使用此方法需要代入三個參數,sheetName、cellReference 和 data。
第一個參數是我們試算表裡的工作表的名稱
第二個參數是我們想要新增資料到試算表的哪一個儲存格
第三個參數則是我們想要新增到試算表的內容

使用此方法後會觸發 FinishedWriteCell 事件,沒有變數。




試算表直欄 寫入/覆蓋:

使用方法:WriteCol

使用此方法需要代入三個參數,sheetName、colNumbere 和 data。
第一個參數是我們試算表裡的工作表的名稱
第二個參數是我們想要新增資料到試算表的哪一個直欄
第三個參數則是我們想要新增到試算表的內容,使用清單格式。

使用此方法後會觸發 FinishedWriteCol 事件,沒有變數。




試算表指定範圍 寫入/覆蓋:

使用方法:WriteRange

使用此方法需要代入三個參數,sheetName、rangeReference 和 data。
第一個參數是我們試算表裡的工作表的名稱
第二個參數是我們想要新增資料到試算表的範圍
第三個參數則是我們想要新增到試算表的內容,使用二維清單格式。

P.S. 二維清單的長度:第一維看橫列數、第二維看直欄數。
例如:D1 到 F4,有 1 ~ 4 總共四列,第一維清單就要有四筆資料。
D 到 F 總共三欄,第二維清單要有三筆資料。

使用此方法後會觸發 FinishedWriteRange 事件,沒有變數。




試算表橫列 寫入/覆蓋:

使用方法:WriteRow

使用此方法需要代入三個參數,sheetName、rowNumber 和 data。
第一個參數是我們試算表裡的工作表的名稱
第二個參數是我們想要新增資料到試算表的哪個橫列
第三個參數則是我們想要新增到試算表的內容,使用清單格式。

使用此方法後會觸發 FinishedWriteRow 事件,沒有變數。





刪除

試算表指定範圍刪除:

使用方法:ClearRange

使用此方法需要代入兩個參數,sheetName 和 rangeReference。
第一個參數是我們試算表裡的工作表的名稱
第二個參數是我們想要刪除資料的試算表範圍

使用此方法後會觸發 FinishedClearRange 事件,沒有變數。

P.S. FinishedClearRange 事件有時不會觸發,但是試算表的資料有成功刪除!




試算表直欄刪除:

使用方法:RemoveCol

使用此方法需要代入兩個參數,sheetName 和 colNumber。
第一個參數是我們試算表裡的工作表的名稱
第二個參數是我們想要刪除資料的試算表直欄

使用此方法後會觸發 FinishedRemoveCol 事件,沒有變數。




試算表橫列刪除:

使用方法:RemoveRow

使用此方法需要代入兩個參數,sheetName 和 rowNumber。
第一個參數是我們試算表裡的工作表的名稱
第二個參數是我們想要刪除資料的試算表橫列

使用此方法後會觸發 FinishedRemoveRow 事件,沒有變數。





aia 檔案下載:

點我下載


Demo 影片:








如果覺得文章內容還不錯的話,麻煩請幫我點個讚!感謝

可以多點幾次喔~~

第一次點讚需使用 Google 或 Facebook 帳號註冊

發表迴響