![](/img/trans.png)
[英]How to return a value using Date picker in HTMLService / Google Script / Sheet?
[英]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.