簡體   English   中英

使用腳本將浮動值保存到谷歌表格

[英]Saving a floating value to a google sheet using a script

我想使用谷歌腳本發出請求並在谷歌表格上保存一些數據。 問題是當我嘗試將一些非 integer 值作為請求中的參數傳遞時。 我認為這與以下事實有關:工作表使用逗號將小數點與 integer 分開,而我的程序發送由點分隔的數字。

這就是我現在的位置:


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]);
}

當我使用參數發出發布請求時:{ temp:1.234, peso:1.234 } 谷歌表格上的結果是一團糟。

有人知道如何解決這個問題嗎?

編輯:

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

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

這工作正常......不知道它是否可以幫助你調試。

將數據發布到工作表

我實際上並沒有做那么多,所以我絕不是這方面的專家

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"});
}

這對我有用。

終於想通了!

問題出在谷歌表格文件的設置中。 我來自意大利,所以它默認輸入意大利格式。 由於某些原因,這會弄亂所有新條目。 解決辦法很簡單:把格式改成英文格式,問題就解決了!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM