forked from brendena/FitSync
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathspreadSheetObject.gs
More file actions
85 lines (80 loc) · 2.76 KB
/
spreadSheetObject.gs
File metadata and controls
85 lines (80 loc) · 2.76 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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/ This will become the javascript
/ library object
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
function createSpreadSheetObject(spreadSheet){
//create spreadSheet with id
var objectSpreadSheet = undefined;
//Logger.log(spreadSheet.toString());
switch(spreadSheet.toString()){
case "Spreadsheet":
objectSpreadSheet = spreadSheet;
break;
//default:
//basic string id
}
return {
"spreadSheetObject" : objectSpreadSheet,
"activeSpreadSheet": objectSpreadSheet.getSheets()[0],
"append":function(data){
var lastRow = this["activeSpreadSheet"].getLastRow() + 1;
Logger.log("data");
Logger.log(data);
Logger.log(Array.isArray(data[0]) )
if(data.length !== 0 && Array.isArray(data[0]) ){
this["activeSpreadSheet"].getRange(lastRow, 1,
data.length,
data[0].length).setValues(data);
}
else{
throw "there something wrong with inputed data";
}
},
"getAllValues":function(){
return this["activeSpreadSheet"].getRange(2,1,this["activeSpreadSheet"].getLastRow(),this["activeSpreadSheet"].getLastColumn()).getValues()
},
"clearSheet": function(){
this["activeSpreadSheet"].clear();
},
"clearAllSheets": function(){
var allCreatedSheets = this["spreadSheetObject"].getSheets();
allCreatedSheets.forEach(function(sheet){
sheet.clear();
}.bind(this));
},
"getCellValue": function(row,column){
if(row == -1){
row = this["activeSpreadSheet"].getLastRow()
}
if(row == 0)
return "";
else
return this["activeSpreadSheet"].getRange(row,column).getValues()[0][0];
},
"checkAndCreateSheets": function(listSheetsNeeded){
//getSheetByName(name)
var allCreatedSheets = this["spreadSheetObject"].getSheets();
var allCreatedSheetsNames = [];
for(var i = 0; i < allCreatedSheets.length; i++){
allCreatedSheetsNames.push(allCreatedSheets[i].getName())
}
for(i = 0; i < listSheetsNeeded.length; i++){
if(allCreatedSheetsNames.indexOf(listSheetsNeeded[i]) == -1){
this["spreadSheetObject"].insertSheet(listSheetsNeeded[i]);
}
}
},
"setActiveSheet": function(name){
this["activeSpreadSheet"] = this["spreadSheetObject"].getSheetByName(name);
},
"headerPresent": function(){
this["activeSpreadSheet"].getRange(1, 1);
if(this["activeSpreadSheet"].getRange(1, 1).getValues()[0][0] == "")
return false;
return true;
},
"headerValues": function(header){
this["activeSpreadSheet"].getRange(1, 1, 1, header.length).setValues([header]);
}
}
}