首页 文章

从R写入excel中的模板,同时保留格式

提问于
浏览
19

我在R中有一个数据帧,它想要写入excel(或csv)并以漂亮的格式输出(例如,带有边框,表格的 Headers ,而不是从单元格A1开始) .

目前我使用函数write.table将我的数据帧写入csv文件,然后将数据复制并粘贴到excel中的文档中,我将表格准备好格式化为模板 .

当它只有一个数据帧时,这不是一个主要问题,但我现在想要为多个数据帧执行此操作,并在excel中的多个选项卡中使用这些数据帧 .

有没有一种方法可以将我的数据帧自动复制到现有Excel电子表格中的特定单元格,并正确设置所有格式?

1 回答

  • 18

    正如Joran所说,你有XLConnect包 . 请仔细阅读该软件包的documentationvignette,以确切了解可能的内容 .

    使用XLConnect通常会覆盖单元格样式,除非您使用样式操作设置为“none”

    setStyleAction(wb,XLC$"STYLE_ACTION.NONE")
    

    为了让你走上正确的道路,一个简单的例子:

    require(XLConnect)
    wb <- loadWorkbook("test.xlsx", create=TRUE)
    setStyleAction(wb,XLC$"STYLE_ACTION.NONE")
    
    Data <- data.frame(
      a = 1:10,
      b = letters[1:10]
    )
    
    writeWorksheet(wb,Data,"aSheet",startRow=1,startCol=1,header=TRUE)
    
    saveWorkbook(wb)
    

    之前

    enter image description here

    enter image description here


    编辑:正如Dirk Eddelbuettel所说,您可以使用 xlsx 包进行相同的操作 . 我个人使用 XLConnect 因为它可以同时处理xls和xlsx,并且看起来比我用来操作EXCEL文件的任何旧包更稳定 . 我还没有使用 xlsx 包 . 您可以查看CRAN page on Data Import/Export以了解可用的内容 .

相关问题