从google web app中的getValues函数生​​成html表

时间:2016-10-21 07:20:43

标签: google-apps-script google-sheets google-apps

现在我有工作功能从谷歌传感器表中获取值,并在谷歌网络应用程序中返回它。但它没有表视图。我怎么能把它表示为html表?

code.gs

//generate web-app
            function doGet() {
              return HtmlService.createHtmlOutputFromFile('index');
            }

            function returnCellValue(range1) {
              return SpreadsheetApp.openById('1d_qxlDQm3aAfN9zIszqmCmILCK9cVT7PpzchMHliSjM').getSheetByName('output').getRange(range1).getValues();
            }

            function test1() {
              var ss =  SpreadsheetApp.openById('1d_qxlDQm3aAfN9zIszqmCmILCK9cVT7PpzchMHliSjM').getSheetByName('output');
              returnCellValue('A2:E10');
            }

//get data from form
            function emailTech(form){
              var ss =  SpreadsheetApp.openById('1d_qxlDQm3aAfN9zIszqmCmILCK9cVT7PpzchMHliSjM').getSheetByName('output');
              var nameBox = form.techEmail;
              ss.getRange("A1").setValue(nameBox);
            }

的index.html

<script type="text/javascript">
function onSuccess(B2Value) {
document.getElementById('output').innerHTML = B2Value;
}

google.script.run.withSuccessHandler(onSuccess).returnCellValue('A2:E10');

 function formSubmit() {
            google.script.run.emailTech(document.forms[0]);
        }
</script>

<div id="output">1</div> 
     <form>
       <input type="text" value=" " name="techEmail" />
       <input type="button" onClick="formSubmit(); google.script.run.test1(); google.script.run.withSuccessHandler(onSuccess).returnCellValue('A2:E10'); google.script.run.emailTech(document.forms[0])" value="Show" />
     </form>

一切正常,我发布它就像网络应用程序一样,从表格'数据'(1024,9710,00 /等)的表格中输入文本框号码,然后在表格'输出'上的A1中设置这个数字从这张表我把数据拉到网络应用程序,但它看起来像简单的文本,而不是表格。如何在表格视图中显示它?

网页应用<{3}}

上的

链接

1 个答案:

答案 0 :(得分:2)

您没有将数据转换为HTML表格。

尝试将B2Value转换为html表,然后再将其设置为输出元素。

这是一个原始函数:

function toHTMLTable(a) {
  var content = a.map(function(row, i) {
    var rowHTML = row.map(function (col) {
      return "<td>" + col + "</td>";
    }).join("");

    return "<tr>" + rowHTML + "</tr>";
  }).join("");
  return "<table>" + content + "</table>";
}