将工作簿的所有工作表复制到另一个文件

时间:2017-02-06 11:56:35

标签: r

我想对我所有的.xlsx执行以下步骤:

  1. 复制第一张表

  2. 将复制的工作表粘贴到另一个文件

  3. 将粘贴的工作表重命名为文件名

    1. 重复步骤1并将其复制到步骤2的相同文件中,重复步骤3
  4. 我可以用R执行此步骤吗?我的.xlsx竞争img并且格式化了单元格。

    感谢

3 个答案:

答案 0 :(得分:1)

您的答案在于使用xlsx包。

此链接提供了一个很好的指南

http://www.sthda.com/english/wiki/r-xlsx-package-a-quick-start-guide-to-manipulate-excel-files-in-r

答案 1 :(得分:0)

使用gdata包(需要Perl)。这里的文件写入.csv - 文件。从gdata开始,我们使用函数sheetNames获取所有工作表名称,并使用read.xls提取它们。文件在工作目录中创建。

file <- "Book1.xlsx"  ## File to extract from

# install.packages("gdata")
library(gdata)
sheetnames <- sheetNames(file)

sheets <- lapply(setNames(sheetnames,sheetnames),read.xls,xls = file)

for(x in sheetnames){
    write.csv(sheets[[x]],paste0(x,".csv"),row.names = FALSE)
}

答案 2 :(得分:0)

使用XLConnect包(需要Java)。这个答案是有动力的by the method in another answer on this site

file <- "Book1.xlsx"

# install.packages("XLConnect")
library(XLConnect)

wb <- loadWorkbook(file)    
sheets <- readWorksheet(wb,getSheets(wb))

for(x in getSheets(wb)){
    path <- paste0(x,".xlsx")
    out <- loadWorkbook(path,create = TRUE)
    createSheet(out,x)
    writeWorksheet(out,sheets[[x]],x)
    saveWorkbook(out)
}