Я довольно новичок в Sheets API и получаю много ошибок.
Я хотел бы добавить новую строку в лист на основе последней строки.Это включает в себя копирование формата и вставку формул с автозаполнением, но не со значениями.
Вот что я придумала, используя скрипт приложения.Я уверен, что я не использую лучший способ, поэтому на данный момент я
- извлек формулы из диапазона SUCCESS
- , пытаясь использовать
autoFillRequest
, чтобы заполнить следующую строку 10столбцы (просто попытка).FAILED
Я оставил комментарий к getFormulas-like запросу и покажу вам, что у меня есть на данный момент с запросом autoFill.
Я получаю следующую ошибку:
Получены неверные данные JSON.Неизвестное имя «source_and_destination» в «request [0]»: поле не найдено.
function insertNewRow(){
var ssId = "my_spreadsheet_id"
/*var params = {
ranges: ['Feuille1!21:21'],
valueRenderOption: 'FORMULA'
};
var values = Sheets.Spreadsheets.Values.batchGet(ssId, params);
var valueRange = Sheets.newValueRange();
valueRange.majorDimension = "ROWS";
valueRange.values = values.valueRanges[0].values;
Logger.log(values.valueRanges[0].values[0].length);
valueRange.range= 'Feuille1!22:22'
//var req = Sheets.Spreadsheets.Values.update(valueRange , ssId, 'Feuille1!22:22', {
// valueInputOption: 'USER_ENTERED'
//})*/
var AFreq = Sheets.newAutoFillRequest();
AFreq.range = Sheets.newGridRange();
AFreq.range.startRowIndex = 1;
AFreq.range.startColumnIndex = 0;
AFreq.range.endRowIndex = 2;
AFreq.range.endColumnIndex = 10;
AFreq.range.sheetId = 0;
AFreq.sourceAndDestination = Sheets.newSourceAndDestination();
AFreq.sourceAndDestination.dimension = "ROWS";
AFreq.sourceAndDestination.fillLength = 10;
AFreq.sourceAndDestination.source = Sheets.newGridRange();
AFreq.sourceAndDestination.source.startRowIndex = 0;
AFreq.sourceAndDestination.source.startColumnIndex = 0;
AFreq.sourceAndDestination.source.endColumnIndex = 10
AFreq.sourceAndDestination.source.endRowIndex = 1;
AFreq.sourceAndDestination.source.sheetId = 0;
var req = Sheets.newBatchUpdateSpreadsheetRequest();
req.requests = [AFreq];
Sheets.Spreadsheets.batchUpdate(req, ssId);
}
Скажите, если я ошибаюсь, но я собираюсь разделить задачи на несколько запросов
- захватить формулы
- вставить новую строку
- копировать / вставлять предыдущий код в новую строку
- вставлять формулы
Собираюсь ли я в правильном направлении?Любая помощь с благодарностью.