_roro: Exceldokument lesen

Beitrag lesen

moin,

Grundsätzlich weiß ich wie es laufen muss, jedoch weiß ich nicht wie ich es am besten umsetzen soll. Hat jmd. da schon Erfahrungen gesammelt? Könnte mir jmd. einen Tipp geben, wie ich dies umsetzten kann?

mit PERL ist das ganz einfach, swu. Das Script verwende ich gelegentlich zum Umwandeln einer Excel-Tabelle in eine HTML-Tabelle (nur lokal). Optional wird der HTML-Code in der Zwischenablage gespeichert und kann dadurch einfach eingefügt werden.

--roro

  
#!/usr/bin/perl  
# Rolf Rost 11.02.2007  
###########################################################################  
my $file = 'd:\tmp\tab.xls';  
my $range = 'a1:d4';  
my $worksheet = 1;  
###########################################################################  
use strict;  
use Win32::Clipboard;  
use Win32::OLE qw(in with);  
use Win32::OLE::Const 'Microsoft Excel';  
$Win32::OLE::Warn = 3;  
  
  
  
my $Excel = Win32::OLE->GetActiveObject('Excel.Application') || Win32::OLE->new('Excel.Application', 'Quit');  
  
my $Book = $Excel->Workbooks->Open($file);  
  
  
my $Sheet = $Book->Worksheets($worksheet);  
my $array = $Sheet->Range($range)->{'Value'};  
$Book->Close;  
  
my $clip = "<table border=1 width='100%' cellpadding=5 cellspacing=0>\n";  
foreach my $ref_array (@$array) {  
 $clip .= "<tr>\n";  
 $clip .= "<td>";  
 $clip .= join("</td><td>", @$ref_array);  
 $clip .= "</td>\n";  
 $clip .= "</tr>\n";  
}  
$clip .= "</table>\n";  
#print $clip;  
  
my $CLIP = Win32::Clipboard($clip);