Сценарий Google Apps выбирает определенные строки с определенными столбцами

По какой-то очень странной причине мой компьютер разрешил мне иметь порт 3306 как порт по умолчанию для моего подключения, чтобы он работал.

Screenshot [/g0]

0
задан bop-a-nator 22 March 2019 в 13:47
поделиться

2 ответа

РЕДАКТИРОВАТЬ:

Не нужно [] вокруг output при использовании этой линии для вывода на выход -

output.push( [values[n][2], values[n][3], values[n][5]]);

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

[ row,
  row ]

или

[ [1,2,3],
  [4,5,6] ]

Cannot covert Array to Object[][] отображается ошибка, когда диапазон и формат значения не совпадают.


Попробуйте эту строку -

targetTab.getRange(1, 1, output.length, columns.length).setValues([output]);
0
ответ дан ra89fi 22 March 2019 в 13:47
поделиться

Основываясь на предложении Купера, это было то, как я смог заставить это работать:

function testFourNew(sheetID, fromTabName, toTabName) {
  var sourceTab = SpreadsheetApp.openById(sheetID).getSheetByName(fromTabName);
  var targetTab = SpreadsheetApp.openById(sheetID).getSheetByName(toTabName);
  var srcrg = sourceTab.getDataRange();
  var srcvA = srcrg.getValues();
  var desvA=[];
  // var columns = [2,3,5]; //only want these columns
  var columns = String("2,3,5").split(','); //only want these columns
  var tstVal = "fur"; 
  var tstCol = 4; 
  for (var i=0;i<srcvA.length;i++) {
    var tA=[];
    if (srcvA[i][tstCol] ==tstVal) {
      for (var j=0;j<columns.length;j++) {
        //Logger.log(srcvA[i][columns[j]]);
        tA.push(srcvA[i][columns[j]]);
      }
      desvA.push(tA);
    }
  }
  targetTab.getRange(1, 1, desvA.length, desvA[0].length).setValues(desvA);
}

Спасибо Куперу за ваше руководство и предложения!

0
ответ дан bop-a-nator 22 March 2019 в 13:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: