我需要您的幫助來改進我的應用程式腳本代碼,以便將資料集從 1 個檔案復制到 Google 表格中的另一個檔案。目前完成此執行需要近 6 分鐘,但我們的資料要大幾天。我的細節案例是
- 在源檔案中,作業表 Database 的范圍為 A1:U11834。但是該行將每天增加。
- 在目標檔案中,我還有一個作業表名稱資料庫,我想清除舊資料然后將上述源資料復制到此作業表中。
這是我的代碼。
function getdata(){
let ss = SpreadsheetApp
// open source file and sheet Database
let source_file = ss.openById("id_source_file")
let source_sht_copy = source_file.getSheetByName("Database")
// Get full range of data
let lr = source_sht_copy.getRange("A1").getDataRegion().getLastRow()
let actual_range = `A1:U${lr}`
Logger.log(actual_range)
let source_data = source_sht_copy.getRange(actual_range).getValues()
Logger.log("Copy Done")
// Open destination file
let dest_file = ss.openById("id_dest_file")
let dest_sht = dest_file.getSheetByName("Database")
// //clear content sheet database of destination file
dest_sht.clearContents()
Logger.log("Delete Old Data Done")
// // paste data from source file to destination file using method 'setValues'
dest_sht.getRange(actual_range).setValues(source_data)
Logger.log("Paste Done")
}
這是影像顯示處理的時間。
在此處輸入影像描述
希望我的話是清楚的,可以得到你們的意見或建議。
非常感謝,
祝你今天過得愉快
豐創
uj5u.com熱心網友回復:
在您的情況下,為了降低流程成本,使用 Sheets API 怎么樣?當 Sheets API 反映在您的腳本中時,它變為如下。使用 Sheets API 時,可以比電子表格服務(SpreadsheetApp)降低流程成本。參考
修改后的腳本:
在使用此腳本之前,請在 Advanced Google services 中啟用 Sheets API。
function getdata2() {
const srcSpreadsheetId = "###"; // Please set source Spreadsheet ID.
const dstSpreadsheetId = "###"; // Please set destination Spreadsheet ID.
const srcRange = "'Database'!A1:U";
const dstRange = "Database";
const values = Sheets.Spreadsheets.Values.get(srcSpreadsheetId, srcRange).values;
const sheetId = SpreadsheetApp.openById(dstSpreadsheetId).getSheetByName(dstRange).getSheetId();
Sheets.Spreadsheets.batchUpdate({requests:[{repeatCell:{range:{sheetId},fields:"userEnteredValue"}}]}, dstSpreadsheetId);
Sheets.Spreadsheets.Values.update({values}, dstSpreadsheetId, dstRange, {valueInputOption: "USER_ENTERED"});
}
參考:
- 基準測驗:使用 Google Apps 腳本讀寫電子表格
- 方法:電子表格.values.get
- 方法:電子表格.values.update
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/442359.html
標籤:谷歌应用脚本
