[R] write.xls

Jim Holtman jholtman at gmail.com
Sun May 20 04:59:19 CEST 2012


I have been using XLConnect to write multisheet Excel without any problems.

Sent from my iPad

On May 19, 2012, at 21:32, Spencer Graves <spencer.graves at structuremonitoring.com> wrote:

> Hello, All:
> 
> 
>      The "writeFindFn2xls" function in the "sos" package tries to write an Excel file with 3 sheets ('PackageSum2', 'findFn', 'call'). Unfortunately, it is often unable to do this because of configuration problems that are not easy to fix.  I've found 3 contributed packages that provide facilities to write Excel files with multiple sheets. Unfortunately, I can't get any of them to work consistently for me. Below please find test cases that illustrate the problems.  Any suggestions for how to solve this problem will be appreciated.
> 
> 
>      Thanks,
>      Spencer
> 
> 
> library(dataframes2xls)
> 
> df1 <- data.frame(c1=1:2, c2=3:4, c3=5:6)
> df2 <- data.frame(c21=c(10.10101010101,20, 3), c22=c(50E50,60, 3) )
> outFile <- 'df12.xls'
> 
> write.xls(c(df1,df2), outFile)
> # works
> 
> do.call(write.xls, list(c(df1, df2), outFile))
> # Error in get(s[i]) : object 'structure(list(c1=1:2' not found
> 
> library(WriteXLS)
> testPerl()
> #Perl found.
> #The following Perl modules were not found on this system:
> #Text::CSV_XS
> #If you have more than one Perl installation, be sure the correct one was used here.
> #Otherwise, please install the missing modules. See the package INSTALL file for more information.
> 
> # *** NOTE:  I may be able to fix this for myself.
> # *** However, I want to use this in the 'sos' package,
> # *** and if it doesn't work easily for me, it may not work for others.
> 
> library(RODBC)
> xlsFile <- odbcConnectExcel(outFile, readOnly=FALSE)
> # NOTE:  This works with R 2.15.0 32-bit.
> # However, with 64-bit, I get the following error message here:
> # Error in odbcConnectExcel(outFile, readOnly = FALSE) :
> #   odbcConnectExcel is only usable with 32-bit Windows
> 
> # When this works, the following 3 lines of code
> #    suffice to create the outFile:
> sqlSave(xlsFile, df1, tablename='sheet1')
> sqlSave(xlsFile, df2, tablename='sheet2')
> odbcClose(xlsFile)
> 
> sessionInfo()
> #R version 2.15.0 (2012-03-30)
> #Platform: x86_64-pc-mingw32/x64 (64-bit)
> 
> #locale:
> #[1] LC_COLLATE=English_United States.1252
> #[2] LC_CTYPE=English_United States.1252
> #[3] LC_MONETARY=English_United States.1252
> #[4] LC_NUMERIC=C
> #[5] LC_TIME=English_United States.1252
> 
> #attached base packages:
> #[1] stats     graphics  grDevices utils     datasets  methods   base
> 
> #other attached packages:
> #[1] RODBC_1.3-5          WriteXLS_2.1.0       dataframes2xls_0.4.5
> 
> 
> 
> -- 
> Spencer Graves, PE, PhD
> President and Chief Technology Officer
> Structure Inspection and Monitoring, Inc.
> 751 Emerson Ct.
> San José, CA 95126
> ph:  408-655-4567
> web:  www.structuremonitoring.com
> 
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.



More information about the R-help mailing list