我正在嘗試計算其他谷歌表格中的最大行數。實際上,每個電子表格都有許多選項卡,我想要每個電子表格下所有選項卡的最大行數。
我發現該IMPORTRANGE函式可以使用 URL 從其他電子表格中獲取資料,但是,此函式只能讀取具有作業表名稱的資料。要獲取作業表名稱串列,我認為下面的函式可能有用:
function sheetnames() {
var out = new Array()
var sheets = SpreadsheetApp.getActiveSpreadsheet().getSheets();
return out
}
但是這個函式只適用于它所在的作業表,并且在每一個作業表中撰寫這個函式顯然是不可能的,所以這是我的問題:
是否可以改進sheetnames()從其他作業表獲取作業表名稱的功能?(帶網址?我不確定)或者我怎樣才能用其他方法實作它?
非常感謝您的耐心等待!
uj5u.com熱心網友回復:
對于單張紙:
function myFunction() {
return SpreadsheetApp.openByUrl(`SPREADSHEET_URL`)
.getSheets()
.map(i => [i.getSheetName(), i.getLastRow()])
// To view results:
//.forEach(i => Logger.log(i))
}
輸出:
[
[Sheet1, 10],
[Sheet2, 15],
[Sheet3, 20]
]
對于多張紙:
function myFunction() {
const spreadsheetUrlList = [
`...`,
`...`,
`...`
]
return spreadsheetUrlList.map(i => {
const spreadsheet = SpreadsheetApp.openByUrl(i)
return {
SpreadsheetName: spreadsheet.getName(),
Sheets: [
...spreadsheet.getSheets()
.map(i => [i.getSheetName(), i.getLastRow()])
]
}
})
// To view results:
//.forEach(i => i.Sheets.forEach(item => Logger.log(`(${i.SpreadsheetName}) "${item[0]}": ${item[1]}`)))
}
輸出:
[
{
SpreadsheetName: `MySpreadsheet`,
Sheets: [
['Sheet1', 50],
['Sheet2', 40]
]
},
{
SpreadsheetName: `MySpreadsheet2`,
Sheets: [
['Sheet1', 30],
['Sheet2', 70]
]
},
...
]
如果您有任何問題或想要不同的輸出格式,請告訴我!
uj5u.com熱心網友回復:
如果您有電子表格的 url,此函式將回傳該電子表格所有作業表的最大行數。
function myFunction() {
var spreadsheet = SpreadsheetApp.openByUrl("URL GOES HERE");
var sheets = spreadsheet.getSheets();
let currentMaximum = 0;
for (var i = 0; i < sheets.length; i ){
var numberOfRows = sheets[i].getMaxRows();
if (numberOfRows > currentMaximum){
currentMaximum = numberOfRows;
}
}
return currentMaximum;
}
它利用getSheets()函式獲取包含電子表格所有作業表的陣列,然后遍歷所有這些作業表,使用getMaxRows()函式獲取每個電子表格中的行數,最后更新currentMaximum變數 if找到新的最大行數。
uj5u.com熱心網友回復:
電子表格的最大行數
function maxrows(id=SpreadsheetApp.getActive().getId()) {
Logger.log(SpreadsheetApp.openById(id).getSheets().map(sh => sh.getMaxRows()).sort((a,b) => b - a)[0]);
}
Execution log
12:03:34 PM Notice Execution started
12:03:34 PM Info 4994.0
12:03:35 PM Notice Execution completed
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/473280.html
