use Win32::OLE qw(in with); use Win32::OLE::Const 'Microsoft Excel'; my $exceloutputfile = 'c:\workbook_out.xls'; my $Excel = Win32::OLE->GetActiveObject('Excel.Application') || Win32::OLE->new('Excel.Application', 'Quit'); $Excel->{DisplayAlerts}=0; $Excel->{Visible} = 1; my $Bookout = $Excel->Workbooks->Add(); $Bookout->SaveAs($exceloutputfile); my $excelinputfile = 'c:\list.xls'; my $Bookin = $Excel->Workbooks->Open($excelinputfile); my $Sheet = $Bookout->Worksheets("Sheet1"); $Sheet->Activate(); $Sheet->{Name} = "Sheet1"; $Sheet->Range("[list.xls]ListSheet1!a1:a99")->AutoFilter; #close and save