添加单行到xlsx保持格式

时间:2013-11-26 00:17:13

标签: r xlsx

我想用R来附加一行3列宽的xlsx文件。 xlsx文件有一些我不想丢失的格式。 xlsxread.xlsx中的附加选项不会以read.table的方式添加。从我读到的是附加表。

library(xlsx)
## I have an xlsx similar to this but with highlighting and such
write.xlsx(mtcars[1:3, 1:3], "test.xlsx", row.names=FALSE)

## Row I want to append
mtcars[4, 1:3]

如何在不破坏格式(高亮显示等)的情况下将此行添加到xlsx文件中。我目前正在尝试使用xlsx软件包来完成此操作,但我并未使用它。

因为append适用于工作表而预期会出现附加错误:

> write.xlsx(mtcars[4, 1:3], "test.xlsx", append=TRUE, row.names=FALSE)
Error in .jcall(wb, "Lorg/apache/poi/ss/usermodel/Sheet;", "createSheet",  : 
  java.lang.IllegalArgumentException: The workbook already contains a sheet of this name

1 个答案:

答案 0 :(得分:3)

此处使用appendWorksheet包中的XLConnect解决方案:

library(XLConnect)
# mtcars xlsx file from demoFiles subfolder of package XLConnect
demoExcelFile <- system.file("demoFiles/mtcars.xlsx", package = "XLConnect")
wb <- loadWorkbook(demoExcelFile)
appendWorksheet(wb, mtcars, sheet = "mtcars")
saveWorkbook(wb,demoExcelFile)