2017-02-16 3 views
0

Если у меня есть массив, [Joe, John, Adam, Sam, Bill, Bob], и я хочу попытаться добавить это в новую строку, выполнив SpreadsheetApp.getActive().getSheetByName('Sheet4').appendRow([array]);, произойдет то, что весь список имен перейдет в 1 ячейку. Есть ли способ разбить это, чтобы они отдалились в одну строку, но разные столбцы? Мне нужно продолжить использование appendRow.appendRow из массива

я получаю это:

Bad

Но я действительно хочу, чтобы это выглядело так:

Good

var my2DArrayFromRng = datasheet.getRange("A:A").getValues(); 
    var a = my2DArrayFromRng.join().split(',').filter(Boolean); 

    var array = []; 

    for (d in a) { 

    array.push(a[d]); 

    } 

SpreadsheetApp.getActive().getSheetByName('Sheet4').appendRow([array.toString()]); 
+0

Пожалуйста, пост полный код, который вы используете, чтобы получить этот результат. – Hink

+0

@Hink добавлен в соответствии с запросом. – Aaron

+0

Пробовал ли вы ... ... appendRow (array); '? Если вы сделаете массив строкой, то, очевидно, будет только одна ячейка, а appendRow займет простой массив, а не 2d-массив. –

ответ

1

Вы преобразуем массив в строку перед вами опубликовать его, что вызывает вашу проблему.

Не используйте метод array.toString() внутри строки добавления. Вместо этого просто добавьте массив как есть.

SpreadsheetApp.getActive().getSheetByName('Sheet4').appendRow(array);

+0

Я написал еще один комментарий, что это не возвращает ничего, кроме [Ljava.lang.Object; @ 35d77835 в ячейку. – Aaron

+0

После дальнейшего анализа выясняется, что я делал .appendRow ([new Date(), array]), который размещал массив внутри другого массива, что делало его неправильным. Я удалил дату и сделал ее частью массива, и теперь она работает. – Aaron

Смежные вопросы