0
我有一個包含5個不同長度的數據幀的列表。我想在同一張Excel表格中寫入這些數據框。在r中寫一個列表到excel文件
我已經嘗試使用WriteXLS()
和write.xlsx()
,但無法獲得所需的結果。
我有一個包含5個不同長度的數據幀的列表。我想在同一張Excel表格中寫入這些數據框。在r中寫一個列表到excel文件
我已經嘗試使用WriteXLS()
和write.xlsx()
,但無法獲得所需的結果。
在此處,xlsx
包函數用來寫在相同的片材5個不同的表的一個示例:
library(xlsx)
### create a sample list
set.seed(123)
theList <- list()
theList$df1 <- data.frame(a=1:5,b=sample(c('X','Y','Z'),5,T))
theList$df2 <- data.frame(a=1:3,b=sample(c('X','Y','Z'),3,T),c=sample(c('A','B','C'),3,T))
theList$df3 <- data.frame(answer=42)
theList$df4 <- data.frame(x=1:2,y=sample(c('I','J','K'),2,T),z='M')
theList$df5 <- data.frame(m=1.2345,n='foo')
###
wb <- createWorkbook()
sheet <- createSheet(wb,"SheetNameHere")
currRow <- 1
for(i in 1:length(theList)){
cs <- CellStyle(wb) + Font(wb, isBold=TRUE) + Border(position=c("BOTTOM", "LEFT", "TOP", "RIGHT"))
addDataFrame(theList[[i]],
sheet=sheet,
startRow=currRow,
row.names=FALSE,
colnamesStyle=cs)
currRow <- currRow + nrow(theList[[i]]) + 2
}
saveWorkbook(wb,file = "myXlsx.xlsx")
結果:
非常感謝您用於詳細的代碼。我試過這段代碼,但是當我使用addDataFrame函數時,我得到了一個java異常錯誤。 java.lang.NoSuchMethodException:沒有與給定參數匹配的構造函數。有什麼建議麼? – TUSHAr 2014-12-27 06:27:32
我可能會做很多事情......你使用的是哪個版本的Java和R?是xlsx包的最後一個版本嗎?發送完整的異常信息會有幫助,你可以發佈嗎? – digEmAll 2014-12-27 12:43:12
我已經想通了。之前我在列表中使用data.frames。它適用於此。然而,我不知不覺地嘗試這個解決方案,因爲它給了我這個錯誤。謝謝你的幫助。 – TUSHAr 2014-12-28 19:06:00