【问题标题】:Exporting multiple sheets using openxlsx in r在 r 中使用 openxlsx 导出多张工作表
【发布时间】:2017-12-07 16:31:52
【问题描述】:

我正在尝试使用 openxlsx 包在一个 excel 文件中制作 170 张(下面代码中的 3 张)。我之前使用 xlsx 包并使用选项“append=TRUE”在一个 excel 文件中创建多个工作表,但我在 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”?

+添加)))

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

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

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

遗憾的是,R 会话已中止。 我需要 172 张 1 excel 文件。 我使用的是 Rstudio 3.4.0,我的电脑是 i3-5005U @ 2GHZ,8gb RAM

【问题讨论】:

    标签: r excel xlsx


    【解决方案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
    

    【讨论】:

    • 我尝试了你的方式,但 rstudio 关闭时说“R Session Aborted”。共有 172 张,每张 24 行 53 列。
    • 更新你的包,R,RStudio,...?提供您的数据进行测试?此处无法重现错误。
    • @kim1298 那么你找到错误的来源了吗?
    • 当我尝试导出几张工作表时,您的代码运行良好。但是当我尝试导出 172 张纸时,我没有工作。所以我在stackoverflow.com/questions/44905030/… 中发布了另一个问题
    猜你喜欢
    • 2022-01-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多