5 Einträge, 1 Seite |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#! D:\Perl\bin
use warnings;
use strict;
use Spreadsheet::ParseExcel;
foreach my $filename (glob("*.xls")){ #&âusserste Schleife. Wird f³r jede passende (Excel)Datei durchlaufen
my $oBook = Spreadsheet::ParseExcel::Workbook->Parse("$filename"); #legt ein Objekt f³r die Exceldatei an
my($iR, $iC, $oWkS, $oWkC, $SZaehler); #Zeile Spalte, Tabellenblatt und ein Hilfszõhler werden angelegt
foreach my $oWkS (@{$oBook->{Worksheet}}) { #Schleife f³r jedes gefundene Arbeitsblatt
my $Ausgabedatei = "${filename}_${oWkS}_$oWkS->{Name}.txt"; #Name der Ausgabedatei: ExcelDatei+Arbeitsblatt.txt
open AUSGABEDATEI, (">$Ausgabedatei"); # Lege Ausgabedatei f³r Excel-Arbeitsblatt an
print "--------- SHEET:", $oWkS->{Name}, "\n";
for(my $iR = $oWkS->{MinRow}; defined $oWkS->{MaxRow} && $iR <= $oWkS->{MaxRow}; $iR++) {
my $SZaehler=0;
for(my $iC = $oWkS->{MinCol}; defined $oWkS->{MaxCol} && $iC <= $oWkS->{MaxCol}; $iC++) {
my $Umbruch="\t";
$oWkC = $oWkS->{Cells}[$iR][$iC];
print "( $iR , $iC ) =>", $oWkC->Value, "\n" if($oWkC);
if ($SZaehler < $oWkS->{MaxCol}){$Umbruch="\t";}
else {$Umbruch="\n"}
#entferne CRLF
my $Zelle;
if (defined($oWkC)){
$Zelle = $oWkC->Value;
$Zelle =~ s/(\n|\t)/ /g;
}
print AUSGABEDATEI $Zelle, "$Umbruch" if($oWkC);
print AUSGABEDATEI "$Umbruch" if not ($oWkC);
$SZaehler++;
}
}
close AUSGABEDATEI;
}
}
exit;
1 2 3 4 5 6 7 8 9
use Win32::OLE::Variant; ... (my $ls = $hashref->{'Last Saved'}) =~ s/^(\d+)-(\d+)-(\d+)T(\d+):(\d+):(\d+)$/$1 $2 $3 $4:$5:$6/; if ($ls ne "") { my $var = Variant(VT_DATE, $ls); $worksheet->Cells($row, $col++)->{'Value'} = $var; } else { $worksheet->Cells($row, $col++)->{'Value'} = '-'; }
5 Einträge, 1 Seite |