brl*_*rl8 6 google-sheets google-apps-script
我有一个13维日期的维度数组,我想把它放在电子表格行中.
当我调试这段代码时:
if (arrDates.length > 0) {
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
var destSheet = spreadsheet.getSheetByName("Employee Capacity Detail");
destSheet.getRange("C2").offset(0,0,arrDates.length).setValues(arrDates);
}
Run Code Online (Sandbox Code Playgroud)
我收到此错误消息:"无法转换(类)@ 7c02952c到Object [] []." 在这条线上:
destSheet.getRange("C2").offset(0,0,arrDates.length).setValues(arrDates);
Run Code Online (Sandbox Code Playgroud)
我也试过这个:
destSheet.getRange(1, 3, 1, 14).setValues(arrDates);
Run Code Online (Sandbox Code Playgroud)
还有这个:
var destRange = destSheet.getRange("C2:P2");
destRange.setValues(arrDates);
Run Code Online (Sandbox Code Playgroud)
并得到相同的错误.
在调试器中,我可以看到arrDates按预期填充了14个日期.
谷歌搜索此错误消息没有出现任何问题.有没有人对我收到此错误的原因有什么想法,或者我可能会做些什么来进一步排除故障?
Ada*_*amL 16
https://developers.google.com/apps-script/reference/spreadsheet/range#setValues(Object)
这里的关键是,当您在电子表格范围中填充(或从中检索数据)时,您必须始终"设置"二维数组,即使范围是一行高.在Javascript中,这将是"数组数组",其中外部数组表示行,内部数组表示每行中的单元格.
大概你的arrDates数组是这样的:
[date1,date2,date3 ...]
什么时候需要像这样:
[[date1,date2,date3 ...]]
您使用该new Array(arrDates)
语句实现的,或者您也可以使用:
destSheet.getRange(1, 3, 1, 14).setValues([arrDates]));
归档时间: |
|
查看次数: |
9689 次 |
最近记录: |