30

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

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

当它只有一个数据框时,这不是一个主要问题,但我现在想为多个数据框做这件事,并在 excel 中的多个选项卡中使用它们。

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

4

2 回答 2

24

正如 Joran 所说,您拥有XLConnect软件包。仔细阅读该软件包的文档小插图,以确切了解可能的情况。

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

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)

在此处输入图像描述

在此处输入图像描述


编辑:正如 Dirk Eddelbuettel 所指出的,您可以使用该xlsx软件包执行相同的操作。我个人使用XLConnect它,因为它可以同时处理 xls 和 xlsx,并且看起来比我用于处理 EXCEL 文件的任何旧包都稳定得多。我还没用过这个xlsx包。您可以查看数据导入/导出上的 CRAN 页面以了解可用的内容。

于 2012-06-27T15:24:54.020 回答
0

一些用户询问如何使用该xlsx软件包进行操作。

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

它有单元格格式的示例,具有多个工作表的工作簿,如何添加图形等。

于 2021-04-19T22:27:15.240 回答