Jemand zu Hause?Leser: 16
Spreadsheet::WriteExcel geht das schlicht und einfach nicht. In
Spreadsheet::SimpleExcel geht das auch nur, weil es nicht gleich in ein Spreadsheet::WriteExcel-Objekt gepackt wird, sondern erst wenn die Ausgabe benötigt wird. Das hat widerum den Nachteil, dass man einige Funktionen aus Spreadsheet::WriteExcel nicht nutzen kann.
1 2 3 4 5 6 7 8 9 10 11 12 13 14
#!/usr/bin/perl use warnings; use strict; use Win32::OLE::Const 'Microsoft Excel'; my $xlsDatei = 'c:/temp/test.xls'; my $excel = Win32::OLE->GetActiveObject('Excel.Application') || Win32::OLE->new('Excel.Application', 'Quit'); my $book = $excel->Workbooks->Open("$xlsDatei"); my $sheet = $book->Worksheets("Tabelle3")->Delete; $book->Close; $excel->Quit();
Spreadsheet::ParseExcel arbeiten, das bietet ein Modul
Spreadsheet::Parse::Excel::SaveParser. Damit könntest Du das xls einlesen und nur die benötigten Tabellen wieder speichern.