Чтение.xlsx с помощью Google Drive API

Я пытаюсь прочитать файлы.xlsx с помощью Google Drive API, однако после того, как я успешно открыл файл и решил прочитать содержимое, в нем отображаются значения мусора. Я могу прочитать метаданные и проверил, что правильный файл был открыт. Вот что вызывается после успешного чтения файла. Он работает с файлами.txt, но я получаю значения мусора с любыми файлами.word,.xlsx.

private ResultCallback<DriveApi.DriveContentsResult> driveContentsCallback =
            new ResultCallback<DriveApi.DriveContentsResult>() {
                @Override
                public void onResult(DriveApi.DriveContentsResult result) {
                    if (!result.getStatus().isSuccess()) {
                        Log.i(TAG, "Error while opening the file contents");
                        return;
                    }
                    Log.i(TAG, "File contents opened");
                    mProgressBar.setProgress(100);

                    DriveContents contents = result.getDriveContents();

                    BufferedReader reader = new BufferedReader(new InputStreamReader(contents.getInputStream()));
                    StringBuilder builder = new StringBuilder();
                    String line;

                    try {
                        while ((line = reader.readLine()) != null) {
                            builder.append(line);
                        }
                    } catch (Exception e) {

                    }

                    String contentsAsString = builder.toString();

                    mTextViewContent.setText(contentsAsString);
                }
            };

1 ответ

С помощью Google Drive API загрузка документов Google осуществляется путем экспорта вашего файла в поддерживаемый тип MIME.

Но, если вы используете Google Drive Android API, при открытии содержимого файла

Чтобы иметь возможность прочитать файл, вы должны начать с открытия его DriveContents ресурс в DriveFile.MODE_READ_ONLY или же DriveFile.MODE_READ_WRITE режим, в зависимости от того, предпочитаете ли вы работать с InputStream или же ParcelFileDescriptor учебный класс.

Вы можете проверить данную документацию для получения более подробной информации и этой публикации на GitHub.

Другие вопросы по тегам