in reply to capturing STDOUT
Spreadsheet::WriteExcel accepts a valid filehandle as an argument to new() as of version 0.31. The best way to achieve what you want is via a tied scalar and the IO::Scalar module which is part of the IO::Stringy distribution. For example:
There are further examples of using filehandles with Spreadsheet::WriteExcel in the filehandle.pl program that is in the examples directory of the distribution.#!/usr/bin/perl -w use strict; use Spreadsheet::WriteExcel; use IO::Scalar; # Write an Excel file to a string via IO::Scalar. # Refer to the IO::Scalar documentation for further details. # my $a; tie *XLS, 'IO::Scalar', \$a; # Create a spreadsheet and write something to it. # my $workbook = Spreadsheet::WriteExcel->new(\*XLS); my $worksheet = $workbook->addworksheet(); $worksheet->write(0, 0, "Hi Excel!"); $workbook->close(); # This is required # The Excel file is now in $a. As a demonstration, print it to a f +ile. # open TMP, "> test.xls"; binmode(TMP); print TMP $a;
John.
--
|
---|
Replies are listed 'Best First'. | |
---|---|
Re: Re: capturing STDOUT
by nop (Hermit) on May 02, 2001 at 01:48 UTC | |
by jmcnamara (Monsignor) on May 02, 2001 at 03:25 UTC | |
by Anonymous Monk on Oct 09, 2012 at 19:58 UTC | |
by tobyink (Canon) on Oct 09, 2012 at 20:31 UTC | |
by Anonymous Monk on Oct 10, 2012 at 17:48 UTC | |
|
In Section
Seekers of Perl Wisdom