Импортируйте новые данные только из листа Google в другой с помощью скрипта приложений Google - PullRequest
0 голосов
/ 04 декабря 2018

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

Последовательность действий должна быть следующей: 1. Данные отправляются на лист Google каждый раз при отправке формы. 2. Данные этого первого листа печатаются на втором листе, только если они, следовательно, являются новыми записями, а неуже существует на втором листе.

Я уже создал скрипт, который создает новый массив с помощью метода .map (), фильтруя столбцы, которые я хочу импортировать, и печатать с первого на второй лист.Проблема в том, что я не хочу печатать весь массив каждый раз, так как он медленный и неэффективный.Я хочу напечатать только новые записи на втором листе.Моя идея состояла в том, чтобы объединить содержимое двух листов, создать третий из этих двух, содержащий только уникальные значения (то есть только новые), а затем распечатать в последней пустой строке.Я пытался, но у меня не получилось, я даже не уверен, что это самый эффективный способ сделать это.

Любые идеи о том, как это сделать в эффективный способ ?

function importData() {

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sourceSheet = ss.getSheetByName('_RawDataTable');
var outputSheet = ss.getSheetByName('Data');
var rawData = sourceSheet.getRange(2, 1, sourceSheet.getLastRow(), sourceSheet.getLastColumn()).getValues();

// get only the columns I need
var dataInvoices = rawData.map(function(r) {
return [r[0], r[1], r[11], r[2], r[3], r[5]]
});

// print the data in the first empty row
outputSheet.getRange(outputSheet.getLastRow(),1, dataInvoices.length, dataInvoices[0].length).setValues(dataInvoices);

}

Редактировать

Здесь у вас есть листы (все данные являются поддельными): Исходный лист Выходной лист

В этом примере исходный лист содержит несколько больше записей, чем выходной лист.Цель состоит в том, чтобы только печатать новые строки в выходном листе без необходимости повторять все, как в коде выше. (очевидно, что в реальном листе строк тысячи, поэтому заменять все наборы данных каждый раз крайне неэффективно, поэтому необходимо добавлять только новые)

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