R - Ошибка: IllegalArgumentException (Java): ваш InputStream не был ни потоком OLE2, ни потоком OOXML

Я использую R XLConnect пакет. Когда я написалXLConnectфункция, такая как loadWorkbook(), readWorksheetFromFile() и т.д., это сообщение об ошибке произойдет.

Ошибка: IllegalArgumentException (Java): ваш InputStream не был ни потоком OLE2, ни потоком OOXML

Как решить эту проблему?

Прежде чем использовать эту функцию, я принял меры против сбоев между R и Mac OS X, например, http://www.r-bloggers.com/getting-r-and-java-1-8-to-work-together-on-osx/ ссылка сказала.

Я использовал Mac OS X.

3 ответа

У меня возникла та же проблема после обновления Java. Я просил загрузить файл.xlsx в функцию loadWorkbook() из R XLConnect пакет. Я временно решил проблему, попросив загрузить файл.xls.

В этом сообщении говорится, что файл, который вы предоставили loadWorkbook не был распознан как *.xls (BIFF-8) или *.xlsx (OOXML) файл.

Я также использую OS X, и после некоторой работы с этой функцией некоторое время эта ошибка возникает без видимой причины... Но причина действительно проста. Excel (фактически весь пакет MS Office) создает временные файлы, пока вы открываете файл. Этот файл скрыт:

В моем случае я перечисляю .xlsx файлы, чтобы открыть их внутри цикла. Итак, первый файл был скрытым, и возникла ошибка. Закрытие Excel (чтобы удалить эти файлы) является решением, чтобы избежать этой ошибки.

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