該CSV檔案通常有大約 10 行帶有值的行,它很小、很輕,但即使如此,所有執行都需要 200 秒才能將值從CSV檔案匯入到電子表格中。
什么可能導致這種情況,我應該在代碼中更改什么以使其快速運行?

function ImportWebData() {
const cleansheet = SpreadsheetApp.getActive().getSheetByName('ImportWebData');
cleansheet.getRange('A1:Z' cleansheet.getMaxRows()).clear({contentsOnly: true, skipFilteredRows: true});
var sheet = SpreadsheetApp.getActive().getSheetByName('ImportWebData');
var file = DriveApp.getFileById("1aYQLX-67EFJKbGy9TFnis1vjtxiro3r8");
var csvData = Utilities.parseCsv(file.getBlob().getDataAsString());
sheet.getRange(1, 1, csvData.length, csvData[0].length).setValues(csvData);
}
注:Drive API活躍于Google Advanced Services
uj5u.com熱心網友回復:
我通過不使用 getMaxRows() 避免了清除可能不存在的資料的不必要步驟我只使用了 sh.getLastRow(); 我可能已經使用 getLastColumn() 獲取資料,但我不知道檔案中的內容。
function ImportWebData() {
const ss = SpreadsheetApp.getActive();
const sh1 = ss.getSheetByName('ImportWebData');
sh1.getRange(1,1,sh1.getLastRow(),26).clear({contentsOnly: true, skipFilteredRows: true});
var file = DriveApp.getFileById("1aYQLX-67EFJKbGy9TFnis1vjtxiro3r8")
var csvData = Utilities.parseCsv(file.getBlob().getDataAsString());
sh1.getRange(1, 1, csvData.length, csvData[0].length).setValues(csvData);
}
我猜你把它公開了,它在幾秒鐘內就運行了
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/358795.html
