Created
November 10, 2022 22:21
-
-
Save nitrotap/733f350a2f7ee6b0018d8155a7e9c18b to your computer and use it in GitHub Desktop.
Google Apps Script Basic Sheet Functions
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// todo add spreadsheet id | |
const spreadsheetId = ''; | |
/** @OnlyCurrentDoc */ | |
async function getDateCOI() { | |
// todo add master sheet name | |
let range = 'Sheet1'; | |
try { | |
let write_array = [] | |
let new_array = [] | |
const result = await Sheets.Spreadsheets.Values.get(spreadsheetId, range); | |
// loop through sheet, comparing spreadsheet date with today | |
for (i = 1; i < result.values.length; i++) { | |
// todo add column integer | |
let col = 8; | |
let d1 = new Date(result.values[i][col]); | |
let d2 = new Date(); | |
// if date is over 1 year, then add to array | |
if (d2 - d1 > 31556952000) { | |
new_array.push([result.values[i][1], result.values[i][0], result.values[i][3], result.values[i][4]]) | |
} | |
write_array.push(new_array); | |
} | |
// set up new sheet headers | |
// todo row headers | |
const rowAValues = [ | |
['first name', 'last name', 'email', 'phone'] | |
] | |
// set up request for api call | |
// todo sheet name | |
let sheet_name = 'LastCOI'; | |
const request = { | |
'valueInputOption': 'USER_ENTERED', | |
'data': [ | |
{ | |
'range': sheet_name + '!A1', | |
'majorDimension': 'ROWS', | |
'values': rowAValues | |
}, | |
{ | |
'range': sheet_name + '!A2', | |
'majorDimension': 'ROWS', | |
'values': new_array | |
} | |
] | |
}; | |
console.log(rowAValues) | |
// get request to api | |
try { | |
const response = await Sheets.Spreadsheets.Values.batchUpdate(request, spreadsheetId); | |
if (response) { | |
Logger.log(response); | |
return; | |
} | |
Logger.log('response null'); | |
} catch (e) { | |
Logger.log('Failed with error %s', e.message); | |
} | |
} catch (e) { | |
console.log(e) | |
} | |
} | |
/** @OnlyCurrentDoc */ | |
async function getBC() { | |
// todo for sheet name | |
let range = 'Sheet1'; | |
try { | |
let write_array = [] | |
let new_array = [] | |
const result = await Sheets.Spreadsheets.Values.get(spreadsheetId, range); | |
// loop through sheet, comparing spreadsheet date with today | |
for (i = 1; i < result.values.length; i++) { | |
// todo column integer | |
let col = 7; | |
let d1 = new Date(result.values[i][col]); | |
let d2 = new Date(); | |
// if date is over 1 year, then add to array | |
if (d2 - d1 > 31556952000) { | |
new_array.push([result.values[i][1], result.values[i][0], result.values[i][3], result.values[i][4]]) | |
} | |
write_array.push(new_array); | |
} | |
// set up new sheet headers | |
const rowAValues = [ | |
['first name', 'last name', 'email', 'phone'] | |
] | |
// set up request for api call | |
// todo sheet name | |
let sheet_name = 'BC'; | |
const request = { | |
'valueInputOption': 'USER_ENTERED', | |
'data': [ | |
{ | |
'range': sheet_name + '!A1', | |
'majorDimension': 'ROWS', | |
'values': rowAValues | |
}, | |
{ | |
'range': sheet_name + '!A2', | |
'majorDimension': 'ROWS', | |
'values': new_array | |
} | |
] | |
}; | |
console.log(rowAValues) | |
// get request to api | |
try { | |
const response = await Sheets.Spreadsheets.Values.batchUpdate(request, spreadsheetId); | |
if (response) { | |
Logger.log(response); | |
return; | |
} | |
Logger.log('response null'); | |
} catch (e) { | |
Logger.log('Failed with error %s', e.message); | |
} | |
} catch (e) { | |
console.log(e) | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment