【发布时间】:2019-06-11 01:22:41
【问题描述】:
编辑:在其他人的大力帮助下,我能够找到解决方案。
我正在从 Google 电子表格中获取数据,然后尝试将其呈现为 WebApp 中的 HTML 表格。
我希望数据显示如下
<tr>
<td>
<td>
<td>
与电子表格中的外观完全相同,每个值都位于单独的单元格中。
大局,我希望能够对每个<td> 做不同的事情,所以我想确保我以一种可用的方式构建数据。
代码.GS
function doGet() {
return HtmlService.createHtmlOutputFromFile('Index');
}
function webAppTest() {
getTeamArray();
}
function getTeamArray() {
var ss = SpreadsheetApp.getActive();
var sheet = ss.getSheetByName('Sheet1');
var range = sheet.getRange('A2:H1000');
var values = range.getValues();
//Logger.log(values);
var teamsArray = [];
for (var i = 0; i < values.length; ++i) {
var column = values[i];
var colA = column[0];
var colB = column[1];
var colC = column[2];
var colD = column[3];
var colE = column[4];
var colF = column[5];
var colG = column[6];
var colH = column[7];
if (colA != '') {
teamsArray.push(values[i][0]);
teamsArray.push(values[i][3]);
teamsArray.push(values[i][4]);
}
}
var array2 = [];
while(teamsArray.length) array2.push(teamsArray.splice(0,3));
var lengthDivName2 = array2.length;
var widthDivName2 = array2[0].length;
//Logger.log(teamsArray);
Logger.log(array2);
//return teamsArray;
return array2;
}
Index.HTML 函数
function buildOptionsList(teamsArray) {
var div = document.getElementById('myList');
for (var i = 0; i < teamsArray.length; i++) {
var tr = document.createElement('tr');
var td = document.createElement('td');
var cLass = td.setAttribute('class','ui-state-default');
var iD = td.setAttribute('id',teamsArray[i]);
td.appendChild(document.createTextNode(teamsArray[i]));
div.appendChild(tr);
div.appendChild(td);
}
}
</script>
</head>
<body>
<div id="myList" class="connectedSortable">MY LIST</div>
</body>
</html>
尝试 1
尝试 2
我尝试更改 code.gs 中的数组创建,它在 <tr> 中获得了所有正确的数据,但没有拆分为 <td>s
【问题讨论】:
-
为了正确理解您的问题,您能否提供示例输入数据和您想要的输出?我认为这些信息会帮助用户思考你的解决方案。
-
我实际上更喜欢在服务器端做这样的事情。看看我昨天做的this example。
-
预期输出如上。 “我希望它显示为......”所以每个 CSV 都是它自己的
<td>。我可以添加teamsArray的来源。 -
已更新。谢谢!
-
Cooper,我确实尝试在服务器端创建 HTML,但 HTML 实际上没有返回任何内容。我采用了你所做的并应用了我自己的变量。
标签: javascript html google-apps-script web-applications google-sheets