![](/img/trans.png)
[英]Using Google sheet script to push data from HTML form to sheet not working when sheet is not open
[英]Best way to push data in a Google Sheet from html form with javascript
我有一個簡單的html形式:
<label for="phone">Phone: </label> <input id="phone" type="text" /><br />
<label for="address">Address: </label><input id="address" type="text" /><br />
<button id="submit">Submit</button>
還有我要完成的JS代碼,用於在GSheet中推送數據(我已經創建了應用程序,並獲得了工作鏈接,例如https://script.google.com/macros/s/XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/exec )。
<script>
var submit = document.getElementById("submit");
var sample = document.getElementById("sample");
var clear = document.getElementById("clear");
submit.onclick = function(){
var phone = document.getElementById("phone").value;
var address = document.getElementById("address").value;
// i'm lost!
}
</script>
要設置電子表格中某些單元格的值,您需要首先聲明一個變量ss,以指定要使用的電子表格。 有幾種方法:
var ss = SpreadsheetApp.getActiveSheet()
如果您要從電子表格中啟動腳本,這將很好地工作。 但是,我假設腳本將由表單提交觸發,在這種情況下,您需要指定電子表格的URL:
var ss = SpreadsheetApp.openByUrl("https://docs.google.com/spreadsheets/d/ ... /edit")
接下來,指定將結果輸出到的工作表和范圍。 例如,假設您要將值3
放入工作表Sheet1
單元格A1
Sheet1
,這些僅是一些可能的情況:
ss.getRange("Sheet1!A1").setValue(3)
要么
var sheet = ss.getSheetByName("Sheet2")
sheet.getRange("A1").setValue(3)//could use A1 notation
sheet.getRange(1, 1).setValue(3)//or could use row, column
如果要一次設置多個單元格,請使用.setValues()
而不是.setValue()
並制作一個數組數組,如下所示:
var values = [[1,2],[3,4]]
sheet.getRange("A1:B2").setValues(values)
//again, could use A1 notation
sheet.getRange(1,1,2,2).setValues(values)
//this is (upmost row, leftmost column, number of rows, number of columns)
內部數組是行,因此將這樣設置A1:B2
:
A B
+-----+-----+--
1 | 1 | 2 |
+-----+-----+--
2 | 3 | 4 |
+-----+-----+--
| | |
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.