将服务器脚本连接到页面以将新数据添加到电子表格

时间:2017-09-23 10:27:33

标签: spreadsheet serverside-javascript google-app-maker

我有一个服务器代码,用于连接员工用于输入新客户详细信息的页面。该页面还继承自Google云端硬盘表,其中包含与页面和表格相同的字段。不幸的是,我不知道如何将我的服务器代码连接到我的页面,因此当输入新数据并按下提交按钮时,将调用NewCustomer()函数并将该数据插入电子表格末尾的新行。 我上周刚开始使用appmaker,如果我的问题非常幼稚,我很抱歉。 任何帮助真的很感激。

服务器代码:

function NewCustomer() {
    var spreadSheet = SpreadsheetApp.openById("***").getActiveSheet()[0],
        dataToBackUp = [],
        globalKeys = {
          model: ["Channel", "Owner", "INQDate","CustomerName", "CNT", "Contact", "Email",
                  "Amount", "Status", "TargetDate", "Type", "Transaction", "NoteUpdate"],
          label: ["Channel", "Owner", "INQ Date","Customer Name", "CNT", "Contact", "Email",
                  "Amount", "Status", "Target Date", "Type", "Transaction", "Note Update"],
        };
    var records = app.models.requests.newQuery().run();
    if(records.length >= 1) {
      for (var i = 0; i < records.length; i++) {
        var newLine = [];
        for (var x = 0; x < globalKeys.model.length; x++) {
          newLine.push(records[i][globalKeys.model[x]]);
        }
        dataToBackUp.push(newLine);
        if(i === records.length - 1) {
          if(dataToBackUp.length >= 1) {  
               spreadSheet.appendRow(dataToBackUp);

          }
        }
      }
    }
  }

1 个答案:

答案 0 :(得分:0)

因此,如果您唯一的问题是客户端和服务器之间的通信,那么您可以使用此代码段来执行此操作:

// onClick button event handler
google.script.run
   .withFailureHandler(function(error) {
      // TODO: An error occurred, so display an error message.
    })
  .withSuccessHandler(function(result) {
     // TODO: Handle success
   })
 .myPublicServerSideFunction(param1, param2);

您可以通过以下链接了解有关客户端 - 服务器通信的更多信息:

https://developers.google.com/apps-script/guides/html/reference/run https://developers.google.com/appmaker/scripting/client#call_a_server_script

如果您要进行数据备份,则可以转到Settings -> Deployments,选择部署和Export Data。如果您想自动化该过程,那么只需切换到Cloud SQL,它就会为您进行备份。

相关问题