通过应用脚本在Google表格中设置原始值

时间:2019-03-23 19:23:50

标签: google-apps-script google-sheets

Google表格应用脚本Range.setValues函数的行为似乎与要修改的单元格的数字格式有关:

  • 如果您设置 Format-> Number-> Automatic ,它将尝试将数字字符串解析为数字。
  • 如果您设置 Format-> Number-> Plain text ,它将布尔false强制为字符串"false"

我最喜欢的是一种明智的行为,类似于Google Sheets API v4,在这里您可以force it to interpret values as raw.

我要寻找的是明确的行为,其中使用javascript

  • 字符串""保持字符串不变。
  • 数字1.23留下的数字。
  • 布尔值true保持布尔值。
  • 日期Date(...)停留的日期。

有人知道这样的事情是否可能吗?

1 个答案:

答案 0 :(得分:0)

当您使用 Format-> Number-> Automatic 时,有一种解决方法。

function sanitizeData(data) {
  return data.map(function(row) {
    return row.map(function(value) {
      return typeof value === 'string' ? "'" + value : value;
    });
  });
}

如果数字格式明确设置为纯文本,则此操作将失败。但是,您可以使用clear(options) method清除格式。