javascript - 通过可编辑的html表格编辑Google Sheet数据

标签 javascript google-apps-script google-sheets

我正在尝试通过 html 表编辑 google 工作表数据,我已成功更新 HTML 表中的数据,但无法编辑 html 表和 google 工作表中的相同数据。

HTML 输出表中的 Googlesheet 数据为:

   function list(){
    var percentiles = SpreadsheetApp.openByUrl(url).getSheetByName("Advance").getRange(2,3).getValues();
    var rawScores = SpreadsheetApp.openByUrl(url).getSheetByName("Advance").getRange(2,4).getValues(); 
    var input = rawScores.indexOf(console);
    Logger.log(input); 
    function map(input) {   
      for (var i = 0; i <rawScores.length; i++) {
        if (rawScores[i] >= input) {
           return percentiles[i];
         }
       }
     } 
   }

下面是我用来更新 HTMLtable 的脚本:-

<script>   
   document.addEventListener('DOMContentLoaded', function() {
   google.script.run.withSuccessHandler(generate).getTable();

   });

   function generate(dataArray){
   var tbody = document.getElementById("table-body");
   dataArray.forEach(function(r){
   var row =document.createElement("tr");
   var col1 =document.createElement("td");
   col1.textContent = r[0];
   var col2 =document.createElement("td");
   col2.textContent = r[1];
   var col3 =document.createElement("td");
   col3.textContent = r[2];
   var col4 =document.createElement("td");
   col4.textContent = r[3];
   var col5 =document.createElement("td");
   col5.textContent = r[4];
   var col6 =document.createElement("td");
   col6.textContent = r[5];
   var col7 =document.createElement("td");
   col7.textContent = r[6];
   var col8 =document.createElement("td");
   col8.textContent = r[7];
   var col9 =document.createElement("td");
   col9.textContent = r[8];
   var col10 =document.createElement("td");
   col10.textContent = r[9];

   row.appendChild(col1);
   row.appendChild(col2);
   row.appendChild(col3);
   row.appendChild(col4);
   row.appendChild(col5);
   row.appendChild(col6);
   row.appendChild(col7);
   row.appendChild(col8);
   row.appendChild(col9);
   row.appendChild(col10);
   tbody.appendChild(row);
   });
   }




</script>

最佳答案

Google 表格表格只能通过 Apps 脚本函数在服务器端更新。

我假设您正在使用网络应用程序。

您可以使用 google.script.run 从项目的 HTML 文件调用 Apps 脚本函数。 .

示例:

  • 定义变量 dataArray 后实现到 HTML 文件中
<script>
  ...
  google.script.run.updateTable(dataArray);
  ...
</script>
  • 在项目的 .gs 部分创建一个函数 updateTable(dataArray),类似于
function updateTable(dataArray){
  var myValues=[];
  myValues[0]=[];
  for(var i=0; i<dataArray.length;i++){
    myValues[0][i]=dataArray[i];
  }
  var myRow=SpreadsheetApp.openByUrl(url).getSheetByName("MY SHEET").getRange("The Range Of My Row"); // e.g. getRange(1,1,1,10); to obtain the first 10 columns of the first row
  myRow.setValues(myValues);
}

关于javascript - 通过可编辑的html表格编辑Google Sheet数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59593090/

相关文章:

javascript - Google Apps 脚本 - 从另一个工作表导入工作表值

javascript - 每次点击时导航并显示单个 div

javascript - 如何在 Jest 测试中比较(匿名)函数?

javascript - 使用 jQuery 和 CSS 根据另一个 div 的文本更改背景颜色

javascript - 如何使用 Javascript 在 Google 表单上发送对多选问题的回复

google-apps-script - Google Apps 脚本实用程序.base64Decode 异常 : Could not decode string

javascript - 谷歌脚本: how to set Array Value on google sheet to specific rows/column

javascript - angular.js - 用西类牙语包装货币符号和小数

google-apps-script - 在 Google 幻灯片的布局上添加点划线

javascript - 循环期间出现 Google Sheet Script Null 错误