动态生成列数

Generate number of columns dynamically

这两个函数运行良好,但我意识到列数应该动态生成。你能帮我做吗?谢谢! ^_^

function getTableData(){
  var ss = SpreadsheetApp.openByUrl(url);
  var ws = ss.getSheetByName("Data");
  var lr = ws.getLastRow();
  var lc = ws.getLastColumn();
  var data = ws.getRange(2,1,lr-1,lc).getDisplayValues();
  Logger.log(data);
  return data;
}

function generateTable(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];
    row.appendChild(col1);
    row.appendChild(col2);
    row.appendChild(col3);
    tbody.appendChild(row);
  });

将动态列长度存储在变量中并创建嵌套循环

样本:

var colNumber = 5; 
dataArray.forEach(function(r){
   var row = document.createElement("tr");
   for(var i = 0; i < colNumber; i++){
     var col = document.createElement("td");
     col.textContent = r[i];
     row.appendChild(col);
   }
   tbody.appendChild(row);
});

你就在附近,只需循环直到你有 lc 的列数,继续在一行中添加 td,然后在循环之后将 tr 添加到 main table