-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDay2.js
More file actions
54 lines (42 loc) · 1.64 KB
/
Day2.js
File metadata and controls
54 lines (42 loc) · 1.64 KB
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
// Spreadsheet URL: https://docs.google.com/spreadsheets/d/1gJYW1Mq_HGGDhcDWm58NGVclT5ePDsANfKGkAkVSHdo/edit#gid=27229910
/* Global Variables */
var ss = SpreadsheetApp.getActive();
var sheetDummy = ss.getSheetByName('Dummy');
var sheetDataInput = ss.getSheetByName('D2Input');
var sheetD1P1 = ss.getSheetByName('D2P1');
var sheetD1P2 = ss.getSheetByName('D2P2');
SetupWorksheets('D2Input');
SetupWorksheets('D2P1');
SetupWorksheets('D2P2');
sheetD2DataInput = ss.getSheetByName('D2Input');
sheetD2P1 = ss.getSheetByName('D2P1');
sheetD2P2 = ss.getSheetByName('D2P2');
convert_txt_gsheets('AoC2023_D2.txt', 'D2Input');
/* Helper Functions */
// Setup Worksheets
function SetupWorksheets(sheetname) {
/* Setup Google Sheets document with clean worksheets */
// Create Dummy Sheet -- Prevents GAS from throwing cannot delete all sheets error
var sheets = ss.getSheets();
if (sheets.length == 1) {
ss.insertSheet('Dummy');
}
sheetDummy = ss.getSheetByName('Dummy');
// Clear and initialize the data input worksheet
if (ss.getSheetByName(sheetname)) {
ss.deleteSheet(ss.getSheetByName(sheetname));
}
ss.insertSheet(sheetname);
// Delete the Dummy sheet (if exists)
if (sheetDummy) {
ss.deleteSheet(sheetDummy);
}
};
// Import data into Google Sheet
function convert_txt_gsheets(filename, sheetname){
var file = DriveApp.getFilesByName(filename).next();
var body = file.getBlob().getDataAsString().split(/\n/);
var result = body.map( r => r.split(/\t/));
ss.getSheetByName(sheetname).getRange(1,1,result.length,result[0].length).setValues(result);
return;
};