質問編集履歴

4

 

2017/06/02 07:51

投稿

k-na
k-na

スコア33

test CHANGED
File without changes
test CHANGED
File without changes

3

 

2017/06/02 07:51

投稿

k-na
k-na

スコア33

test CHANGED
File without changes
test CHANGED
@@ -100,9 +100,7 @@
100
100
 
101
101
  var sheet = SpreadsheetApp.openById(id);
102
102
 
103
- //var sortjs = HtmlService.createHtmlOutputFromFile('sortjs').getContent();
103
+
104
-
105
-
106
104
 
107
105
  function sheetget(newyear){ //シート情報の読み込みファンクション年度を入れて動かす。
108
106
 
@@ -132,11 +130,9 @@
132
130
 
133
131
  var jsondata = JSON.stringify(alldata);
134
132
 
135
- //joson文字列にして格納
133
+
136
134
 
137
- //var kousinn = Utilities.formatDate(updatet,'JST',' dd日HH:mm');
138
-
139
- //Logger.log(alldata);
135
+ Logger.log(alldata);
140
136
 
141
137
  output.append(alldata);
142
138
 

2

 

2017/06/02 06:44

投稿

k-na
k-na

スコア33

test CHANGED
File without changes
test CHANGED
@@ -80,7 +80,7 @@
80
80
 
81
81
  <?//マスターシート指定
82
82
 
83
- var id = '〇〇〇'; //データシートID output.append() document.white()
83
+ var id = '〇〇〇'; //データシートID
84
84
 
85
85
  var hiduke = new Date(); //今日の日付を取得
86
86
 

1

状況を詳しく追記

2017/06/02 06:43

投稿

k-na
k-na

スコア33

test CHANGED
File without changes
test CHANGED
@@ -27,3 +27,141 @@
27
27
 
28
28
 
29
29
  量などで新たに制限がかかったか、情報をお持ちのかたはいらっしゃいませんでしょうか?
30
+
31
+
32
+
33
+ 追記:
34
+
35
+ 元データは300×60行のデータを1セットで4年分あります。
36
+
37
+ こちらを10×4の2年分にしたところ正常に動きました。
38
+
39
+
40
+
41
+ その後、元のデータに差し替えると同じ現象がおきましたので
42
+
43
+ データ容量が多い場合に処理ができなくなっているようです。
44
+
45
+ 更新を繰り返すとちゃんと処理される場合もあるようなので、内部の処理が追い付いていない?
46
+
47
+
48
+
49
+ 下記、該当部分のコードです。
50
+
51
+ Javascriptに受け渡して配列を使用しています。
52
+
53
+
54
+
55
+
56
+
57
+
58
+
59
+ 〇コードjs
60
+
61
+ function doGet(){
62
+
63
+ var html = HtmlService.createTemplateFromFile('index.html');
64
+
65
+ return html.evaluate();
66
+
67
+ }
68
+
69
+
70
+
71
+
72
+
73
+ 〇index.html
74
+
75
+ <!DOCTYPE html>
76
+
77
+ <html>
78
+
79
+ <head>
80
+
81
+ <?//マスターシート指定
82
+
83
+ var id = '〇〇〇'; //データシートID output.append() document.white()
84
+
85
+ var hiduke = new Date(); //今日の日付を取得
86
+
87
+ var year = hiduke.getFullYear(); //西暦を取得
88
+
89
+ var syear = 2016; "データ開始年"
90
+
91
+ var alldata = []; //配列を作成
92
+
93
+ alldata[0] = []; //2次配列を作成
94
+
95
+ alldata[0][0] = []; //3次配列を作成
96
+
97
+ var lastlist = []; //配列を作成 年度ごとの配列の数 lastlist[0]で2014年を取得
98
+
99
+ var yearlist = [];
100
+
101
+ var sheet = SpreadsheetApp.openById(id);
102
+
103
+ //var sortjs = HtmlService.createHtmlOutputFromFile('sortjs').getContent();
104
+
105
+
106
+
107
+ function sheetget(newyear){ //シート情報の読み込みファンクション年度を入れて動かす。
108
+
109
+ var sheets = sheet.getSheetByName(newyear);
110
+
111
+ var data = sheets.getDataRange().getValues();
112
+
113
+ alldata[i-syear] = data;//2つめに取得した年度の2次配列を挿入
114
+
115
+ lastlist.push(data.length);
116
+
117
+ yearlist.push(newyear);
118
+
119
+ }
120
+
121
+
122
+
123
+ for(var i=syear;i<=year;i++){ //2016年からスタート 年度を渡してシートゲットファンクションを動かすループ。
124
+
125
+ sheetget(i);
126
+
127
+ }
128
+
129
+
130
+
131
+ var yearlast = yearlist.length; //年度リストの数
132
+
133
+ var jsondata = JSON.stringify(alldata);
134
+
135
+ //joson文字列にして格納
136
+
137
+ //var kousinn = Utilities.formatDate(updatet,'JST',' dd日HH:mm');
138
+
139
+ //Logger.log(alldata);
140
+
141
+ output.append(alldata);
142
+
143
+ ?>
144
+
145
+ <base target="_top">
146
+
147
+ </head>
148
+
149
+ <body>
150
+
151
+ <script>
152
+
153
+ var data = JSON.parse(<?=jsondata?>);
154
+
155
+
156
+
157
+
158
+
159
+
160
+
161
+
162
+
163
+ </script>
164
+
165
+ </body>
166
+
167
+ </html>