|
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