【问题标题】:how can I get value from google spreadsheet我如何从谷歌电子表格中获得价值
【发布时间】:2020-11-22 20:31:10
【问题描述】:

我需要从 Google 电子表格 iframe 中获取价值,我只在网站上显示一个单元格 (A2)。

这个值(10%)我想转移到进度条(style="width: [value from google spreadsheet]")。 有可能吗?

谢谢!

编辑: 我添加了 API,它运行得很好,我可以在 CMD 中显示值,所以现在我想获取这个值并转移到我的网站。有什么建议吗?

const GoogleSpreadsheet = require('google-spreadsheet');
const { promisify } = require('util');

const creds = require('./client_secret.json');

function printInfo(my_sheet){
    console.log(`Name: ${my_sheet.kontrahent}`);
}


async function accessSpreadsheet() {
    const doc = new GoogleSpreadsheet('ID');
    await promisify(doc.useServiceAccountAuth)(creds);
    const info = await promisify(doc.getInfo)();
    const sheet = info.worksheets[4];

    console.log(`Title: ${sheet.title}, Rows: ${sheet.rowCount}`);


    const rows = await promisify(sheet.getRows)({
       offset: 1 
    });

    console.log(rows[0].kontrahent); <!--I want get this value and transfer it to my div progress bar on HTML -->
  
     rows.forEach(row => {
        printInfo(row)
     });


    }

accessSpreadsheet();

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css" integrity="sha384-9aIt2nRpC12Uk9gS9baDl411NQApFmC26EwAOH8WgZl5MYYxFfc+NcPb1dKGj7Sk" crossorigin="anonymous">

    <title>My test page</title>
  </head>
  <body>

<iframe src="https://docs.google.com/spreadsheets/d/e/2PACX-1vST98KwaC1TPrCA-I-t7DrtL6dcjiFt1K1300c2j57N-SbcYRA2r4akTE_QxuStIvky39bedioEx-Tr/pubhtml?gid=0&amp;single=true&amp;range=A2&amp;widget=false&amp;headers=false&amp;chrome=false" height="40px" width="226px"></iframe>
  
  
  <div class="progress">
  <div class="progress-bar progress-bar-success" style="width: 80%"></div>
</div>


</body>
</html>

【问题讨论】:

  • 欢迎来到Stack Overflow。请按照How to Ask 中的建议添加您的搜索/研究工作的简要说明。
  • 欢迎。正如 Rubén 所指出的,分享您尝试过的东西并让其他人知道您不仅在使用社区为您完成工作,而且您已经探索了可能的事情并陷入困境,这总是很好的。您正在尝试做的事情是从 Google 电子表格中检索值当然可以完成 - 但您需要使用 Google 电子表格 API。查看 google 提供的示例,以准确地执行您在此处尝试执行的操作。 (除了从 iframe 获取它——您不会从那里获取它,而是从电子表格本身获取)。
  • 其实我在思考如何从这个问题入手。我需要一些提示。我已经以角度创建了简单的应用程序,我想从谷歌文档电子表格中显示一些值,所以我发布了我的工作表并选择范围来获取这个值。现在我尝试获取这个值并将其传输到我的进度条,我真的不知道我该如何开始。我认为一些例子对我很有用

标签: node.js angularjs angular google-sheets


【解决方案1】:

iFrame 交互有点复杂和不安全。解决此问题的更好方法是使用Google Sheets API

这里是基本阅读部分:https://developers.google.com/sheets/api/samples/reading

您需要以下组件:

  1. Google API 密钥
  2. 做一些基本的 REST 请求

【讨论】:

  • API 是必需的吗?我可以在没有 API 的情况下获得这个值吗?
  • @szczepan19 我认为这是最简单的方法。因此,正如我在上面所读到的,您正在使用角度。尝试阅读有关 Angular HttpClient 和服务的信息。另外,尝试在问题中添加标签“角度”,因为这是角度相关的。
  • 现在我有了 Google API 密钥,有什么建议我应该如何做一个基本的 REST 请求吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-22
  • 2015-07-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多