По какой-то очень странной причине мой компьютер разрешил мне иметь порт 3306 как порт по умолчанию для моего подключения, чтобы он работал.
[/g0]
РЕДАКТИРОВАТЬ:
Не нужно []
вокруг 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]);
Основываясь на предложении Купера, это было то, как я смог заставить это работать:
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);
}
Спасибо Куперу за ваше руководство и предложения!