簡體   English   中英

使用javascript從html表單在Google表格中推送數據的最佳方法

[英]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.

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