我想用R来附加一行3列宽的xlsx文件。 xlsx文件有一些我不想丢失的格式。 xlsx
包read.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
答案 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)