还有其他方法可以重置字段吗

我正在尝试创建一个重置电子表格函数来清除电子表格。现在我使用循环来定义每列的值。'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);

https://img1.sycdn.imooc.com/6543a2ee0001aa8d05790270.jpg

繁花不似锦
浏览 84回答 1
1回答

BIG阳

解释:解决方案一:for您可以使用map摆脱循环。这将为您带来一些性能提升,因为map它比常规循环更快。一般来说,由于这种方法会覆盖以前的值,因此最好在设置新值之前清除内容。解决方案2:另一个想法是通过名称定义工作表对象。就我而言Sheet1。仅清除所需范围,'A2:E13'并将其他两列的值分别设置为6和0。不确定这种方法是否更快,但可能更有效。解决方案:解决方案一: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 的示例表:
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript