【问题标题】:Google Script Sheets API - default number formatGoogle Script Sheets API - 默认数字格式
【发布时间】:2018-02-19 23:34:05
【问题描述】:

看起来 google sheet 与 Excel 犯了同样的错误,在执行sheet.appendRow 时“提前考虑”并将值“1.1.1”转换为 2001.01.01。在插入行之前,我尝试将负责列的数字格式设置为“@”(应该是纯文本) - 但看起来无效。另一方面,在插入后做同样的事情也是无效的,因为内容已经是“日期”。 在之前添加 ' 是有效的,但这不是我需要的。

有没有办法提供默认格式或禁用这种自动转换(来自谷歌脚本)?

【问题讨论】:

  • 好吧,至少 range.setValue 按预期工作。

标签: google-sheets-api


【解决方案1】:

我有一个单元格,其中一个表格存放了由逗号分隔的可变数量的值,例如:“1、2、4、6”等 - 当只有三个答案时,谷歌通过转换“帮助”我值转换为日期对象。但它应该是一个选择列表......

这不是很漂亮,但我已经通过使用 .getDisplayValue 而不是 .getValue 管理了一个解决方法 - 它确实将单元格值更改为字符串,所以如果你需要进行进一步的操作,这些操作取决于值是数字还是其他东西,显然,这会失败。

在将问题单元格传递给 .appendRow

之前,我会覆盖数组中问题单元格的值
//getting the values
var values = s.getRange(row,1,1,lastCol).getValues()[0];
//brute force crushing of problem value
values[5] = s.getRange(row,6).getDisplayValue();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多