如何将Google电子表格中的数据导入Javascript?

时间:2013-05-10 15:01:37

标签: javascript html excel google-sheets spreadsheet

我只是想知道如何在google docs或者excel文档中获取电子表格的第一个单元格,并将其作为字符串输出到html文档中的javascript中。

我拥有的: 标有“Website.html”

的html文档
<!DOCTYPE html>
<html>
     <head>
        <script>
          var textDisplay = Some code to import spreadsheet cell text;
          document.getElementById("display").innerHTML = textDisplay;
        </script>
     </head>
    <body>
        <p id="display"></p>
    </body>
</html>

我在同一个文件夹中有另一个文件,标记为:“Spreadsheet.xcel”(或任何文件类型) 第一个单元格包含文本:“Hello” 如何将电子表格中的文本导入到html doc的javascript中?

感谢您的帮助! -Rext

2 个答案:

答案 0 :(得分:9)

您的解决方案将取决于您的数据来源;你包括,所以这里有一个答案。只是陈述明显的开始:谷歌电子表格不会是你服务器上的文件,而是在谷歌硬盘中的“云”。

您可以从javascript中检索谷歌电子表格的内容,这里有一些示例:

将一个数据单元格检索为字符串的基本思路:

实施例

function loadData() {
  var url="https://docs.google.com/spreadsheet/pub?key=p_aHW5nOrj0VO2ZHTRRtqTQ&single=true&gid=0&range=A1&output=csv";
  xmlhttp=new XMLHttpRequest();
  xmlhttp.onreadystatechange = function() {
    if(xmlhttp.readyState == 4 && xmlhttp.status==200){
      document.getElementById("display").innerHTML = xmlhttp.responseText;
    }
  };
  xmlhttp.open("GET",url,true);
  xmlhttp.send(null);
}
<html>
  <body>
    <button type="button" onclick="loadData()">Load Spreadsheet Data</button>
    <div id="display"></div>
  </body>
</html>

您还可以将其视为jsfiddle here

感谢GPSVisualizer,他们非常友好地发布了我可以用于此示例的公开Goog​​le电子表格。

答案 1 :(得分:0)

A:如何让下面的代码工作? html 页面加载了 google 表格页面,但没有显示数据?

a/ google sheet files shared with the public

https://docs.google.com/spreadsheets/d/1HVmBfKjQiUyXOfy-q5iWVvDYOSKnMLPiDr18W2EtU9s/edit?usp=sharing

https://docs.google.com/spreadsheets/d/e/2PACX-1vQ3ZHpAYDBhjSelXk-GFuFJACQzsqlufZ0d5UCLw8iJNJwdHglY7388fYHL4632wgXDIfgnrd238Htg/pubhtml

b/ html and javascript code

    <!DOCTYPE html>
<html>
<body>

<h2>Using the amstras XMLHttpRequest Object</h2>

<div id="demo">
<button type="button" onclick="loadXMLDoc()">Load Data</button>
</div>

<script>
function loadXMLDoc() {
  var xhttp = new XMLHttpRequest();
  xhttp.onreadystatechange = function() {
    if (this.readyState == 4 && this.status == 200) {
      document.getElementById("demo").innerHTML =
      this.responseText;
    }
  };
  xhttp.open("GET", "https://docs.google.com/spreadsheets/d/e/2PACX-1vQ3ZHpAYDBhjSelXk-GFuFJACQzsqlufZ0d5UCLw8iJNJwdHglY7388fYHL4632wgXDIfgnrd238Htg/pubhtml", true);
  xhttp.send();
}
</script>

</body>
</html>