#! 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;