Code.gs中的函数returnObject
是否有大小限制?
我使用相同的逻辑实现了多个功能,但是当我执行以下操作时,Sheet的命名范围有6000
行(包含21列):
custom_js_file.js
google.script.run.withSuccessHandler(successHandlerMyGreatFunction).withFailureHandler(failureHandlerMyGreatFunction).myGreatFunction();
Code.gs
function myGreatFunction() {
var active_spreadsheet = SpreadsheetApp.openById("AAAA");
var active_sheet = active_spreadsheet.getSheetByName("BBBB");
var my_entries = active_sheet.getRange("my_entries_range").getValues();
var return_object = {};
return_object['my_entries'] = my_entries;
return return_object;
}
我明白了:
ScriptError:脚本已完成但返回的值不是a 支持返回类型。
我尝试过以上的变体:
getDataRange()
my_entries
而不将其添加为变量return_object
中的键值。 但我得到同样的信息。
我能想到的唯一异常是工作表有冻结的列并且有6000行 - 这些是否会对returnObject
产生负面影响?
答案 0 :(得分:0)
这是因为:
显然Date-types不是合法的参数类型或返回类型 (这也适用于数组,对象中的变量......)
来自:Google Apps Script return object in Code.gs
所以修改后的代码是:
function myGreatFunction() {
var active_spreadsheet = SpreadsheetApp.openById("AAAA");
var active_sheet = active_spreadsheet.getSheetByName("BBBB");
var my_entries = active_sheet.getDataRange().getDisplayValues();
var return_object = {};
return_object['my_entries'] = my_entries;
return return_object;
}
它使用getDisplayValues()而不是getValues()。
我不知道这是否会引发任何其他数据准确性问题等。