使用脚本将浮点值保存到 google sheet

Saving a floating value to a google sheet using a script

我想使用 google 脚本发出请求并在 google sheet 上保存一些数据。 问题是当我尝试将一些非整数值作为请求中的参数传递时。 我认为这与以下事实有关:sheets 使用逗号将小数点与整数分开,而我的程序发送由点分隔的数字。

这是我现在所在的位置:


const doPost = (event) => {
  console.log(`doPost`, JSON.stringify(event));

  const { parameter } = event;
  const { temp, peso } = parameter;
  var date = new Date();

  var sheet = SpreadsheetApp.getActiveSheet();
  sheet.appendRow([date, parseFloat(temp), peso]);
}

当我使用参数发出 post 请求时:{ temp:1.234, peso:1.234 } google sheet 上的结果是大混乱。

有人知道如何解决这个问题吗?

编辑:

function Test(){
  var sheet = SpreadsheetApp.getActiveSheet();
  var d = 1.23456;

  var date = new Date();
  sheet.appendRow([date, d]);
}

这个很好用...不知道能不能帮你调试

Post 数据到 Sheet

我实际上并没有做那么多,所以我绝不是这方面的专家

function doPost(e) {
  Logger.log(e.postData.contents);
  const ss = SpreadsheetApp.getActive();
  const sh = ss.getSheetByName("Sheet1");
  let data = JSON.parse(e.postData.contents);
  sh.appendRow([data.first,data.second])
}


function sendData(obj) {
  const url = ScriptApp.getService().getUrl();
  const params={"payload":JSON.stringify(obj),"muteHttpExceptions":true,"method":"post","headers": {"Authorization": "Bearer " +  ScriptApp.getOAuthToken()}};
  UrlFetchApp.fetch(url,params);
}

function saveMyData() {
  sendData({first:"1.234",second:"1.432"});
}

这对我有用。

终于想通了!

问题出在 google sheet 文件的设置中。 我来自意大利,所以它默认输入意大利格式。由于某些原因,这会弄乱所有新条目。解决办法很简单:把格式改成英文格式,问题就解决了!