Как вставить строку в середине таблицы. API листов Google - PullRequest
0 голосов
/ 20 февраля 2020

Я не могу понять, как добавить строку в определенное место, всегда добавляет в конец таблицы.

        {
            SpreadsheetsResource.ValuesResource.AppendRequest.ValueInputOptionEnum valueInputOption = SpreadsheetsResource.ValuesResource.AppendRequest.ValueInputOptionEnum.RAW;
            SpreadsheetsResource.ValuesResource.AppendRequest.InsertDataOptionEnum insertDataOption = SpreadsheetsResource.ValuesResource.AppendRequest.InsertDataOptionEnum.INSERTROWS;
            ValueRange requestBody = new ValueRange();
            requestBody.Range = range + "!A4:A";
            IList<Object> obj = new List<Object>();
            obj.Add("A2");
            obj.Add("B2");
            IList<IList<Object>> values = new List<IList<Object>>();
            values.Add(obj);
            requestBody.Values = values;
            SpreadsheetsResource.ValuesResource.AppendRequest request = service.Spreadsheets.Values.Append(requestBody, spreadsheetId, range+"!A4:A");
            request.ValueInputOption = valueInputOption;
            request.InsertDataOption = insertDataOption;

            AppendValuesResponse response = request.Execute();
        }```

1 Ответ

0 голосов
/ 20 февраля 2020

Как вы можете видеть в официальной документации , значения, добавленные через spreadsheets.values.append, добавляются " после последней строки таблицы ". С append вы не можете решить, куда именно вы хотите добавить свои данные. API ищет «таблицу» на основе заданного вами диапазона ввода, как объяснено здесь .

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

  • Чтобы вставить пустой диапазон, в который вы хотите добавить свои данные, используйте метод spreadsheets.batchUpdate и в поле requests, предоставить insertRange запрос . Укажите индексы строк и столбцов, в которые вы хотите вставить свой диапазон (поле range), и следует ли сместить ранее существующие ячейки вниз или вправо (поле shiftDimension).
  • Во-вторых, после того, как вы очистите ячейки, в которых вы хотите, чтобы ваши значения были, вы можете использовать spreadsheets.values.batchUpdate , чтобы записать эти значения (определенные в поле data). Проверьте это руководство по вводу значений для подробного объяснения.

Ссылка:

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