Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/90.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 当我试图从Google Sheets获取数据时,如果该数据包含日期或时间,则不会将其获取到Google应用程序脚本中_Javascript_Html_Google Apps Script_Google Sheets - Fatal编程技术网

Javascript 当我试图从Google Sheets获取数据时,如果该数据包含日期或时间,则不会将其获取到Google应用程序脚本中

Javascript 当我试图从Google Sheets获取数据时,如果该数据包含日期或时间,则不会将其获取到Google应用程序脚本中,javascript,html,google-apps-script,google-sheets,Javascript,Html,Google Apps Script,Google Sheets,我在许多网站上搜索了这些信息,但不幸的是我没有找到。我使用谷歌的一个应用程序脚本从谷歌工作表获取数据,我使用的代码从谷歌工作表获取数据;无法传递任何包含日期或时间的数据,例如2021/01/01或12:00 AM或12:00:00,但在删除日期或时间时,提取数据可以正常工作 使用的技术:谷歌应用程序脚本、谷歌工作表 问题是:无论数据类型如何,如何获取数据? Code.gs它可以正常工作 var ss1 = "1bqKXcD2uXUIegqsb4pwieuhwe29-3872_Kj50k

我在许多网站上搜索了这些信息,但不幸的是我没有找到。我使用谷歌的一个应用程序脚本从谷歌工作表获取数据,我使用的代码从谷歌工作表获取数据;无法传递任何包含日期或时间的数据,例如
2021/01/01
12:00 AM
12:00:00
,但在删除日期或时间时,提取数据可以正常工作

使用的技术:谷歌应用程序脚本、谷歌工作表

问题是:无论数据类型如何,如何获取数据?

Code.gs它可以正常工作

var ss1 = "1bqKXcD2uXUIegqsb4pwieuhwe29-3872_Kj50kfvvXU";
function getLicenseExpirationData(){

  //Get spread sheet with id = to var ss1
  var ss = SpreadsheetApp.openById(ss1);
  //Get spread sheet named Reports
  var ws = ss.getSheetByName("Reports");
  //Get data from a spread sheet
  var LicenseExpirationData = ws.getRange(2, 1,ws.getLastRow()-1,9).getValues();
  //After geting all data return it so we can use it
  return LicenseExpirationData;
};
<table class="mt-0 pt-0 table">
      <thead>
        <tr>
        <th>Date</th>
        <th>Name</th>
        <th>Num</th>
        <th>Data2</th>
        <th>Data3</th>
        <th>Data4</th>
        <th>Data5</th>
        <th>Data6</th>
        <th>Data7</th>
        <tr>
      </thead>
      <!--Display table result on id body-table-->
      <tbody id="ExpirationData">
      </tbody>
   </table>
TableScript.html我想问题就在这里

    document.addEventListener("DOMContentLoaded",function(){
    //Get all result from google sheet and if you did get it display it or do display error
    google.script.run.withSuccessHandler(generateExpirationTable).getLicenseExpirationData();

    });
    //function name generateTable
    function generateExpirationTable(dataArray){
    //Display result inside in id with name ExpirationData
    var tbody = document.getElementById("ExpirationData");
    //Do this for each result
    dataArray.forEach(function(r){
        //Create Element <tr>
        var row = document.createElement("tr");
        //Create Element <td> for column1
        var column1 = document.createElement("td");
        //Display result1 inside <td>
        column1.textContent = r[0];
        //Create Element <td> for column2
        var column2 = document.createElement("td");
        //Display result2 inside <td>
        column2.textContent = r[1];
        //Create Element <td> for column3
        var column3 = document.createElement("td");
        //Display result3 inside <td>
        column3.textContent = r[2];
        //Create Element <td> for column3
        var column4 = document.createElement("td");
        //Display result4 inside <td>
        column4.textContent = r[3];
        //Create Element <td> for column3
        var column5 = document.createElement("td");
        //Display result5 inside <td>
        column5.textContent = r[4];
        //Create Element <td> for column3
        var column6 = document.createElement("td");
        //Display result6 inside <td>
        column6.textContent = r[5];
        //Create Element <td> for column3
        var column7 = document.createElement("td");
        //Display result7 inside <td>
        column7.textContent = r[6];
        //Create Element <td> for column3
        var column8 = document.createElement("td");
        //Display result8 inside <td>
        column8.textContent = r[7];
        //Create Element <td> for column3
        var column9 = document.createElement("td");
        //Display result9 inside <td>
        column9.textContent = r[8];
        //Create Element <td> for column3
        var column10 = document.createElement("td");
        //Display result10 inside <td>
        column10.textContent = r[9];
        //Move to next column
        row.appendChild(column1);
        //Move to next column
        row.appendChild(column2);
        //Move to next column
        row.appendChild(column3);
        //Move to next column
        row.appendChild(column4);
        //Move to next column
        row.appendChild(column5);
        //Move to next column
        row.appendChild(column6);
        //Move to next column
        row.appendChild(column7);
        //Move to next column
        row.appendChild(column8);
        //Move to next column
        row.appendChild(column9);
        //Move to next row
        row.appendChild(column10);
        //Move to next row
        tbody.appendChild(row);
    
    });
    };
    function showError() {
        alert('Error!');
    }
