|
3 | 3 | import ujson |
4 | 4 | import os |
5 | 5 |
|
6 | | -__version__ = '0.0.3' |
| 6 | +__version__ = '0.0.4' |
7 | 7 | __author__ = 'Teeraphat Kullanankanjana' |
8 | 8 |
|
9 | 9 | class MicroGoogleSheet(): |
@@ -165,174 +165,3 @@ def deleteColumn(self,column=1): |
165 | 165 | response = requests.get(url) |
166 | 166 | response.close() |
167 | 167 | return response.status_code |
168 | | - |
169 | | - def gen_scriptFile(self): |
170 | | - code = """ |
171 | | -/* |
172 | | -Author: Teeraphat Kullanankanjana |
173 | | -Version: 0.0.3 |
174 | | -*/ |
175 | | -
|
176 | | -function doGet(e) { |
177 | | - // Extract parameters from the request |
178 | | - var sheet_id = e.parameter.sheet_id; |
179 | | - var sheet_name = e.parameter.sheet_name; |
180 | | - var mode = e.parameter.mode; |
181 | | - |
182 | | - // Open the spreadsheet and get the sheet |
183 | | - var ss = SpreadsheetApp.openById(sheet_id); |
184 | | - var sheet = ss.getSheetByName(sheet_name); |
185 | | - |
186 | | - // Update a single cell |
187 | | - if (mode == "updateCell") { |
188 | | - var row = e.parameter.row; |
189 | | - var column = e.parameter.column; |
190 | | - var data = e.parameter.data; |
191 | | - var cell = sheet.getRange(row, column); |
192 | | - cell.setValue(data); |
193 | | - } |
194 | | - |
195 | | - // Update a row with multiple values |
196 | | - else if (mode == "updateRow") { |
197 | | - var row = e.parameter.row; |
198 | | - var data = []; |
199 | | - var count = 0; |
200 | | - while (e.parameter["data" + count]) { |
201 | | - count++; |
202 | | - } |
203 | | - for (var i = 0; i < count; i++) { |
204 | | - var key = "data" + i; |
205 | | - var value = e.parameter[key]; |
206 | | - data.push(value); |
207 | | - } |
208 | | - var range = sheet.getRange(row, 1, 1, data.length); |
209 | | - range.setValues([data]); |
210 | | - } |
211 | | - |
212 | | - // Append a row with multiple values |
213 | | - else if (mode == "appendRow") { |
214 | | - var data = []; |
215 | | - var count = 0; |
216 | | - while (e.parameter["data" + count]) { |
217 | | - count++; |
218 | | - } |
219 | | - for (var i = 0; i < count; i++) { |
220 | | - var key = "data" + i; |
221 | | - var value = e.parameter[key]; |
222 | | - data.push(value); |
223 | | - } |
224 | | -
|
225 | | - var lastRow = sheet.getLastRow(); |
226 | | - var row = e.parameter.row || lastRow + 1; // If row parameter is not provided, append to last row + 1 |
227 | | - if (row > 0) { |
228 | | - sheet.insertRowBefore(row); |
229 | | - lastRow = row - 1; |
230 | | - } |
231 | | - sheet.getRange(lastRow + 1, 1, 1, data.length).setValues([data]); |
232 | | - } |
233 | | - |
234 | | - // Append a column with multiple values |
235 | | - else if (mode == "appendColumn") { |
236 | | - var data = []; |
237 | | - var count = 0; |
238 | | - while (e.parameter["data" + count]) { |
239 | | - count++; |
240 | | - } |
241 | | - for (var i = 0; i < count; i++) { |
242 | | - var key = "data" + i; |
243 | | - var value = e.parameter[key]; |
244 | | - data.push([value]); // wrap the value in an array to create a column |
245 | | - } |
246 | | -
|
247 | | - var lastColumn = sheet.getLastColumn(); |
248 | | - var column = e.parameter.column || lastColumn + 1; // If column parameter is not provided, append to last colum + 1 |
249 | | - if (column > 0) { |
250 | | - sheet.insertColumnBefore(column); |
251 | | - lastColumn = column - 1; |
252 | | - } |
253 | | - sheet.getRange(1, lastColumn + 1, data.length, 1).setValues(data); |
254 | | - } |
255 | | - |
256 | | - // Update a column with multiple values |
257 | | - else if (mode == "updateColumn") { |
258 | | - var column = e.parameter.column; |
259 | | - var data = []; |
260 | | - var count = 0; |
261 | | - while (e.parameter["data" + count]) { |
262 | | - count++; |
263 | | - } |
264 | | - for (var i = 0; i < count; i++) { |
265 | | - var key = "data" + i; |
266 | | - var value = e.parameter[key]; |
267 | | - data.push([value]); // wrap the value in an array to create a column |
268 | | - } |
269 | | - var range = sheet.getRange(1, column, data.length, 1); |
270 | | - range.setValues(data); |
271 | | - } |
272 | | - |
273 | | - // Get the value of a specific cell |
274 | | - else if (mode == "getCell") { |
275 | | - var row = e.parameter.row; |
276 | | - var column = e.parameter.column; |
277 | | -
|
278 | | - var cell = sheet.getRange(row, column); |
279 | | - var value = cell.getValue(); |
280 | | -
|
281 | | - var html = "<html><head><title>Get The data </title></head><body><h1>start</h1><h1>" + value + "</h1><h1>finish</h1></body></html>"; |
282 | | - return HtmlService.createHtmlOutput(html); |
283 | | - } |
284 | | - |
285 | | - // Get the values of a specific row |
286 | | - else if (mode == "getRow") { |
287 | | - var row = e.parameter.row; |
288 | | - var range = sheet.getRange(row, 1, 1, sheet.getLastColumn()); |
289 | | - var values = range.getValues()[0]; |
290 | | -
|
291 | | - var heading = ""; |
292 | | - for (var i = 0; i < values.length; i++) { |
293 | | - heading += values[i] + " "; |
294 | | - } |
295 | | -
|
296 | | - var html = "<html><head><title>Get Row Data</title></head><body><h1>start</h1><h1>" + heading + "</h1><h1>finish</h1></body></html>"; |
297 | | - return HtmlService.createHtmlOutput(html); |
298 | | -} |
299 | | - |
300 | | - // Get the values of a specific column |
301 | | -else if (mode == "getColumn") { |
302 | | - var column = e.parameter.column; |
303 | | - var range = sheet.getRange(1, column, sheet.getLastRow(), 1); |
304 | | - var values = range.getValues(); |
305 | | - var heading = ""; |
306 | | - for (var i = 0; i < values.length; i++) { |
307 | | - heading += values[i] + " "; |
308 | | - } |
309 | | -
|
310 | | - var html = "<html><head><title>Get Column Data</title></head><body><h1>start</h1><h1>" + heading + "</h1><h1>finish</h1></body></html>"; |
311 | | - return HtmlService.createHtmlOutput(html); |
312 | | - |
313 | | -} |
314 | | - |
315 | | - // Delete a specific row |
316 | | -else if (mode == "deleteRow") { |
317 | | - var row = e.parameter.row; |
318 | | - sheet.deleteRow(row); |
319 | | -} |
320 | | -
|
321 | | -// Delete a specific column |
322 | | -else if (mode == "deleteColumn") { |
323 | | - var column = e.parameter.column; |
324 | | - sheet.deleteColumn(column); |
325 | | -} |
326 | | -
|
327 | | -// Clear the content of a specific cell |
328 | | -else if (mode == "deleteCell") { |
329 | | - var row = e.parameter.row; |
330 | | - var column = e.parameter.column; |
331 | | - var cell = sheet.getRange(row, column); |
332 | | - cell.clearContent(); |
333 | | -} |
334 | | -} |
335 | | - """ |
336 | | - with open('script.txt', 'w') as file: |
337 | | - file.write(code) |
338 | | - |
0 commit comments