SpreadsheetApp.getActive () - PullRequest
       7

SpreadsheetApp.getActive ()

0 голосов
/ 08 мая 2020

enter image description here

Я начал свой путь по созданию приложения (я не ИТ-специалист) и получил некоторую поддержку при подключении моего приложения к таблицам Google.

Пока все это работает, я ищу совета по редактированию, если это возможно. В настоящее время приложение загружает данные из Google Таблиц на устройство. Как вы можете видеть ниже в коде, это основано на данных в таблицах, а не на диапазонах. Можно ли изменить это так, чтобы я мог хранить все данные поиска на одном листе и в диапазонах, у меня есть больше, чтобы добавить, и я вполне могу получить много листов, содержащих минимальные данные внутри.

if ( e.parameter.func == "static" ) {
  var ss = SpreadsheetApp.getActive();
  var shFlr = ss.getSheetByName("Floors").getDataRange().getValues();
  var shRm = ss.getSheetByName("Rooms").getDataRange().getValues();
  var shItm = ss.getSheetByName("Items").getDataRange().getValues();
  var shCnd = ss.getSheetByName("Condition").getDataRange().getValues();
  var shBldg = ss.getSheetByName("Buildings").getDataRange().getValues();
  var shUOM = ss.getSheetByName("UOM").getDataRange().getValues();//Projects Added
  return ContentService.createTextOutput(JSON.stringify({"UOM":shUOM,"Buildings":shBldg,"Floors":shFlr,"Rooms":shRm,"Items":shItm,"Condition":shCnd,})).setMimeType(ContentService.MimeType.JSON);

Если кто-нибудь может описать, как я могу это отредактировать, я был бы очень признателен.

Ответы [ 2 ]

1 голос
/ 13 мая 2020
function doGet(e) {

  if ( e.parameter.func == "static" ) {
    var ss = SpreadsheetApp.getActiveSpreadsheet();
    var sh = ss.getSheetByName("ProjectSetUp");
    var rgProj = sh.getRange("A3:A3").getValues();
0 голосов
/ 09 мая 2020

Попробуйте следующее:

function myfunction() {
  const ss=SpreadsheetApp.getActive();
  const shts=["Floors","Rooms","Items","Condtion","Buildings","UOM"];//These are the names of the individual sheets and there order determine the header location for each individual sheet.
  var sh=ss.getSheetByName('Combined');//I named the sheet Combined you can name it whatever you wish
  if(!sh) {var sh=ss.insertSheet('Combined');}//This creates the sheet if it's not already there
  sh.clear();//this clears the combined sheet
  sh.appendRow(shts);//This puts the header titles on the combined sheet
  shts.forEach(function(name,i){
    var s=ss.getSheetByName(name);//This gets the individual sheets
    var v=s.getRange(1,1,s.getLastRow(),1).getValues();//this gets each sheets one column of data
    sh.getRange(2,i+1,v.length,1).setValues(v);//this puts the data into each column of the combined sheet under that sheets name
  });
}

Я вообще не отлаживал это. Так что вам, вероятно, придется его отлаживать. Я знаю, что вы надеетесь, что это сработает ... я тоже.

...