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

use*_*199 22 excel r

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

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

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

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

Jor*_*eys 20

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

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

setStyleAction(wb,XLC$"STYLE_ACTION.NONE")
Run Code Online (Sandbox Code Playgroud)

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

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)
Run Code Online (Sandbox Code Playgroud)

之前

在此输入图像描述

在此输入图像描述


编辑:正如Dirk Eddelbuettel所说,您可以使用该xlsx包进行相同的操作.我个人使用,XLConnect因为它可以处理xls和xlsx,并且似乎比我用于操作EXCEL文件的任何旧包更稳定.我还没用过这个xlsx包.您可以查看数据导入/导出CRAN页面以了解可用的内容.

  • @DirkEddelbuettel; 我们如何使用xlsx包呢?我没有找到任何可以保存整张表的格式保存的功能? (7认同)
  • 我已经完成了从`R`到`.xlsx`文件的写作,并且比`xlsx`更喜欢`openxlsx`包.我的理由是,我总是遇到麻烦让我的操作系统(64位)与`rjava`(`xlsx`的依赖关系)轻松工作.`openxlx`并不需要`rJava`这使我的生活 - 至少在当时 - 更容易. (3认同)
  • FWIW"xslx"包也是这样做的. (2认同)