jef*_*ter 2 java google-sheets
我正在尝试通过 google API 获取工作表名称列表。
我可以获得单元格值,但我无法找到如何获取工作表列表。
这是我试过的代码。
Credential credential = authorize();
Sheets service = new Sheets.Builder(HTTP_TRANSPORT, JSON_FACTORY, credential).setApplicationName(APPLICATION_NAME).build();
System.out.println("__");
Set<Entry<String, Object>> entrySet = service.spreadsheets().get(spreadsheetId).entrySet();
for (Entry<String, Object> entry : entrySet) {
System.out.println(entry.getKey() +" " + entry.getValue());
}
System.out.println("__");
System.out.println("1::" + service.spreadsheets().get(spreadsheetId).get("spreadsheetId"));
System.out.println("2::" + service.spreadsheets().get(spreadsheetId).get(spreadsheetId));
System.out.println("3::" + service.spreadsheets().get(spreadsheetId).get("sheet"));
System.out.println("4::" + service.spreadsheets().get(spreadsheetId).get("accesToken"));
System.out.println("5::" + service.spreadsheets().get(spreadsheetId).get("properties"));
System.out.println("6::" + service.spreadsheets().get(spreadsheetId).get("sheets"));
System.out.println("7::" + service.spreadsheets().get(spreadsheetId).get("sheets[]"));
Run Code Online (Sandbox Code Playgroud)
这是输出
__
spreadsheetId 1iV5qliFI8xNhqyLJoOBTQxxxxxxxxxxxxxxxxxx
__
1::1iV5qliFI8xNhqyLJoOBTQxxxxxxxxxxxxxxxxxx
2::null
3::null
4::null
5::null
6::null
7::null
Run Code Online (Sandbox Code Playgroud)
我的 pom.xml 条目
<dependency>
<groupId>com.google.api-client</groupId>
<artifactId>google-api-client</artifactId>
<version>1.22.0</version>
</dependency>
<dependency>
<groupId>com.google.oauth-client</groupId>
<artifactId>google-oauth-client-jetty</artifactId>
<version>1.22.0</version>
</dependency>
<dependency>
<groupId>com.google.apis</groupId>
<artifactId>google-api-services-sheets</artifactId>
<version>v4-rev471-1.22.0</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
任何人都可以建议我如何获取电子表格中的工作表列表。
这是非常不直观的 TBH。我不得不在 API 中进行了大量挖掘才能掌握它的窍门,但是通过以下操作,您可以获得表格:
Sheets service = getSheetsService();
Spreadsheet sp = service.spreadsheets().get(spreadsheetId).execute();
List<Sheet> sheets = sp.getSheets();
Run Code Online (Sandbox Code Playgroud)
所以要点是调用execute().
之后,您可以访问sheet.getProperties().getTitle()阅读标题。
| 归档时间: |
|
| 查看次数: |
1098 次 |
| 最近记录: |