#!/usr/bin/Perl use warnings; use strict; sub su_Excel($); my $XLS_Datei = ""; $XLS_Datei = "Exceldatei.xls"; my $Text_Datei = ""; $Text_Datei = su_Excel($XLS_Datei); # hier hast du nun die Textdatei im Zugriff und kannst ganz normal weiterarbeiten sub su_Excel($) { my $XLS_Datei = shift; my $ExcelTabelle; 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($XLS_Datei); my $Sheet = $Book->Worksheets(1); $Excel->ActiveCell->SpecialCells(xlLastCell)->Select; my $Letzte_Zeile = $Excel->ActiveCell->Row; my $Letzte_Spalte = $Excel->ActiveCell->Column; my $Array = $Sheet->Range($Sheet->Cells(1,1),$Sheet->Cells($Letzte_Zeile,$Letzte_Spalte))->{'Value'}; $Book->Close; my $Text_Datei = "Textdatei.txt"; open(TEXT, ">$Text_Datei") or die $!; my $Zeile = ""; my $Feld = ""; foreach my $ref_Array (@$Array) { $Zeile = ""; foreach my $ExcelTabelle (@$ref_Array) { $Feld = $ExcelTabelle; $Zeile .= $Feld."\t"; } # foreach print TEXT $Zeile, "\n"; } # foreach $Excel->Quit(); close(TEXT) or die $!; $Text_Datei; } # su_Excel