google-apps-script - Google表格/应用程序脚本中的奇怪返回范围结果
问题描述
我有简单的数据和代码表:
function test() {
var SpreadSheet = SpreadsheetApp.getActiveSpreadsheet();
var Sheet = SpreadSheet.getSheets()[0];
var frozenRows = Sheet.getFrozenRows(); 2.0
var lastRow = Sheet.getLastRow(); // 3.0
var lastColumn = Sheet.getLastColumn(); // 3.0
var headerRange = Sheet.getRange(1, 1, frozenRows, 1); // A1:A2
var dataRange = Sheet.getRange(1 + frozenRows, 1, lastRow, lastColumn); // A3:C5
var Range = Sheet.getDataRange(); // A1:C3
我不明白为什么我从以下位置获得返回值A3:C5而不是A3:C3:
var dataRange = Sheet.getRange(1 + frozenRows, 1, lastRow, lastColumn);
Logger.log(dataRange.getA1Notation());
谢谢你。
解决方案
getRange ()方法具有以下语法getRange(row, column, numRows, numColumns)
因此,getRange(3, 1, 3, 3)
将导致一个范围
- 从第 1 列第 3 行开始 (
A3
) - ist 3 列宽
- 和 3 行长
- 所以:
A3:C:5
- 要检索范围
A3:C3
,您需要查询:getRange(3, 1, 1, 3)
- 换句话说:
var startRow = (1 + frozenRows);
var rowLength = (lastRow - startRow + 1);
var startColumn = 1;
var columnLength = (lastColumn - startColumn + 1);
var dataRange = Sheet.getRange(startRow, startColumn, rowLength, columnLength);
推荐阅读
- javascript - 文件输入转换按钮转换为 Angular 中带有文件名的上传按钮
- r - 计数为 R 的直方图
- perl - perl 检查目录中是否存在与特定模式匹配的文件名
- python - 使用动作属性时没有得到描述
- javascript - 如果在 html 表格中未选中复选框,如何隐藏一行?
- c# - 字符串参数应该只允许在.net c#中的Web api路由属性正则表达式中使用字母数字和点
- git - Git:成功将master与3.0版合并后master仍然没有得到所有更新
- java - 在 Android 的 Arraylist 中从 Firebase 检索数据
- indexing - RavenDB - 何时使用 AbstractIndexCreationTask 索引、排序和存储方法?
- css - Bootstrap 4 创建非模态对话框