Пакет R XLConnect продолжает создавать поврежденные файлы

Я пытаюсь использовать пакет XLConnect с R, чтобы импортировать некоторые данные Excel, внести некоторые изменения и затем сохранить их. Каждый раз, когда я делаю это, хотя это повреждает файл. Я попытался сделать самое простое — создать рабочую книгу с помощью XLConnect, а затем сразу же сохранить ее, но даже файлы, которые создает XLConnect, повреждены. Каждый раз, когда я пытаюсь открыть их в Excel, я получаю только ошибку. Вот очень простой код, который я использую, чтобы попытаться создать файл, а затем сохранить его.

library(rJava)
library(XLConnectJars)
library(XLConnect)

wb.new <- loadWorkbook("myNewExcelFile.xlsx", create= TRUE)
saveWorkbook(wb.new)

Каждый раз, когда я делаю это, Excel выдает ошибку о том, что файл поврежден. Я могу создать объект Workbook в R и манипулировать им, но не могу сохранить его без повреждений. Это моя среда:

Windows 7 Профессиональная 64-разрядная версия

Java 1.7.0_06 64-разрядная версия

RStudio вер. 0,96,331

R вер. 2.15.2 64-битная


person Matthew Crews    schedule 05.11.2012    source источник
comment
XLConnect стал для меня довольно привередливым после их последнего обновления. Это одна из нескольких проблем, с которыми я также столкнулся. Для меня XLConnect показался более стабильным, когда я пишу простые файлы .xls (и затем конвертирую их в Excel, если это необходимо).   -  person joran    schedule 05.11.2012
comment
Джоран, ты прав. Я сохранил его как «.xls», и это сработало. Если вы поставите это как ответ на вопрос, я отмечу ваш как правильный.   -  person Matthew Crews    schedule 05.11.2012
comment
В рабочей книге должен быть хотя бы один лист — XLConnect создаст его без каких-либо листов, но Excel (в моем случае 2007) откроет его как поврежденную книгу. Если я выполняю последовательность loadWorbook, createSheet, saveWorkbook, я получаю книгу с одним пустым листом, который просто открывается нормально.   -  person Martin Studer    schedule 05.11.2012
comment
Если вы столкнетесь с другими проблемами, сообщите о них, как указано в виньетке пакета по адресу cran.r-project.org/web/packages/XLConnect/vinnettes/   -  person Martin Studer    schedule 05.11.2012
comment
@MartinStuder Иногда мне это (создание листа вручную) помогало, а иногда нет. Я был бы более активен в регистрации отчетов об ошибках (я часто использую XLConnect, и мне это очень нравится!) Я просто не смог сузить что-то до чего-то воспроизводимого и не хочу заставлять вас гоняться за фантомными ошибками.   -  person joran    schedule 05.11.2012
comment
@MartinStuder Проблема, с которой я столкнулся до этого, заключалась в том, что я открывал .xlsx, изменял его, а затем пытался сохранить, но он каждый раз повреждался. Я попытался сделать еще более простую вещь, создав новый .xlsx в R, а затем сохранив его, но это также каждый раз повреждалось.   -  person Matthew Crews    schedule 05.11.2012


Ответы (1)


Это не полное решение, а просто грубый обходной путь, как я упоминал в своем комментарии выше. Недавно я обнаружил, что XLConnect немного более стабилен, если я сначала пишу в более старый формат, в частности в файл .xls, а затем при необходимости конвертирую его в .xlsx в Excel.

person joran    schedule 05.11.2012