Google Script Sheets API - 默认数字格式

时间:2017-06-28 17:44:30

标签: google-sheets-api

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

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

1 个答案:

答案 0 :(得分:0)

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

它并不漂亮,但我通过使用 .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();