If you can live with dumping to a comma delimited file, just do that and import to Excel.
If you want to write directly to an Excel format, you could do that with Perl. Have any Perl programmers around? Here's an example of one. Not really too much code. Jared ========================================= #!/home/oracle/perl/bin/perl # template for DBI programs use warnings; use FileHandle; use DBI; use strict; use Spreadsheet::WriteExcel; use Spreadsheet::WriteExcel::Big; use Getopt::Long; use constant LINES_PER_BOOK => 60001; # flush buffers $|++; my %optctl = (); Getopt::Long::GetOptions( \%optctl, "database=s", "username=s", "password=s", "sysdba!", "sysoper!", "z","h","help"); my($db, $username, $password, $connectionMode); $connectionMode = 0; if ( $optctl{sysoper} ) { $connectionMode = 4 } if ( $optctl{sysdba} ) { $connectionMode = 2 } if ( ! defined($optctl{database}) ) { Usage(); die "database required\n"; } $db=$optctl{database}; if ( ! defined($optctl{username}) ) { Usage(); die "username required\n"; } $username=$optctl{username}; $password = $optctl{password}; my $dbh = DBI->connect( 'dbi:Oracle:' . $db, $username, $password, { RaiseError => 1, AutoCommit => 0, ora_session_mode => $connectionMode } ); die "Connect to $db failed \n" unless $dbh; $dbh->{RowCacheSize} = 100; my $sql=q{ select * from myschema.mytable --where rownum < 10001 where year = '2000' -- year and month = '01' -- month order by year, month }; print "Preparing SQL\n"; my $sth = $dbh->prepare($sql); print "Executing SQL\n"; $sth->execute; print "Creating Workbook\n"; my $workbook = Spreadsheet::WriteExcel::Big->new(newWorkBookName()); die "unable to create workbook - $!\n" unless $workbook; $workbook->set_tempdir('/u03/tmp'); 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 "." unless $rowCount++%1000; if ( ++$lineCount >= LINES_PER_BOOK ) { $workbook->close; my $workBookName = newWorkBookName(); $workbook = Spreadsheet::WriteExcel::Big->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; $dbh->disconnect; sub Usage { print "\n"; print "usage: we.pl\n"; print " we.pl -database dv07 -username scott -password tiger [-sysdba || -sysoper]\n"; print "\n"; } { my $workBookNumber = 0; sub newWorkBookName { return "/u01/tmp/excel_dump_" . ++$workBookNumber . ".xls"; } } "Burton, Laura L." <[EMAIL PROTECTED]> Sent by: [EMAIL PROTECTED] 11/06/2002 10:48 AM Please respond to ORACLE-L To: Multiple recipients of list ORACLE-L <[EMAIL PROTECTED]> cc: Subject: Oracle to Excel I think I have seen traffic concerning the extracting of data from Oracle into an Excel spreadsheet. We now have a need for this. Could anyone enlighten me? Thank you in advance. Laura -- Please see the official ORACLE-L FAQ: http://www.orafaq.com -- Author: INET: [EMAIL PROTECTED] Fat City Network Services -- 858-538-5051 http://www.fatcity.com San Diego, California -- Mailing list and web hosting services --------------------------------------------------------------------- To REMOVE yourself from this mailing list, send an E-Mail message to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in the message BODY, include a line containing: UNSUB ORACLE-L (or the name of mailing list you want to be removed from). You may also send the HELP command for other information (like subscribing).