Google Sheets — Скрипт: Импорт CSV с менее чем 30000 ячейками, возвращает исключение: …выше предела в 5000000 ячеек?

#google-sheets #csv-import

Вопрос:

У меня есть CSV-файл с менее чем 1200 строками (будет расти в будущем) и 22 столбцами (может быть, больше или меньше, позже), который я пытаюсь импортировать в таблицу Google с помощью этого скрипта

 function importCSV() {

  var file = DriveApp.getFileById("XXXXXXXXXXXX");
  var csvData = Utilities.parseCsv(file.getBlob().getDataAsString());
  var sheet = SpreadsheetApp.getActiveSheet();
  sheet.getRange(1, 1, csvData.length, csvData[0].length).setValues(csvData);

}
 

Хотя быстрый расчет показывает, что данные не превышают 30 000 ячеек, он возвращает ошибку:

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

Кто-нибудь, кто может помочь мне с этим? =(

Заранее спасибо!

Ответ №1:

Наконец, я сам нахожу решение. Просто удалите любой дополнительный/пустой столбец за пределами «Z» (26)… а это совсем немного, больше, чем мне сейчас нужно.

Погуглив, я прочитал, что Google подсчитывает все ячейки (существующие и существующие) во время выполнения сценария импорта, поэтому общее количество ячеек будет указано всеми пустыми ячейками на листе… плюс ячейки, которые будут вставлены при импорте данных.

Уменьшение количества пустых ячеек в целевом листе, по-видимому, решает проблему =)