![](/img/trans.png)
[英]Google Sheets scripts: How do I include a formula in a new row that references cells in that new row?
[英]In Google Sheets, with scripts, how do I only update new records that I get from an API call?
我每天都從外部API到Google表格中獲取數據。 數據按日期排序。 每天大約有20條新記錄。
數據更新后,我想將任何新數據添加為新行。 我在數據中添加了自己的注釋,因此必須有序。 目前,我將數據復制到另一張紙上,然后在其中做筆記。
我遇到的問題是,有時會添加一些新數據,而日期可能在一個月左右。 因此,我總是必須獲取約600條記錄,並且某處的過去日期可能有或沒有新的添加。
我想將此新數據自動添加為工作表中的新行。
因此,我將不得不以某種方式識別新記錄並將其添加為新行。 有人對如何有效地執行此操作有想法嗎?
似乎從API獲得的每條記錄遍歷整個工作表並包含1000行不是一個好主意...
我應該使用數據庫嗎? 還是可以加載所有API數據和所有工作表數據,然后快速將所有新內容添加到工作表數據中?
您可以安裝觸發器,以檢測行是否插入到電子表格中。
這些插入將被捕獲為onChange()事件。
function installTrigger() {
var ss = SpreadsheetApp.getActive();
ScriptApp.newTrigger('onChange')
.forSpreadsheet(ss)
.onChange()
.create();
}
function onChange(x) {
if (x.changeType == "INSERT_ROW") {
var r = SpreadsheetApp.getActiveRange().getRow();
Logger.log(r);
//Do something with row r
//If multiple rows can be inserted at once, you might need to check the height of the range
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.