[英]Reading whole Google Spreadsheet with Sheets API v4 Java
我想阅读 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();
....
但我有一个问题,我不知道电子表格的范围。 列数可以更改。 那么,如何在不知道范围的情况下读取工作表的所有数据呢?
问候
迈克尔
您可以将整个工作表指定为: String range = "Class Data";
, 对于名为Class Data的工作表。 您可以在spreadsheets.values.get
参考的试用部分中看到输出。
对于那些想要使用电子表格 ID(可以从 URL 获得)而不是工作表名称获取数据的人,以下代码片段可能有用。 它打印出在电子表格下找到的所有工作表名称。 您可以将打印语句更改为您需要的任何内容。
spreadsheet = service.spreadsheets().get(spreadsheetId=SHEET_ID, includeGridData=True).execute()
for sheet in spreadsheet['sheets']:
print(sheet['properties']['title'])
如果你在@Bardy的回答后有点困惑(像我一样),那么下一行可以帮助你(获得工作表的正确标题):
response.getSheets().get(0).getProperties().getTitle();
所以,关于主题,你可以首先得到你的电子表格:
Spreadsheet response = service
.spreadsheets()
.get(spreadsheetId)
.execute();
然后通过这种方式获取 ValueRange:
ValueRange response1 = service.spreadsheets().values()
.get(spreadsheetId,response.getSheets().get(0).getProperties().getTitle())
.execute();
(假设你只有一张纸,否则尝试调试/打印所有纸
response.getSheets()
然后找到您正在使用的工作表的标题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.