【问题标题】:C# and Google SheetsC# 和 Google 表格
【发布时间】:2017-03-23 15:39:58
【问题描述】:

我一直在阅读如何让我的 C# Windows 窗体从 Google 表格中读取。

我认为我已经很好地掌握了如何阅读和写作,但我对如何开始感到非常迷茫。

我假设步骤如下:
1.(完成)设置 API:https://developers.google.com/sheets/api/quickstart/dotnet

2.(卡在此处)加载工作表。我不知道该怎么做。我坚持这一点。我无法在 API 页面上找到有关如何实际加载工作表的指南,也无法在线找到有关如何完成相同操作的更新代码示例/指南。

3. 读取/写入/更新值。





在此页面上:底部的https://developers.google.com/sheets/api/guides/concepts 似乎建议使用 GET 然后使用工作表 URL 来获取工作表。但是,当我使用 GET 时,我收到此错误:找不到类型或命名空间“GET”。


到目前为止,这是我的代码:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace WindowsFormsApplication2
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            GET https://sheets.googleapis.com/v4/spreadsheets/spreadsheetId?ranges=A1:C10&fields=properties.title,sheets(sheetProperties,data.rowData.values(effectiveValue,effectiveFormat))

        }
    }

【问题讨论】:

  • 这与 Google 表格无关。编译器错误提示您忘记在表单中创建GetCredential() 方法
  • @PJvG 感谢您的回复!实际上,自从我开始感到非常困惑并从头开始以来,我实际上已经废弃了整个应用程序。我将更新原始帖子以反映我实际所处的步骤。
  • @lolikols 听起来不是很粗鲁,但是您所坚持的并不是特定于阅读/编写 Google 表格的任何内容,而是基本 C# 语法的缺陷。花一些时间通过教程和书籍来学习这门语言可能更有意义,否则你可能会一次又一次地遇到同样的问题。
  • @DrewJordan 你说得对:(

标签: c# google-sheets


【解决方案1】:

因此,GET https://sheets... 行是一个 HTTP 请求,而不是有效的 C# 代码。

您需要做的是首先获得SheetsService

SheetsService sheetsService = new SheetsService(...) // (this will need some arguments)

有了这个,您可以在 C# 中执行以下操作来执行 GET 请求:

sheetsService.Spreadsheets.Values.Get(spreadsheetId, range);

其中spreadsheetIdrange 是字符串。请参阅the documentation of GET 了解更多信息。

【讨论】:

  • 你找到了我之前找到的东西! :) 无法编辑 :( 在该页面下方的示例中,它显示 SheetsService sheetService = new SheetsService(new BaseClientService.Initializer 是我找到给我该错误的 GetCredential() 的地方。此外,SheetsService.Spreadsheets。 Values.Get("spreadsheetId", "A1"); 给我一个错误:“非静态字段需要对象引用,方法...”
  • 我尝试编辑以让您知道我已经弄清楚为什么我收到 GetCredential() 错误,但没有找到 SheetsService.Spreadsheets.Values.Get 错误。
  • @lolikols 当您搜索错误“非静态字段,方法需要对象引用...”时,stackoverflow 和 google 上都有很多点击。在这种情况下,SheetsService 应该是 sheetsService。注意第一个字母,不能大写。 sheetsService 是所需的对象引用。 SheetsService 不是对象引用。 Spreadsheets 是错误所指的非静态字段。如果您仍然感到困惑,也许可以阅读更多关于 C# 中静态和非静态的信息。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-12-03
  • 1970-01-01
  • 1970-01-01
  • 2015-01-04
  • 2018-12-10
  • 2018-09-09
  • 2021-10-14
相关资源
最近更新 更多