javascript - 修改 JavaScript 对象并使用 setRowsData 写入单个单元格

标签 javascript google-apps-script google-sheets

我正在使用 getRowsData 检索信息,但我想修改 JS 对象中存储的值,然后将修改后的值写回到单元格中。我想使用使用 getRowsData 创建的规范化 header 变量写回单元格。因此,如果我使用

检索信息
var thirdEmployee = employeeObjects[2];
var stringToDisplay = "The third column is: " + thirdEmployee.firstName + " " + thirdEmployee.lastName;
stringToDisplay += " (id #" + thirdEmployee.employeeId + ") working in the ";
stringToDisplay += thirdEmployee.department + " department and with phone number ";
stringToDisplay += thirdEmployee.phoneNumber;
ss.msgBox(stringToDisplay);

然后,例如,我将为 Javascript 对象 thirdEmployee.phoneNumber; 分配一个新值,然后将其写入范围中的正确位置(即,基于事件行、列号)在标题上)。

thirdEmployee.phoneNumber = "123-555-5555";
thirdEmployee.phoneNumber.setNewValue();
  or
setNewValue.thirdEmployee.phoneNumber;

基本上,它是 setRowsData 的修改版本,但允许修改一个对象,然后根据标题的事件行和列告诉该对象写入电子表格。

有人使用或知道如何执行此操作吗?

最佳答案

Writing Data from JavaScript Objects to a Spreadsheet 中的 setRowsData() 辅助函数教程已经支持编写单个对象的能力。不过,要使用它,您需要提供可选参数 optHeadersRangeoptFirstDataRowIndex

如果我们假设您的 header 位于第 1 行,则更新 thirdEmployee 的方法如下:

var headersRange = sheet.getRange(1, 1, 1, sheet.getLastColumn());
var thirdEmployee = employeeObjects[2];
...
thirdEmployee.phoneNumber = "123-555-5555";

setRowsData(sheet, [thirdEmployee], headersRange, 3 );

关于javascript - 修改 JavaScript 对象并使用 setRowsData 写入单个单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17373032/

相关文章:

javascript - 捕获 .bs.dropdown 事件

google-apps-script - 如果值超过谷歌电子表格中的特定数字,则更改单元格背景颜色

google-apps-script - 在 Google Docs 中以编程方式创建锚定评论

google-apps-script - 单元格是公式吗?在谷歌脚本中

google-apps-script - 通过应用脚本将新行添加到Google电子表格单元格中的文本

javascript - JSON 中的键缺少引号

javascript - 在 ASP.NET Web 窗体中的 JavaScript 中使用 abp.services

javascript - 相机注视矢量

javascript - 通过谷歌应用程序脚本向不和谐发送消息

javascript - 如何获取幻灯片的语言?