Beefy Boxes and Bandwidth Generously Provided by pair Networks
XP is just a number
 
PerlMonks  

DumpArrayToExcel

by aubell (Novice)
on Mar 30, 2005 at 10:21 UTC ( #443393=sourcecode: print w/replies, xml ) Need Help??
Category: Win32 Stuff
Author/Contact Info
Description: In ActivePerl,It's easy to use OLE.Use my package ,It's more easy to Dump an array to Excel.Just say: use MyDump('Dump2Excel'); Dump2Excel([1,2,3,4,5,6,7,8,9,10]); No matter how long the array is.
package MyDump;
use Exporter;
use Win32::OLE qw( in with);
use Win32::OLE::Const 'Microsoft Excel';
use strict;
our @ISA=('Exporter');
our @EXPORT_OK=('Dump2Excel');

$Win32::OLE::Warn=3;
sub Dump2Excel
{    
    my $r2a=shift;    
    my $line;
    
    my $Excel=Win32::OLE->new("Excel.Application");
    $Excel->{'Visible'}=1;    
    my $Book=$Excel->Workbooks->Add;    
    my $Sheet=$Book->Worksheets(1);
    
    my $row=1;
    my $col=1;
    my $value;
    
    foreach $line(@{$r2a})
    {
        foreach $value(@{$line})
        {
            $Sheet->Cells($row,$col)->{'Value'}=$value;
            $col++;
        }
        $row++;$col=1;
    }
    
    
}

1;

=Example
use MyDump('Dump2Excel');
my @line1=('number','name','sex','age');
my @line2=('0','Jack','M','28');
my @line3=('1',"Marry",'F','29');

Dump2Excel([\@line1,\@line2,\@line3]);
Replies are listed 'Best First'.
Re: DumpArrayToExcel
by jZed (Prior) on Mar 30, 2005 at 15:41 UTC
    Or, for a platform-independant solution using DBD::CSV with the most recent SQL::Statement:
    use DBI; my $dbh=DBI->connect('dbi:CSV:'); my $AoA =[ ['number','name','sex','age'], ['0','Jack','M','28'], ['1',"Marry",'F','29'] ]; $dbh->do("CREATE TABLE worksheet AS IMPORT(?)",{},$AoA); __END__
Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: sourcecode [id://443393]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others browsing the Monastery: (6)
As of 2020-09-22 21:03 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    If at first I donít succeed, I Ö










    Results (130 votes). Check out past polls.

    Notices?