javascript - 谷歌脚本错误: "Incorrect range width" when using setValues

标签 javascript arrays google-apps-script

尽我所能,我无法破译我在工作表中写入新行的问题。我已经这样做了好几次,并且使用 Logger.log 对此进行了彻底的调试,但我就是无法解决它。以下是我正在做的事情的摘要、代码片段和日志:

我在做什么:

  • 向工作表添加行(位于现有行下方)
  • 73 个新行存储在数组中:Grade Rows
  • 当尝试将新行写入工作表时,出现此错误: 范围宽度不正确,1 应该是 26

这是包含一些 Logger.log 的代码:

<小时/>
var BeginningRow = LastSGRowSheet + 1;

var EndingRow = BeginningRow + SGPushKtr -1;

Logger.log("BeginningRow =>" + BeginningRow + "<=, SGPushKtr =>" + SGPushKtr + "<=, Ending Row =>" + EndingRow + "<=");

var GradesRangeString = 'A' + BeginningRow + ':' + LastStudentGradesColumnLetter + EndingRow;

Logger.log("GradesRangeString =>" + GradesRangeString + "<=");

StudentGradeSheet.getRange(GradesRangeString).setValues(GradeRows);
<小时/>

错误发生在最后一行代码中。

这是日志:

17-12-31 11:51:15:763 EST] BeginningRow =>364<=, SGPushKtr =>73<=, Ending Row =>436<= [17-12-31 11:51:15:764 EST] GradesRangeString =>A364:Z436<=

最佳答案

假设您的数据数组是 dA,那么该数组中的行数是 dA.length,假设它是一个矩形数组,那么列数是 vA[0].length。所以你的输出命令必须是这样的。

sheet.getRange(firstRow,firstColumn,dA.length,dA[0].length).setValues(dA);

If you'd like to learn a little more about this problem check this out.

您还可以循环地将每一行一次一行追加到当前工作表。

关于javascript - 谷歌脚本错误: "Incorrect range width" when using setValues,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48044395/

相关文章:

javascript - Angular 嵌套 router-ui

javascript - 从使用 javascript 选择的选项中获取数组值以填充文本字段

javascript - map() 返回与对象的值对

javascript - Apps 脚本是否有等效的 Index(Match()) ?

google-apps-script - 如何在 Google 脚本中从 Gmail 线程获取确切的邮件标签?

javascript - firebase多位置更新用户身份验证和数据库

javascript - 如何使用 Puppeteer 将 css 类添加到元素

javascript - 通过单击 "button"在数组中添加值

javascript - 用于查找基于时间的事件的最佳 Javascript 算法

javascript - 按字母顺序对数组进行排序,将数字和特殊字符保留在末尾