I am using package xlsx
Version:0.5.7 Date: 2014-08-01. in R version 3.0.1 (2013-05-16) -- "Good Sport" Platform: i386-w64-mingw32/i386 (32-bit).
I have an xlsx file with at least 2 sheets (say A and B). I need to read data from A, edit them and save them in B. This has to be done on a periodical base.
I am able to read data from A with read.xlsx
. After editing the data frame I want to save it in an existing sheet B in the same xlsx file.
I try with this line
write.xlsx(down, paste0(root,'/registration reports/registration complete_WK.xlsx'), sheet="data_final", col.names=T, row.names=F, append=T, showNA=F)
but it give me this error:
Error in
.jcall(wb, "Lorg/apache/poi/ss/usermodel/Sheet;", "createSheet",
: java.lang.IllegalArgumentException: The workbook already contains a sheet of this name
I really need to replace that existing sheet multiple times. How can I do that?
thanks, Filippo
If you want to save your new dataframe in an existing excel file, you first have to load the xlsx-file:
which sheets you have you'll get like this:
you can easily remove and add (and thus replace) sheets with:
than you can fill the sheets with dataframes:
and last step is saving the whole workbook as .xlsx:
btw: the documentation of the xlsx-package is really good and helpful on such questions :) http://cran.r-project.org/web/packages/xlsx/xlsx.pdf
It may be that the Java installed on your computer is incompatible with the xlsx library. The following thread discusses a similar issue with regard to the same package: enter link description here
Alternatively, your issue may be solved by a different Excel-related package, such as XLConnect. See this post: enter link description here