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 (чтобы удалить эти файлы) является решением, чтобы избежать этой ошибки.