Home > OS >  Saving a floating value to a google sheet using a script
Saving a floating value to a google sheet using a script

Time:03-17

I want to use google script to make a request and save some data on google sheet. The problem is when I try to pass some non integer values as parameters in the request. I think it's something to do with the fact that sheets uses comma for separating decimal from integer while my program sends the numbers separated by a dot.

This is where I am now:


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

When I make a post request with parameters: { temp:1.234, peso:1.234 } the result on google sheet is a big mess.

Does someone have any idea how to fix this?

edit:

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

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

This works fine... don't know if it can help you debug.

CodePudding user response:

Post Data to Sheet

I don't actually do this all that much so I am by no means an expert at it

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()}};
  const resp=UrlFetchApp.fetch(url,params);
  Logger.log(url);
  Logger.log(resp.getContentText("UTF-8"));
}

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

This worked for me.

  • Related