新的google电子表格脚本函数setvalue将所有内容设置为字符串

时间:2014-02-25 09:01:54

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

我昨天有问题。我决定将其中一个电子表格移到新的Google Spreadsheets,它开始出现问题。

在旧的Google Spreadsheets中,一切正常:

var sh = SpreadsheetApp.getActiveSpreadsheet();
sh.getSheets()[0].getRange("A1").setValue(1);`

应将值设置为“1”,但始终将其设置为字符串“1.00000000000000”

为了确保它是我使用getSheetValues的字符串,不幸的是它确认了我的理论(它在脚本编辑器中显示类型为“String”)。 当我手动在电子表格中键入数字时,函数getSheetValues将返回Integer。

我已尝试使用setValue(parseInt(1))setValue(Number(1))来设置setValue。

这是Google Apps脚本中的错误还是我的想法中存在一些错误?

1 个答案:

答案 0 :(得分:1)

当我在新电子表格(新版本)中运行此功能时,我得到以下日志结果......

function test(){
  var sh = SpreadsheetApp.getActiveSpreadsheet();
  sh.getSheets()[0].getRange("C1").setValue(1);
  Logger.log(  typeof(sh.getSheets()[0].getRange("C1").getValue()));
}

enter image description here

但是如果我将单元格中的格式设置为'纯文本'那么显然我会得到一个字符串......没有什么异常我猜......

enter image description here


编辑这似乎仅在电子表格设置设置为美国时有用,我尝试了其他格式并获得奇怪的结果 ...请参阅下面的评论。