繁体   English   中英

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

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM