-
Notifications
You must be signed in to change notification settings - Fork 5
Expand file tree
/
Copy pathallHeaders.js
More file actions
29 lines (25 loc) · 946 Bytes
/
allHeaders.js
File metadata and controls
29 lines (25 loc) · 946 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
/**
* Retrieves all table and column headers from all sheets except the current one.
* Each header is represented as a pair [table name, column name].
*
* @returns {string[][]} 2D array of table and column headers.
*/
function allHeaders() {
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
var sheets = spreadsheet.getSheets();
var currentSheetName = SpreadsheetApp.getActiveSheet().getName();
var allHeaders = [];
for (var i = 0; i < sheets.length; i++) {
var sheetName = sheets[i].getName();
if (sheetName != currentSheetName) {
var sheet = spreadsheet.getSheetByName(sheetName);
var lastColumn = sheet.getLastColumn();
var headerNames = sheet.getRange(1, 1, 1, lastColumn).getValues()[0];
for (var j = 0; j < lastColumn; j++) {
var tableAndColumn = [sheetName, headerNames[j]];
allHeaders.push(tableAndColumn);
}
}
}
return allHeaders;
}