Получение ошибки «Это действие увеличит количество ячеек в листе сверх лимита» на 50 000 ячеек. - PullRequest
1 голос
/ 23 сентября 2019

Я пытаюсь загрузить файл CSV с URL-адреса в новый пустой лист Google с помощью редактора сценариев.

 var raw = UrlFetchApp.fetch(final_url, options).getContentText();
 var data = Utilities.parseCsv(raw, "|");
 Logger.log(data[0].length); /// 17 (columns)
 Logger.log(data.length); /// 2849 (rows)

 var ss = SpreadsheetApp.getActiveSpreadsheet();
 var sheet = ss.getActiveSheet();
 sheet.getRange(1, 1, data.length, data[0].length).setValues(data);

Насколько я понимаю, у меня всего 48433 ячейки, но когда я пытаюсь записать это на лист, я получаю ошибку:

Этодействие увеличит количество ячеек в рабочей книге выше предела в 5000000 ячеек.

Есть идеи?

Ответы [ 2 ]

2 голосов
/ 23 сентября 2019

Выпуск:

Недостаточно ячеек на листе для setValues данных.И setValues() неправильно выдает ошибку

Это действие увеличит число ячеек в рабочей книге выше предела 5000000 ячеек.

Это может быть связано ссодержимое файла csv (и, следовательно, результирующий массив данных).Во время тестирования я смог добавить 2800rowsx17 столбцов данных на лист с 1000rows x 26 столбцов без проблем.

Решение:

  • Вручную увеличить количество строк /столбцы на листе ИЛИ

  • Попробуйте sheet # insertRows вставить строки перед вызовом setValues

Фрагмент:

sheet.insertRows(sheet.getLastRow(), data.length);
0 голосов
/ 23 сентября 2019

Не видя фактического листа и файла CSV, мы можем только предполагать, в чем заключается проблема.Мое лучшее предположение, что вы не учли, что ограничение в 5 000 000 ячеек распространяется на всю «рабочую книгу».Таким образом, если у вас есть несколько вкладок (листов), то сумма ячеек, используемых на этих листах, не может превышать 5 000 000 ячеек.

...