XLR Connect软件包不断创建损坏的文件

XLR Connect软件包不断创建损坏的文件,r,export-to-excel,xlsx,R,Export To Excel,Xlsx,我正在尝试使用XLConnect软件包和R来导入一些Excel数据,进行一些修改,然后保存它。每次我这么做都会破坏文件。我尝试用XLConnect创建一个工作簿,然后立即保存它,但即使是XLConnect创建的文件也已损坏。每次我试图在Excel中打开它们时,我只会得到一个错误。下面是我用来创建文件并保存它的非常简单的代码 library(rJava) library(XLConnectJars) library(XLConnect) wb.new <- loadWorkbook("my

我正在尝试使用XLConnect软件包和R来导入一些Excel数据,进行一些修改,然后保存它。每次我这么做都会破坏文件。我尝试用XLConnect创建一个工作簿,然后立即保存它,但即使是XLConnect创建的文件也已损坏。每次我试图在Excel中打开它们时,我只会得到一个错误。下面是我用来创建文件并保存它的非常简单的代码

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

wb.new <- loadWorkbook("myNewExcelFile.xlsx", create= TRUE)
saveWorkbook(wb.new)
每次我这样做,Excel都会给我一个错误,说文件已损坏。我可以在R中创建工作簿对象并对其进行操作,但如果没有损坏,则无法保存它。这是我的环境:

Windows 7 Pro 64位

Java 1.7.0_06 64位

研究报告。0.96.331

R版本。2.15.2 64位


这不是一个完整的解决方案,只是一个粗略的解决方案,正如我在上面的评论中提到的。我最近发现,如果我最初使用较旧的格式(特别是.xls文件)进行写入,然后在需要时将其转换为Excel中的.xlsx,那么XLConnect会更加稳定。

XLConnect在其最新更新后对我来说变得相当挑剔。这是我也经历过的几个问题之一。对我来说,当我编写普通的.xls文件,然后在需要时将其转换为Excel时,XLConnect似乎更稳定。Joran,你说得对。我将它保存为“.xls”,并且它工作正常。如果您把它作为问题的答案,我会将您的标记为正确的。工作簿必须至少有一个工作表-XLConnect将创建一个没有任何工作表的工作表,但Excel 2007在我的情况下将作为损坏的工作簿打开。如果我按照loadWorbook、createSheet、saveWorkbook的顺序操作,那么我会得到一个只有一张空工作表的工作簿,它可以正常打开。如果您遇到其他问题,请按照@MartinStuder上的程序包vignette中所述报告,手动创建工作表有时对我有效,有时则无效。我会更积极主动地提交错误报告,因为我经常使用XLConnect,而且非常喜欢它!我只是无法将任何东西缩小到可复制的范围,也不想让你追逐幻影虫子。