【问题标题】:How do you Import data from a Google Sheets?如何从 Google 表格导入数据?
【发布时间】:2013-05-10 15:01:36
【问题描述】:

如何获取 Google 电子表格的第一个单元格并将其作为带有 JavaScript 的字符串输出到 HTML 文档?

我有一个标记为:“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 文档的 JavaScript?

【问题讨论】:

  • 最简单的就是="var text = "'" &amp; A1 &amp; "';"
  • 怎么样?这意味着我在文件夹中名为“网站”的 html 文档中有一个 javascript 代码。在同一个文件夹中,我有另一个名为“spreadsheet.excel”的文件或任何文件类型。我如何导入它
  • 如果您真的想要可用的答案,您需要更详细地更新您的问题。您使用的服务器端平台将是一个好的开始,但不要仅限于此......
  • 好的,我会更新它,请看一下。感谢您的帮助!
  • 仍然缺少所需的详细信息。这些文件在哪里 - 在您的本地机器上/在 Web 服务器上/在其他地方?什么事件触发了这个提取?您想使用什么语言/平台来执行此操作?

标签: javascript html google-sheets


【解决方案1】:

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

您可以从您的 javascript 中检索 google 电子表格的内容,SO 中有示例:

以字符串形式检索一个单元格数据的基本思路:

示例

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,他们非常好心地发布了一个我可以用于此示例的公共 Google 电子表格。

【讨论】:

  • 我们如何在每个请求中查询多个单元格?
  • @ayjay - 只需在 URL 中使用不同的范围。范围必须是连续的。例如,对于 A1:B2,您将使用 var url="https://docs.google.com/spreadsheet/pub?key=p_aHW5nOrj0VO2ZHTRRtqTQ&amp;single=true&amp;gid=0&amp;range=A1:B2&amp;output=csv";
【解决方案2】:

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

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>

【讨论】:

  • 我认为您的问题在于网址。请注意,如果您使用答案中的 url,它会直接下载 csv 文件吗?这是因为 output=csv 标志。尝试添加该标志并在 Internet 上公开您的电子表格。否则您的代码将无法访问它。希望这会有所帮助:)
  • @CTOverton 仍然没有成功。已尝试以下 URL 的代码:w3schools.com/xml/xml_http.asp _ 遗憾的是,谷歌工作表文件无法加载,我不知道为什么???感谢您的帮助
猜你喜欢
  • 1970-01-01
  • 2023-01-01
  • 2019-05-18
  • 1970-01-01
  • 2023-03-08
  • 1970-01-01
  • 2018-08-10
  • 2011-02-09
  • 2020-02-23
相关资源
最近更新 更多