如何在Google Apps Script中获取Google Sheet活动选区的所有值到数组?
解决Google Apps Script获取选中区域所有值的问题
原代码中使用getValue()只能获取选中区域的第一个单元格值,要获取所有选中单元格的值,只需将getValue()替换为getValues(),它会返回对应选区结构的二维数组,同时补全工作表的正确获取方式:
function getSelectedValues() { // 获取当前活动工作表 var activeSheet = SpreadsheetApp.getActiveSheet(); // 获取选中的区域 var selectedRange = activeSheet.getActiveRange(); // 获取区域内所有值,返回二维数组 var allValues = selectedRange.getValues(); // 后续处理示例:打印数组到日志 Logger.log(allValues); return allValues; }
数组结构说明
getValues()返回的二维数组与选区结构完全对应:
- 单行多列选区(如A1:C1):数组格式为
[[值1, 值2, 值3]] - 单列多行选区(如A1:A3):数组格式为
[[值1], [值2], [值3]] - 多行列选区(如A1:C3):数组格式为
[[行1列1, 行1列2, 行1列3], [行2列1, 行2列2, 行2列3], [行3列1, 行3列2, 行3列3]]
可选:转成一维数组
如果需要将二维数组转为一维数组(适用于单行或单列选区),可以使用flat()方法:
var flatValues = allValues.flat(); Logger.log(flatValues);
内容的提问来源于stack exchange,提问作者Pralayasimha Yedida
相关产品推荐
相关产品推荐

