Возникли проблемы при импорте данных из рабочей книги Google Pages в основную рабочую книгу. Код не может найти первую пустую строку - PullRequest
0 голосов
/ 18 января 2019

Я не могу заставить выбранный диапазон перейти к первой пустой строке в столбце A на листе 1.

Я новичок в Google-App-Script и никогда раньше ничего не делал в Java, просто прочиталнекоторые учебники.Я пытаюсь автоматизировать некоторые лабораторные машины, чтобы возвращаемые ими данные попадали в основную рабочую книгу.

function macro (){
var s1 = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var range = SpreadsheetApp.getActiveSpreadsheet().getSheets()[0].getRange('E16:F');
SpreadsheetApp.setActiveRange(range)
var copy = s1.getRange('E16:F36').getValues();
var s2 = SpreadsheetApp.openByUrl('https://docs.google.com/spreadsheets/d/1kXinBTHIhEf78AHe2zpSz6ugi1qgmd5WwqSg81IFrfk/edit?usp=drive_web&ouid=102308466606203090938')
var column = s2.getRange('A:A');
var values = column.getValues();
var ct = 0;
while ( values[ct][0] != "" ) 
ct++;
var lastCell = s2.getRange('E16:F36');
var paste = s2.getRange('ct:B').setValues(copy);
}

Я ожидаю, что код установит данные из исходной рабочей книги в первую пустую строку наосновная рабочая тетрадь в листе 1.

Ответы [ 2 ]

0 голосов
/ 19 января 2019

Использование appendRow

Добавляет строку в электронную таблицу. Эта операция атомарна; он предотвращает проблемы, когда пользователь запрашивает последнюю строку, а затем записывает в эту строку, и между получением последней строки и записью в нее возникает промежуточная мутация.

0 голосов
/ 18 января 2019

Необходимо использовать getLastRow() метод класса электронных таблиц

  var lastRow = s2.getLastRow(); 
  var newStartRow = lastRow +1;

и затем добавьте 1 к нему, чтобы определить первую строку для вставки ваших данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...