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

时间:2012-06-27 14:48:27

标签: excel r

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

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

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

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

2 个答案:

答案 0 :(得分:19)

正如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以了解可用的内容。

答案 1 :(得分:0)

有些用户询问如何使用 xlsx 包来实现。

STHDA 中有一个非常好的和广泛使用的 xlsx 包示例。

它有单元格格式、多张工作簿、如何添加数字等的示例。