document.addEventListener(“DOMContentLoaded”,function()){
//从GoogleSheet中获取所有结果,如果您确实获得了结果,则显示它或显示错误
google.script.run.withSuccessHandler(generateExpirationTable).getLicenseExpirationData();
});
//可生成的函数名
函数generateExpirationTable(dataArray){
//在名为ExpirationData的id中显示结果
var tbody=document.getElementById(“ExpirationData”);
//对每个结果执行此操作
dataArray.forEach(函数(r){
//创建元素
var行=document.createElement(“tr”);
//为column1创建元素
var column1=document.createElement(“td”);
//在内部显示结果1
column1.textContent=r[0];
//为column2创建元素
var column2=document.createElement(“td”);
//在内部显示结果2
column2.textContent=r[1];
//为第3列创建元素
var column3=document.createElement(“td”);
//在内部显示结果3
column3.textContent=r[2];
//为第3列创建元素
var column4=document.createElement(“td”);
//在内部显示结果4
column4.textContent=r[3];
//为第3列创建元素
var column5=document.createElement(“td”);
//内部显示结果5
column5.textContent=r[4];
//为第3列创建元素
var column6=document.createElement(“td”);
//在内部显示结果6
column6.textContent=r[5];
//为第3列创建元素
var column7=document.createElement(“td”);
//在内部显示结果7
column7.textContent=r[6];
//为第3列创建元素
var column8=document.createElement(“td”);
//在内部显示结果8
column8.textContent=r[7];
//为第3列创建元素
var column9=document.createElement(“td”);
//在内部显示结果9
column9.textContent=r[8];
//为第3列创建元素
var column10=document.createElement(“td”);
//在内部显示结果10
column10.textContent=r[9];
//移到下一列
行。追加子项(第1列);
//移到下一列
行。追加子项(第2列);
//移到下一列
行。追加子项(第3列);
//移到下一列
行。追加子行(第4列);
//移到下一列
行。追加子行(第5列);
//移到下一列
第行。追加子项(第6列);
//移到下一列
第行。追加子项(第7列);
//移到下一列
行。追加子行(第8列);
//移到下一列
第行。追加子行(第9列);
//移到下一行
行。追加子行(第10列);
//移到下一行
tbody.appendChild(世界其他地区);
});
};
函数名为ror(){
警报('错误!');
}
以Html格式查看项目它可以正常工作

var ss1 = "1bqKXcD2uXUIegqsb4pwieuhwe29-3872_Kj50kfvvXU";
function getLicenseExpirationData(){

  //Get spread sheet with id = to var ss1
  var ss = SpreadsheetApp.openById(ss1);
  //Get spread sheet named Reports
  var ws = ss.getSheetByName("Reports");
  //Get data from a spread sheet
  var LicenseExpirationData = ws.getRange(2, 1,ws.getLastRow()-1,9).getValues();
  //After geting all data return it so we can use it
  return LicenseExpirationData;
};
<table class="mt-0 pt-0 table">
      <thead>
        <tr>
        <th>Date</th>
        <th>Name</th>
        <th>Num</th>
        <th>Data2</th>
        <th>Data3</th>
        <th>Data4</th>
        <th>Data5</th>
        <th>Data6</th>
        <th>Data7</th>
        <tr>
      </thead>
      <!--Display table result on id body-table-->
      <tbody id="ExpirationData">
      </tbody>
   </table>

日期
名称
号码
数据2
数据3
数据4
数据5
数据6
数据7
两件事:

  • 从Google Sheets检索日期对象时,最好使用它,而不是
    getValues()

  • 将数组从code.gs传递到客户端时,请将其作为字符串传递,即:
    JSON.stringify()
    应用程序脚本端的数组,然后在Javascript端再次返回
    JSON.parse()


  • 这是参考文档中应用程序脚本中客户端-服务器交互的明确说明行为。这是否回答了您的问题?