使用 Sheets API v4 Java 阅读整个 Google 电子表格

Posted

技术标签:

【中文标题】使用 Sheets API v4 Java 阅读整个 Google 电子表格【英文标题】:Reading whole Google Spreadsheet with Sheets API v4 Java 【发布时间】:2017-04-18 05:18:46 【问题描述】:

我想阅读 Java 快速入门中描述的 Google 电子表格

https://developers.google.com/sheets/quickstart/java

快速入门解释了如何从给定范围内读取数据

.....
String range = "Class Data!A2:E";
ValueRange response = service.spreadsheets().values()
        .get(spreadsheetId, range)
        .execute();

List<List<Object>> values = response.getValues();
....

但我的问题是我不知道电子表格的范围。列数可以改变。那么如何在不知道范围的情况下读取工作表的所有数据?

问候

迈克尔

【问题讨论】:

【参考方案1】:

您可以将整个工作表指定为:String range = "Class Data";,用于名为 Class Data 的工作表。您可以在spreadsheets.values.get 参考的Try it 部分查看输出。

【讨论】:

很遗憾谷歌没有正确记录范围。 实际上,他们没有正确记录我迄今为止使用的任何 API... 如果我只知道工作表 ID 而不是工作表名称,它会如何工作?【参考方案2】:

对于那些想要使用电子表格 ID(可以从 URL 获得)而不是工作表名称获取数据的人,以下代码 sn-p 可能有用。它打印出在电子表格下找到的所有工作表名称。您可以将打印语句更改为您需要的任何内容。

spreadsheet = service.spreadsheets().get(spreadsheetId=SHEET_ID, includeGridData=True).execute()
    for sheet in spreadsheet['sheets']:
        print(sheet['properties']['title'])

【讨论】:

以上是关于使用 Sheets API v4 Java 阅读整个 Google 电子表格的主要内容,如果未能解决你的问题,请参考以下文章

使用C#和Sheets API v4更新Cell

如何使用 Google Sheets API V4 导入 CSV 文件

使用Sheets API v4获取与Google帐户关联的所有电子表格列表

Google Sheets API v4 - 如何获得最后一行的价值?

Google Sheets API v4 接收公共供稿的 HTTP 401 响应

国际化多语言方案i18n / class google sheets v4 api 在线文档同步json