2017-07-04 114 views
1

我想在一个使用openxlsx包的excel文件中制作170个工作表(下面的代码中为3)。我以前使用过xlsx包,并使用选项“append = TRUE”在一个excel文件中创建多个工作表,但在openxlsx包中找不到相同的选项。在r中使用openxlsx导出多个工作表

system.time(
for (i in 1:3) { 
write.xlsx(fulldata[[i]], file="fulltable5.xlsx", sheetName=cntry_name[i]) 
} 
) 

此代码仅创建第三个工作表。我试过overwrite = TRUE,但是这只会返回错误。请问在xlsx包的函数write.xlsx()中,哪个选项对应于“append = TRUE”?

+ ADD)))

这是与我的原始数据类似大小的数据。 它仅适用于一张纸,但不适用于172张纸。

a <- list() 
for (i in 1:172) { 
a[[i]] <- matrix(i,30,60) 
} 

write.xlsx(a, file="fulltable6.xlsx") 

可悲的是,R会话被中止。 我需要1张excel文件中的172张纸。 我使用Rstudio 3.4.0和我的电脑是i3-5005U @ 2GHZ,8GB RAM

回答

1

只是通过你的(命名)列表write.xlsx

fulldata <- split(iris, seq_len(nrow(iris)) %/% 3) 
names(fulldata) <- paste("sheet", seq_along(fulldata), sep="_") 
library(openxlsx) 
write.xlsx(fulldata, file=tf<-tempfile(fileext = ".xlsx")) 
shell.exec(tf) # open file on windows 
+0

我想你的方式和rstudio关闭说“ R会话中止“。每页有172张,每行24列,53列。 – kim1298

+0

我试过r-32bit,r-64bit但是他们都停下来了... – kim1298

+0

更新你的软件包,R,RStudio,...?提供您的数据进行测试?无法在这里重现错误。 – lukeA