我正在尝试创建一个重置电子表格函数来清除电子表格。
现在我使用循环来定义每列的值。 'Dikte'
需要设置为6
。第一列必须为假。 clearContent
清除所有内容。有更好的方法吗?
var values = [];
for (i = 0; i < 12; i++) {
values.push([false,'','','','','6','0'])
}
var oldoak_data = SS.getRangeByName('oldoak_data').setValues(values);
最佳答案
说明:
解决方案 1:
您可以使用 map 摆脱
for
循环。 。这将为您带来一些性能提升,因为map
比常规循环更快。通常,由于此方法会覆盖以前的值,因此最好在设置新值之前清除内容。
解决方案 2:
- 另一个想法是通过名称定义工作表对象。就我而言
Sheet1
。仅清除所需范围'A2:E13'
并将其他两列的值分别设置为6
和0
。不确定这种方法是否更快,但可能更有效。
解决方案:
解决方案 1:
function resetFields() {
const SS = SpreadsheetApp.getActive();
const rng = SS.getRangeByName('oldoak_data');
const values = rng.getValues().map(r=>[false,'','','','','6','0'])
rng.clearContent();
rng.setValues(values);
}
解决方案 2:
function resetFields() {
const SS = SpreadsheetApp.getActive();
const SH = SS.getSheetByName('Sheet1');
const rngClear = SH.getRange('A2:E13');
rngClear.clearContent();
SH.getRange('F2:F13').setValue(6);
SH.getRange('G2:G13').setValue(0);
}
解决方案 2 的示例表:
关于javascript - 还有其他方法可以重置字段吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65249018/