我正在使用 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()
辅助函数教程已经支持编写单个对象的能力。不过,要使用它,您需要提供可选参数 optHeadersRange
和 optFirstDataRowIndex
。
如果我们假设您的 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/