Заказ Google Листа на основе столбца - PullRequest
0 голосов
/ 24 сентября 2019

Я использую Google Sheets API для вызова листа.Я могу успешно принять данные и заставить их появляться в браузере.Прямо сейчас он идет в порядке листа, то есть строки 1, 2, 3, 4.

Я хочу изменить порядок при запросе.Посмотрел документы и похоже я должен использовать опцию sortSpecs, но это не меняет порядок.Он просто продолжает поступать в соответствии с порядком строк листа.Вот код:

    function getSheetData() {
    gapi.client.sheets.spreadsheets.values.get({
          spreadsheetId: 'sheetID',
          range: 'Sheet!A2:I',
          sortSpecs: [
              {
                "dimensionIndex": 5,
                "sortOrder": "DESCENDING"
              },
            ]
        }).then(function(response) {
          var range = response.result;
          if (range.values.length > 0) {
            for (i = 0; i < range.values.length; i++) {
                var row            = range.values[i];
                var name           = row[0];
                var bio            = row[1];
                var site           = row[2];
                var title          = row[3];
                var description    = row[4];
                var location       = row[5];
                var time           = row[6];
                var slug           = row[7];
    });
  }

Это все идет в ванильном JavaScript.Я запускаю эту функцию после того, как я успешно подключился к API, поэтому кажется, что все настроено правильно с точки зрения API.Мне просто нужно манипулировать заказ на основе значения столбца.

1 Ответ

0 голосов
/ 24 сентября 2019

Как сказал Танайке, вы не можете сортировать значения с помощью spreadsheet.values.get .Вы должны использовать spreadsheets.batchUpdate .

После комментария Танаике, если вы не хотите, чтобы значения вашего листа сортировались, в качестве обходного пути вы можете сначала сделать копию своего листа , а затем вызвать электронные таблицы.batchUpdate на новый созданный лист для сортировки данных, затем извлеките отсортированные значения из нового листа с помощью spreadsheet.values.get и, наконец, удалите лист, скопированный с помощью spreadsheets.batchUpdate.

...