我目前正在使用以下代码从名为' 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>
答案 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>';
}