[R] [R-pkgs] WriteXLS Version 3.0.0 Released

Marc Schwartz marc_schwartz at me.com
Thu Jul 25 15:00:04 CEST 2013


Hi,

Perl is still required for WriteXLS. That dependency has not changed.

What did change is that I removed the requirement for Text::CSV_XS, which contains C code in the Perl package source that required compilation and therefore could not be included in the WriteXLS CRAN package. The compilation process to create the binary is OS and Perl version specific. Thus, if not already installed, WriteXLS users would either have to install a pre-compiled binary using their Perl or OS package manager or via the CLI using 'cpan' and compile during local installation, which requires that compiler related tools also be installed, making it a bit more cumbersome.

I can now include Text::CSV_PP, which is recently stable enough to use and is a Perl only implementation of the CSV file parsing functionality found in Text::CSV_XS.

The output below suggests that you have Perl version 5.14 installed but that you may be missing Archive::Zip, which based upon my prior research is typically installed with most recent Perl distributions. Thus, I did not include it in the WriteXLS CRAN package nor do I check for it in testPerl(). Archive::Zip is a dependency for Excel::Writer::XLSX, which creates the XLSX files in WriteXLS().

Can you run testPerl() from the WriteXLS package and post back the output and also let me know what OS you are running? I presume some Linux distribution, albeit feedback from others using the new version of WriteXLS on Linux, OSX and Windows have not indicated that Archive::Zip is missing. 

I may then need to update WriteXLS to include Archive::Zip if there are some Perl installations that do not include it.

Thanks,

Marc


On Jul 24, 2013, at 11:24 PM, Orvalho Augusto <orvaquim at gmail.com> wrote:

> Hello!
> 
> None can imagine how this package is helpful for me. I might have
> understood wrong... is it correct that WriteXLS doesn't no more require
> Perl?
> 
> It is because I got this on my machine:
>>    WriteXLS("iris", "iriscomments.xlsx", AdjWidth = TRUE, BoldHeaderRow
> = TRUE)
> Can't locate Archive/Zip.pm in @INC (@INC contains:
> /usr/local/lib/R/site-library/WriteXLS/Perl /etc/perl
> /usr/local/lib/perl/5.14.2 /usr/local/share/perl/5.14.2 /usr/lib/perl5
> /usr/share/perl5 /usr/lib/perl/5.14 /usr/share/perl/5.14
> /usr/local/lib/site_perl .) at
> /usr/local/lib/R/site-library/WriteXLS/Perl/Excel/Writer/XLSX/Workbook.pm
> line 25.
> BEGIN failed--compilation aborted at
> /usr/local/lib/R/site-library/WriteXLS/Perl/Excel/Writer/XLSX/Workbook.pm
> line 25.
> Compilation failed in require at
> /usr/local/lib/R/site-library/WriteXLS/Perl/Excel/Writer/XLSX.pm line 18.
> BEGIN failed--compilation aborted at
> /usr/local/lib/R/site-library/WriteXLS/Perl/Excel/Writer/XLSX.pm line 18.
> Compilation failed in require at
> /usr/local/lib/R/site-library/WriteXLS/Perl/WriteXLSX.pl line 35.
> BEGIN failed--compilation aborted at
> /usr/local/lib/R/site-library/WriteXLS/Perl/WriteXLSX.pl line 35.
> The Perl script 'WriteXLSX.pl' failed to run successfully.
> 
> Thank you
> Caveman
> 
> 
> 
> On Wed, Jul 24, 2013 at 2:27 PM, Marc Schwartz <marc_schwartz at me.com> wrote:
> 
>> On Jul 23, 2013, at 5:40 PM, cognizio <geoff at uyleman.com> wrote:
>> 
>>> Great summary! It works great without the heavy PERL library. I am
>> running
>>> the YAML package I thought I needed to support WRITEXLS. Do I need it or
>> is
>>> YAML not a dependency?
>>> 
>>> Other question is on your last point: 'WRITEXLS COMMENT:' now shows up
>>> across the first row of the data output in the XLS. How do I modify these
>>> values?
>>> 
>>> Thx!
>>> 
>>> Cog
>> 
>> 
>> Hi,
>> 
>> There is no direct dependency on YAML.
>> 
>> The comments that appear in the first row in Excel are based upon the use
>> of the ?comment function, which adds a 'comment' attribute to the columns
>> of the data frame. If that attribute is present on one or more columns, an
>> Excel comment will be created for the columns that have it.
>> 
>> There is an example of this in ?WriteXLS:
>> 
>>    # Example using comment()
>>    # Commented cells with have a small red triangle in the
>>    # upper right hand corner of the cell. Click on the cell
>>    # or place the cursor over the cell to see the pop-up
>>    # containing the comment text.
>>    # Create an XLSX (Excel 2007) file
>>    # Adjust the column widths
>>    # Bold the header row
>>    comment(iris$Sepal.Length) <- "Length of the sepals (cm)"
>>    comment(iris$Sepal.Width) <- "Width of the sepals (cm)"
>>    comment(iris$Petal.Length) <- "Length of the petals (cm)"
>>    comment(iris$Petal.Width) <- "Width of the petals (cm)"
>>    comment(iris$Species) <- "Species of the flowers"
>>    WriteXLS("iris", "iriscomments.xlsx", AdjWidth = TRUE, BoldHeaderRow =
>> TRUE)
>> 
>> 
>> The 'comment' attribute is not seen when printing the data frame, but can
>> be seen when using ?str to print the structure of the data frame:
>> 
>>> str(iris)
>> 'data.frame':   150 obs. of  5 variables:
>> $ Sepal.Length: atomic  5.1 4.9 4.7 4.6 5 5.4 4.6 5 4.4 4.9 ...
>>  ..- attr(*, "comment")= chr "Length of the sepals (cm)"
>> $ Sepal.Width : atomic  3.5 3 3.2 3.1 3.6 3.9 3.4 3.4 2.9 3.1 ...
>>  ..- attr(*, "comment")= chr "Width of the sepals (cm)"
>> $ Petal.Length: atomic  1.4 1.4 1.3 1.5 1.4 1.7 1.4 1.5 1.4 1.5 ...
>>  ..- attr(*, "comment")= chr "Length of the petals (cm)"
>> $ Petal.Width : atomic  0.2 0.2 0.2 0.2 0.2 0.4 0.3 0.2 0.2 0.1 ...
>>  ..- attr(*, "comment")= chr "Width of the petals (cm)"
>> $ Species     : Factor w/ 3 levels "setosa","versicolor",..: 1 1 1 1 1 1
>> 1 1 1 1 ...
>>  ..- attr(*, "comment")= chr "Species of the flowers"
>> 
>> 
>> 
>> Regards,
>> 
>> Marc Schwartz



More information about the R-help mailing list