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

标签 javascript google-apps-script google-sheets google-sheets-api

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

Product table

最佳答案

说明:

解决方案 1:

  • 您可以使用 map 摆脱 for 循环。 。这将为您带来一些性能提升,因为 map 比常规循环更快。

  • 通常,由于此方法会覆盖以前的值,因此最好在设置新值之前清除内容。

解决方案 2:

  • 另一个想法是通过名称定义工作表对象。就我而言 Sheet1。仅清除所需范围 'A2:E13' 并将其他两列的值分别设置为 60。不确定这种方法是否更快,但可能更有效。

解决方案:

解决方案 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 的示例表:

example

关于javascript - 还有其他方法可以重置字段吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65249018/

相关文章:

javascript - 是否有用于强制方法签名的 Javascript 库?

javascript - 在多个浏览器窗口/选项卡中拖放

javascript - 选择从push.apply([user.email, user.groupName])构建的数组的左侧部分

google-sheets - Google 表格 - 如何删除单元格内带有文本的所有括号?

google-apps-script - 添加上面的新行时,如何获取范围的实际位置

javascript - Selenium:使用 C# 在 IWebElement 上触发鼠标滚轮

javascript - 是否可以动态地将 JSX 添加到 React 代码中

javascript - Google Apps 脚本中的条件正则表达式

javascript - 使用 JavaScript 将字母字符递增到下一个字符

google-sheets - 仅对符合条件(另一列)的行求和