如何在HTML表格中列出Google表格列范围中的条目?

时间:2018-04-10 15:28:06

标签: html google-apps-script html-table

我目前正在使用以下代码从名为' POHistory'的Google表格标签中的A栏中提取采购订单编号条目。问题是,我的条目没有在HTML UI中以垂直方式列出。相反,它们从左到右填充。你能帮忙解决吗?

更新的应用程序脚本:

function Review() {
  var html = HtmlService.createTemplateFromFile('orderHistory').evaluate();
  html.setHeight(600).setWidth(800);
   SpreadsheetApp.getUi()
  .showModalDialog(html, 'Order History');
}

function htmlOrders() {
  var active = SpreadsheetApp.getActive();
  var sheet = active.getSheetByName("POHistory");
  var lastRow = sheet.getLastRow();
  var myRange = sheet.getRange("A2:A" + lastRow); 
  var data    = myRange.getValues();
  var optionsHTML = "";
  for (var i = 0; i < data.length; i+=1) {
    optionsHTML += "<tr>";
   for(var j = 0; j < data[0].length; j++){
    optionsHTML += "<td>" + data[i][j] + "</td>";
  };
  optionsHTML += "</tr>";
  return optionsHTML;{
}

更新的HTML:

<!DOCTYPE html>
<html>
<head>
<style>
table {
    font-family: arial, sans-serif;
    border-collapse: collapse;
    width: 100%;
}

 td, th {
     border: 1px solid #dddddd;
    text-align: left;
    padding: 8px;
}

 tr:nth-child(even) {
    background-color: #dddddd;
}
 </style>
 </head>
 <body>

  <table>
   <tr>
    <th>PO Number</th>
    <th>Vendor</th>
    <th>Date</th>
    <th>Total</th>
  </tr>
   <?!= htmlOrders(); ?>
</table>
</body>
</html>

1 个答案:

答案 0 :(得分:0)

通常,要从电子表格范围构建表格,需要两个循环,一个用于行(<tr>),另一个用于单元格(<td>)。假设表格的形状(行和列)应该与电子表格中的数据相同,则以下内容应该有效:

var tableData = '';
for(var i = 0; i < data.length; i++){
  tableData += '<tr>';
  for(var j = 0; j < data[0].length; j++){
    tableData += '<td>' + data[i][j] + '</td>';
  }
  tableData += '</tr>';
}