Google Sheets脚本sort方法报错:无法将[object Object]转为int的咨询
解决Google Apps Script中Sheet.sort()对象参数报错及降序排序问题
错误原因
你遇到的Exception: Cannot convert '[object Object]' to int错误,是因为Google Apps Script的Sheet.sort()方法不支持传入对象作为参数。该方法的标准签名有两种:
sort(columnIndex):仅传入整数类型的列索引,默认按升序排序整个数据区域sort(columnIndex, ascending):传入列索引+布尔值参数,通过ascending的true/false控制升序/降序
你参考的写法可能混淆了其他类似API或非官方旧文档,但当前GAS的官方实现里,Sheet.sort()并不接受{column: x, ascending: y}这样的对象参数,引擎尝试将对象转换为整数类型的列索引时失败,从而抛出错误。
正确的降序排序代码
要实现按第4列降序排序整个工作表,直接使用带两个参数的sort()方法即可:
function specialSort(){ var sheet = SpreadsheetApp.getActive().getSheetByName('DATA'); // 第一个参数为列索引(4对应第4列),第二个参数false表示降序排序整个数据区域 sheet.sort(4, false); }
该方法会自动对工作表中包含数据的完整区域进行排序,并非仅排序第4列,完全匹配你的需求。
内容的提问来源于stack exchange,提问作者Doubt
相关产品推荐
相关产品推荐

