Google Apps 脚本函数 return 值未显示在电子表格中
Google Apps Script function return value does not display on spreadsheet
多年来我一直在使用以下自定义 Google Apps 脚本,但由于某种原因它已部分停止工作。该脚本应该检索一组项目,然后将它们显示在电子表格列中。这是脚本:
function myAccounts() {
var output = [], arr = JSON.parse(createArr());
for(var i=0, iLen=arr.length; i<iLen; i++) {
output.push([arr[i][0]]);
}
output = output.sort();
return output;
}
通过使用调试器,我可以看到数组似乎已正确创建。这是函数的output
:
var arr = [
[["5383 - CATEGORY A"],["ASSESSMENT REVIEW BRD","ANNUAL FEE", "ATG ASSESS REVIEW BOARD TORONTO ", "ATG-ASSESSMENT REVIEW BRD TORONTO ",
"MPAC-PICKERING","CITIZENSHIP & IMM ON-LINEOTTAWA","JONES"]],
[["5230 - CATEGORY B"], ["RED CROSS","G(IRLS)20 SUMMIT","MOVEMBER *CHARITY","HOSP FOR SICK CHILDREN","URBAN SQUASH TORONTO"]],
[["5351 - CATEGORY C"], ["ELTE","PAYPAL *SMITH","PRAXIS INTERNATIONAL ART"]],
[["5350 - CATEGORY D"], ["PAYPAL *CANADAWIDEP","LA PARETE GALLERY","ACTIVE SURPLUS","PAYPAL *DHL EXPRESS","PRINT THREE #95","STAPLES.CA",
"FRAMING FACTORY"]],
[["5387 - CATEGORY E"], ["SWEETSERVICES","EVENT RENTAL","GLOBAL FINANCIAL","IVISA SERVICES NORTH SYDNEY","QUEST HENDERSON",
"SLS HOTEL BEVERLY HILLS","LITTLE TIKES","FAIRY FLOWER","FARICY PTY LTD","VISTAPRINT.AU","MYBAGSCOMPA","ITS MY PARTY","PAYPAL *CAMILLEPRIN"]]
]
出于某种原因,此 output
在调用该函数的电子表格的单元格中未出现。它不会抛出错误,只是让单元格完全空白。
知道可能出了什么问题吗?谢谢。
输出需要是一个值、一个数组或数组的数组。
您有一个数组数组,Sheets 不知道如何处理。
尝试通过使输出为
来删除一级
[["CATEGORY A"], ["CATEGORY B"], ["CATEGORY C"]]
这将 return 一行三列。
您可以通过编写 output.push(arr[i][0]);
.
从我在代码中看到的内容来做到这一点
我假设 arr[i][0]
已经是一个元素数组。这就是为什么会发生这种情况。
多年来我一直在使用以下自定义 Google Apps 脚本,但由于某种原因它已部分停止工作。该脚本应该检索一组项目,然后将它们显示在电子表格列中。这是脚本:
function myAccounts() {
var output = [], arr = JSON.parse(createArr());
for(var i=0, iLen=arr.length; i<iLen; i++) {
output.push([arr[i][0]]);
}
output = output.sort();
return output;
}
通过使用调试器,我可以看到数组似乎已正确创建。这是函数的output
:
var arr = [
[["5383 - CATEGORY A"],["ASSESSMENT REVIEW BRD","ANNUAL FEE", "ATG ASSESS REVIEW BOARD TORONTO ", "ATG-ASSESSMENT REVIEW BRD TORONTO ",
"MPAC-PICKERING","CITIZENSHIP & IMM ON-LINEOTTAWA","JONES"]],
[["5230 - CATEGORY B"], ["RED CROSS","G(IRLS)20 SUMMIT","MOVEMBER *CHARITY","HOSP FOR SICK CHILDREN","URBAN SQUASH TORONTO"]],
[["5351 - CATEGORY C"], ["ELTE","PAYPAL *SMITH","PRAXIS INTERNATIONAL ART"]],
[["5350 - CATEGORY D"], ["PAYPAL *CANADAWIDEP","LA PARETE GALLERY","ACTIVE SURPLUS","PAYPAL *DHL EXPRESS","PRINT THREE #95","STAPLES.CA",
"FRAMING FACTORY"]],
[["5387 - CATEGORY E"], ["SWEETSERVICES","EVENT RENTAL","GLOBAL FINANCIAL","IVISA SERVICES NORTH SYDNEY","QUEST HENDERSON",
"SLS HOTEL BEVERLY HILLS","LITTLE TIKES","FAIRY FLOWER","FARICY PTY LTD","VISTAPRINT.AU","MYBAGSCOMPA","ITS MY PARTY","PAYPAL *CAMILLEPRIN"]]
]
出于某种原因,此 output
在调用该函数的电子表格的单元格中未出现。它不会抛出错误,只是让单元格完全空白。
知道可能出了什么问题吗?谢谢。
输出需要是一个值、一个数组或数组的数组。
您有一个数组数组,Sheets 不知道如何处理。
尝试通过使输出为
[["CATEGORY A"], ["CATEGORY B"], ["CATEGORY C"]]
这将 return 一行三列。
您可以通过编写 output.push(arr[i][0]);
.
从我在代码中看到的内容来做到这一点
我假设 arr[i][0]
已经是一个元素数组。这就是为什么会发生这种情况。