ZiGoomul

Передача данных из таблицы в таблицу. 3 способа.

Jul 27th, 2021 (edited)
514
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. //по IMPORTRANGE
  2. =IMPORTRANGE("Сдесь ID таблицы из которой достаем данные";"'Заказы'!A1:H")
  3. =QUERY(IMPORTRANGE("Сдесь ID таблицы из которой достаем данные";"'Заказы'!A1:H");"select Col1, Col2, Col3, Col4, Col5, Col6, Col7 WHERE (Col1 >= date'2021-01-01' AND Col1 <= date'2021-02-01') AND Col8 = '"&H2&"'")
  4. //WHERE (Col1 >= date'2021-01-01' AND Col1 <= date'2021-02-01')  часть проверки на дату
  5. //AND Col8 = '"&H2&"' часть проверки на имя работника в ячейке H2
  6.  
  7. // пересылает данные в таблицу по ее ID
  8. function setById (){
  9.   let ss = SpreadsheetApp.getActiveSpreadsheet();
  10.   let activeWs = ss.getSheetByName('Здесь имя листа из которого берем данные')
  11.   let ws = SpreadsheetApp.openById('Здесь ID таблицы в которую пишем данные');
  12.   let data = activeWs.getDataRange().getValues();
  13.  
  14.   ws.getSheetByName('Здесь имя листа в который пишем данные').getRange(1, 1, data.length, data[0].length).setValues(data)
  15.  
  16. }
  17. // По вебхуку
  18. // берет данные из таблици и передает в функцию sendToWebhook
  19. function addToSheet() {
  20.   let sheet = getSheetById(здесь id листа)
  21.   let content = sheet.getDataRange().getValues()
  22.   sendToWebhook(content);
  23. }
  24. // получаем лист по ID
  25. function getSheetById(id) {
  26.   return SpreadsheetApp.getActive().getSheets().filter(
  27.     function (s) { return s.getSheetId() === id; }
  28.   )[0];
  29. };
  30. // передаем данные в таблицу по URL веб приложения
  31. function sendToWebhook(content) {
  32.   let data = {
  33.     method: "post",
  34.     payload: JSON.stringify(content)
  35.   };
  36.   UrlFetchApp.fetch("Здесь URL Веб-приложения таблицы в которую получаем данные", data);
  37. }
  38. // получает данные по вебхуку
  39. function doPost(e) {
  40.   let contents = JSON.parse(e.postData.contents);
  41.   let sheet = getSheetById(здесь id листа)
  42.   sheet.clear()
  43.   sheet.getRange(1, 1, contents.length, contents[0].length).setValues(contents)
  44. }
  45.  
RAW Paste Data