使用 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 电子表格的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Google Sheets API V4 导入 CSV 文件
使用Sheets API v4获取与Google帐户关联的所有电子表格列表
Google Sheets API v4 - 如何获得最后一行的价值?