Параметры пользовательской функции слишком велики - PullRequest
0 голосов
/ 03 июля 2019

Существует Google Sheets с более чем 2000 строк и более 500 столбцов, а также пользовательская функция скрипта Google Apps, которая принимает диапазон ячеек в качестве параметра и передает свои данные во внешний API.

Вызовы функций вследующая форма: =someFunctionName(A1:SG1000)

Обработка параметров:

function someFunctionName(arr) {

  ...

  var payload = JSON.stringify({
    'rows': arr
  });

  ...
}

Проблема в том, что существует ограничение на размер параметров пользовательской функции скрипта Google Apps.

Если вызов функции для ста строк, все работает нормально, но при наличии нескольких сотен строк возникнет ошибка ограничения:

"Слишком большие параметры пользовательских функций."

Есть ли способ определить пользовательскую функцию скрипта Google Apps для больших параметров пользовательских функций?

1 Ответ

1 голос
/ 03 июля 2019

Возьмите диапазон ячеек в виде строки:

=someFunctionName("A1:SG1000")

Преобразовать строку в диапазон и получить значения в: [][]

function someFunctionName(arr) {

  ...

  var rVals = SpreadsheetApp.getActiveSpreadsheet().getRange(arr).getValues();
  var payload = JSON.stringify({
    'rows': rVals
  });

  var payload = JSON.stringify({
    'rows': arr
  });

  ...
}
...