我想使用存储在本地数据库中的数据创建电子表格。我有5列和数据。我想创建一个具有相同列和数据的电子表格。我尝试过使用sheet api,但我不明白如何创建一个从db
中获取数据的方法这是我从电子表格中提取数据的代码
private List<String> getDataFromApi() throws IOException {
String sheetId = "1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms";
String range = "Class Data!A2:E";
List<String> results = new ArrayList<String>();
ValueRange response = this.mService.spreadsheets().values()
.get(sheetId, range)
.execute();
List<List<Object>> values = response.getValues();
if (values != null) {
results.add("Name, Major");
for (List row : values) {
results.add(row.get(0) + ", " + row.get(4));
}
}
return results;
}
这是我的表 https://docs.google.com/spreadsheets/d/1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms/edit
我做了一些研究,发现我们可以使用驱动器api编辑电子表格,但我无法找到方法。我已经实现了驱动器api,但可以创建和编辑文件 请帮忙
答案 0 :(得分:0)
您需要使用Google Sheets API
,Google表格API v3(以前称为Google Spreadsheets API)可让您开发读取和修改Google表格中工作表和数据的客户端应用程序。要实现原始Sheets + Docs组合的等效功能,您应该使用Drive API执行文件操作,例如搜索/移动/创建/删除。
除了Drive API的范围之外,还要在您的授权中添加以下范围:
https://spreadsheets.google.com/feeds
如果您使用的是GData client library和Google OAuth client library,则在OAuth 2.0授权后设置这两项服务非常容易。
// Acquire clientId, clientSecret and refreshToken
...
// Create shared credential
GoogleCredential credential = new GoogleCredential.Builder()
.setClientSecrets(clientId, clientSecret)
.setJsonFactory(jsonFactory)
.setTransport(transport)
.build().setRefreshToken(refreshToken);
// Setup both servives
Drive driveService = new Drive.Builder(transport, jsonFactory, credential).build();
SpreadsheetService sheetService = new SpreadsheetService(...);
sheetService.setOAuth2Credentials(credential); // only provided in newer releases
sheetService.useSsl();
两个API中的资源ID都相同,因此您可以使用Drive API方法搜索某个文件的ID,并使用Sheets API方法访问该文件中的工作表。
File file = driveService.files().get().setFields(...).execute();
String feedUrl = "https://spreadsheets.google.com/feeds/worksheets/"
+ file.getId + "/private/full";
WorksheetFeed feed = sheetService.getFeed(feedUrl, WorksheetFeed.class);