Hello

To send mail from the command line,  I use to use "elm"  which would allow
me to insert the files as attachments.

But now,  I would suggest using one of the CPAN mail libraries to mail
directly from the perl script.   MIME::Lite would do the trick and you
could  specify the encoded file as "application/vnd.ms-excel".

Peter
>
> Greeting, all,
>
> I have a script which converts query output into Excel spread sheet which
> is working fine, I am a UNIX scripting guy and I am having difficulty
> making some simple changes to the script, hope I will get some help.
>
> I want to send a email from the script only if it fetches any data
> excluding header using
>
> uuencode excel_dump_1.xls excel_dump_1.xls |mailx -s "blah blah.."
> [EMAIL PROTECTED] which will send the  excel spread sheet as an attachment.
>
> Thanks in advance
>
> #!/usr/bin/perl
>
> use warnings;
>
> use FileHandle;
>
> use DBI;
>
> use strict;
>
> use Spreadsheet::WriteExcel;
>
> #use Spreadsheet::WriteExcel::Big;
>
> use Getopt::Long;
>
> use constant LINES_PER_BOOK => 60001;
>
> my $dbh1 = DBI->connect("dbi:Oracle:db1", "user1", "user1" ) or die "Can't
> make 1st database connect: $DBI::errstr\n";
>
>
>
> $dbh1->{RowCacheSize} = 100;
>
>
>
> my $sql=q{
>
> select *
>
> from table1
>
> where status!='Active'
>
> };
>
>
>
> print "Preparing SQL\n";
>
>
>
> my $sth = $dbh1->prepare($sql);
>
>
>
> print "Executing SQL\n";
>
>
>
> $sth->execute();
>
> print "Creating Workbook\n";
>
>
>
> my $workbook = Spreadsheet::WriteExcel->new(newWorkBookName());
>
> die "unable to create workbook - $!\n" unless $workbook;
>
> $workbook->set_tempdir('/home/user1/LC');
>
> my $worksheet = $workbook->addworksheet();
>
>
>
> my $colNames = $sth->{NAME_uc};
>
>
>
> print "Fetching data\n";
>
>
>
> my $rowCount=0;
>
> my $lineCount=0;
>
> $worksheet->write_row($lineCount,0,$colNames);
>
> print "\n";
>
>
>
> while( my $ary = $sth->fetchrow_arrayref ) {
>
> print $rowCount;
>
> print "." unless $rowCount++%1000;
>
> if ( ++$lineCount >= LINES_PER_BOOK ) {
>
> $workbook->close;
>
> my $workBookName = newWorkBookName();
>
> $workbook =
>
> Spreadsheet::WriteExcel->new($workBookName);
>
> die "unable to create workbook - $!\n" unless $workbook;
>
> $worksheet = $workbook->addworksheet();
>
> $lineCount=0;
>
> $worksheet->write_row($lineCount,0,$colNames);
>
> $lineCount=1;
>
> print "\nNew Workbook: $workBookName\n";
>
> }
>
> $worksheet->write_row($lineCount,0,$ary);
>
> }
>
>
>
> print "\n";
>
>
>
> $workbook->close;
>
> $sth->finish;
>
> $dbh1->disconnect;
>
>
>
>
>
> {
>
>
>
> my $workBookNumber = 0;
>
> sub newWorkBookName {
>
> return "/home/user1/LC/excel_dump_" . ++$workBookNumber . ".xls";
>
> }
>
> }
>
>
>
> ---------------------------------
> Do you Yahoo!?
>  Read only the mail you want - Yahoo! Mail SpamGuard.


Reply via email to