2012-11-05 119 views
0

我想用R的XLConnect包導入一些Excel數據,進行一些修改,然後保存它。每次我這樣做,雖然它腐敗的文件。我嘗試着用XLConnect創建工作簿,然後立即保存它,但即使XLConnect創建的文件也已損壞。每次我嘗試在Excel中打開它們時,都會出現錯誤。這是我用來創建一個文件然後保存它的非常簡單的代碼。R XLConnect包不斷創建損壞的文件

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

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

每當我這樣做Excel給我一個錯誤,說該文件已損壞。我可以在R中創建Workbook對象並對其進行操作,但是我無法保存它而沒有損壞。這是我的環境:

的Windows 7專業版64位

的Java 1.7.0_06 64位

RStudio版本。 0.96.331

R ver。 2.15.2 64位

+1

XLConnect在他們最新的更新後對我變得非常挑剔。這是我也經歷過的幾個問題之一。對我來說,當我編寫普通的.xls文件時,XLConnect似乎更加穩定(如果需要,然後在Excel中將它們轉換)。 – joran

+0

喬蘭,你說得對。我將它保存爲'.xls',它工作。如果你把它作爲問題的答案,我會將你的標記標記爲正確的。 –

+0

工作簿必須至少有一張工作表 - XLConnect將創建一個沒有任何工作表,但Excel(2007在我的情況)將打開它作爲一個「損壞的」工作簿。如果我執行loadWorbook,createSheet,saveWorkbook的順序,那麼我會得到一個工作簿,其中只有一張空白表格可以正常打開。 –

回答

0

這不是一個完整的解決方案,而只是一個粗略的解決方法,正如我在上面的評論中提到的。我最近發現,如果最初寫入舊格式,尤其是.xls文件,然後在Excel中將其轉換爲.xlsx(如果需要),XLConnect會更穩定。