2017-01-27 8 views
1

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

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); 
       } 
      }; 

ответ

0

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

Но, если с помощью Google Drive Android API, в opening the file contents

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

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

Смежные вопросы