我有多個 google 電子表格,我想將它們合并到一個主檔案中。我從這里找到了一個不同的參考,但到目前為止我的案例沒有任何效果。這是我做的嘗試代碼:
function compileSheets() {
var dataSourceWorkbook = SpreadsheetApp.getActive()
//Open Sheet "Link List" and pull the data inside the script
//Sample of link source can be found here: spreadsheetID 1Nua_Lhcnjec8w34hnL8kZsdeDqqkggqo63pY_pxaRy0
var linkSourceSheet = dataSourceWorkbook.getSheetByName('Links')
var linkSource = linkSourceSheet.getDataRange().getDisplayValues() //this contain links of spreadsheets that I want to compile
//compile file --> to restore all the multiple spreadhseet into one
var compilefile = SpreadsheetApp.openById('12zj2-wlBXi6Rd18nUQMiB-dY-3xz10IQLxeehNPlXeQ') //I provide a sample spreadsheet for reference
var compilefilesheet = compilefile.getSheetByName('Compiled')
var compiledData = []
for(row in linkSource){
//I create a case, if the report status is 'Updated' I will compile the spreadsheet
if (linkSource[row][3]=="Report Updated") {
//open report by URL
var report = SpreadsheetApp.openByUrl(linkSource[row][2])
//get 2d list
var updatedreport = report.getSheetByName('Sheet1')
var reportvalues = updatedreport.getRange(2, 1, updatedreport.getLastRow(), 16).getValues()
//merge multiple 2d list into one
compiledData.concat(reportvalues)
}
}
//print to compile spreadsheet
compilefilesheet.clear()
if(compiledData.length){
compilefilesheet.getRange(2, 1, compiledData.length, compiledData[0].length).setValues(compiledData);
}
}
上面代碼的問題,我已經成功拉取了二維串列,但是:
- 我無法洗掉空白行,因為每個報告都有空白行。
- 將資料與 concat 合并時失敗
- 將資料列印到編譯表時失敗
你們知道如何解決這個問題嗎?先感謝您!
供參考:鏈接到鏈接源:鏈接 鏈接到編譯表:鏈接
uj5u.com熱心網友回復:
在您的腳本中,以下修改如何?
從:
compiledData.concat(reportvalues)
到:
compiledData = compiledData.concat(reportvalues);
和
compiledData = [...compiledData, ...reportvalues];
參考:
- 連接()
附加資訊:
作為附加資訊,當您要洗掉空行時,您還可以進行如下修改。
從:
compiledData.concat(reportvalues)
到:
compiledData = compiledData.concat(reportvalues.filter(r => r.join("") != ""));
和
compiledData = [...compiledData, ...reportvalues.filter(r => r.join("") != "")];
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/396711.html
下一篇:在作業表上拖動時使公式更加動態
