[R-pkgs] WriteXLS - New Version 1.9.0

Marc Schwartz marc_schwartz at me.com
Mon Mar 22 14:33:32 CET 2010


The updated package has been submitted to CRAN and has begun to propagate to CRAN mirrors.

Package: WriteXLS

Version: 1.9.0

Description: Cross-platform perl based R function to create Excel (XLS) files from one or more data frames. Each data frame will be written to a separate named worksheet in the Excel spreadsheet. The worksheet name will be the name of the data frame it contains or can be specified by the user.

Author(s): Marc Schwartz <marc_schwartz at me.com>
Maintainer: Marc Schwartz <marc_schwartz at me.com>

License: GPL (>=2)

URL:	http://r-forge.r-project.org/projects/writexls/


Key changes since version 1.8.1:

New arguments: 

1. 'AdjWidth' for approximate auto column width adjustments to the longest (widest) entry in each column. This is approximate because the built-in AutoFit functions are not accessible from Perl. The approximation used will typically result in a column width that is somewhat too wide rather than too narrow and is based upon using the default font of Arial 10. Default is FALSE.

2. 'AutoFilter' for setting up autofiltering for each column. Default is FALSE.

3. 'BoldHeaderRow' to add bold font to header row entries. Default is FALSE.

4. 'FreezeRow' and 'FreezeCol' to set up frozen panes in each worksheet. Default values are 0 and 0, where there are no frozen panes created.


The above new options will apply to ALL worksheets created in the XLS file.


Please note that after researching the potential for being able to append new worksheets to an existing XLS file, this does not appear to be a robust option via Perl. The combination of the required Perl packages Spreadsheet::ParseExcel and Spreadsheet::WriteExcel does not support the preservation of many pre-existing worksheet objects as noted in:

http://search.cpan.org/~jmcnamara/Spreadsheet-WriteExcel-2.37/lib/Spreadsheet/WriteExcel.pm#MODIFYING_AND_REWRITING_EXCEL_FILES

These include embedded graphics, cell formulae, macros, etc. which would be lost during the worksheet appending process. Via Perl, it appears that one cannot simply open an XLS file, add a new worksheet and then close the file. One has to open the existing file, read each existing worksheet, write the existing worksheets to a new file, append the new worksheets to the new file and then close both files. Thus, given this limitation using Perl and the potential for compromising the content of existing XLS files, there are no plans at present to add the ability to append new worksheets to an existing file to this package.


Thanks and regards,

Marc Schwartz



More information about the R-packages mailing list