gpt4 book ai didi

java - 如何通过 Android 的 Drive API 读取 Google 表格内容?

转载 作者:行者123 更新时间:2023-12-01 10:02:54 24 4
gpt4 key购买 nike

我目前正在开发一款应用,用户可以从其 Google 云端硬盘中选择 Google 表格文件 (.xlxs)。然后,我的应用程序将提取并处理该工作表的某些内容。

我正在使用专为 Android 制作的 Google Drive API,并使用 Google Drive Android Demos 中的示例类。

到目前为止,我已经实现了一个云端硬盘文件选择器,其中显示用户的云端硬盘文件。选择一个文件会返回该文件的 ID。

<小时/>

第一个问题是我似乎无法设置 mime 类型,因此只能选择 xlsl 文件。谷歌搜索告诉我这一点

application/vnd.openxmlformats-officedocument.spreadsheetml.sheet

是正确的 mime 类型。

我在这种情况下使用它

IntentSender intentSender = Drive.DriveApi
.newOpenFileActivityBuilder()
.setMimeType(new String[]{"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"})
.build(getGoogleApiClient());

我以前没有遇到过 mime 类型,但“text/plain”作为 meme 类型似乎可以工作,并且它们可以在相同的 mime 类型列表中找到。

第二个问题基本上涉及我应该如何从工作表中的某些列和行中提取字符串。

这是处理所选文件内容的代码(当然可以修改,只是不知道如何修改)。

protected String doInBackgroundConnected(DriveId... params) {
String contents = null;
DriveFile file = params[0].asDriveFile();
DriveContentsResult driveContentsResult =
file.open(getGoogleApiClient(), DriveFile.MODE_READ_ONLY, null).await();
if (!driveContentsResult.getStatus().isSuccess()) {
return null;
}
DriveContents driveContents = driveContentsResult.getDriveContents();
BufferedReader reader = new BufferedReader(
new InputStreamReader(driveContents.getInputStream()));
StringBuilder builder = new StringBuilder();
String line;
try {
while ((line = reader.readLine()) != null) {
builder.append(line);
}
contents = builder.toString();
} catch (IOException e) {
Log.e(TAG, "IOException while reading from the stream", e);
}

driveContents.discard(getGoogleApiClient());
return contents;
}

最佳答案

因此,我在谷歌上搜索并浏览了社区一段时间,并提出了以下建议来解决您的问题:

第一个问题:

既然您只是想编辑表格,为什么不直接使用 setSelectionFilter反而?它将选择器上显示的文件限制为指定的文件类型。

对于第二个问题:

我认为为了使用(更新)Google 表格,您需要使用 Sheets API按照这个answer on a similar post :

“Google Spreadsheet Api 允许在电子表格中进行复杂的操作,例如按行和列访问数据。”

关于java - 如何通过 Android 的 Drive API 读取 Google 表格内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36676379/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com