Skip to content

Instantly share code, notes, and snippets.

@jay-babu
Last active August 17, 2021 02:00
Show Gist options
  • Save jay-babu/040b23faf21e75190a82434e8ebe8697 to your computer and use it in GitHub Desktop.
Save jay-babu/040b23faf21e75190a82434e8ebe8697 to your computer and use it in GitHub Desktop.
Create Sheet based on Column
function createFileInFolder(folderId, fileName) {
const folder = DriveApp.getFolderById(folderId)
console.log(folder.getName())
const files = folder.getFilesByName(fileName)
if (files.hasNext()) {
return SpreadsheetApp.open(files.next())
}
const file = SpreadsheetApp.create(fileName)
const copyFile = DriveApp.getFileById(file.getId())
folder.addFile(copyFile)
DriveApp.getRootFolder().removeFile(copyFile)
return file
}
function getOrInsertSheet(name, options, spreadSheet) {
let sheet = spreadSheet.getSheetByName(name);
if (!sheet) {
sheet = spreadSheet.insertSheet(name, options);
}
return sheet
}
function main() {
const centers = [
"Albany NY",
"Atlantic City",
"Boston",
"Cherry Hill",
"Clifton",
"Delaware",
"Downingtown",
"Edison",
"Harrisburg",
"Hartford",
"Jersey City",
"Lansdale",
"Long Island",
"New Haven",
"New York",
"Northern Virginia",
"Parsippany",
"Philadelphia",
"Richmond",
"Roanoke",
"Robbinsville",
"Scranton",
"South Boston",
"Springfield",
"Syracuse",
"Virginia Beach",
"Warrington",
"Washington DC",
"Westborough",
"Westchester",
]
centers.forEach(async currentCenter => {
const masterSheet = SpreadsheetApp.openById("1EqQZBAV5b_2DaT2-DaeniWqACA9BgvHIhc9kdwtQlOU").getSheetByName("Memorization Status")
const spreadSheetFile = createFileInFolder("1FzXBrLBuYc11ckVP3uPTy9_frOL5Yqay", currentCenter)
const spreadSheet = SpreadsheetApp.openById(spreadSheetFile.getId())
const centerMemorizationStatus = masterSheet.copyTo(spreadSheet)
centerMemorizationStatus.setName(currentCenter)
const rawSheet = spreadSheetFile.insertSheet("Raw")
rawSheet.getRange(1,1).setValue('=IMPORTRANGE("https://docs.google.com/spreadsheets/d/1EqQZBAV5b_2DaT2-DaeniWqACA9BgvHIhc9kdwtQlOU/edit#gid=702800440", "Memorization Status!A1:P")')
rawSheet.hideSheet()
centerMemorizationStatus.getRange(1,1).setValue('=IMPORTRANGE("https://docs.google.com/spreadsheets/d/1EqQZBAV5b_2DaT2-DaeniWqACA9BgvHIhc9kdwtQlOU", "Memorization Status!A1:P1")')
centerMemorizationStatus.getRange(2,1).setValue('=QUERY(Raw!A2:P,"select * where H=\''+ currentCenter +'\'")')
spreadSheetFile.deleteSheet(spreadSheetFile.getSheetByName('Sheet1'))
})
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment