I don't have Microsoft office at home, and only use Microsoft Windows at home for Steam. At work I threw together a quick example based on yours, something like:
#!/usr/bin/perl
use strict;
use warnings;
use Win32::OLE qw(in with);
use Win32::OLE::Const 'Microsoft Excel';
$Win32::OLE::Warn = 3; # die on errors...
my $Excel = Win32::OLE->GetActiveObject
('Excel.Application') || Win32::OLE->new
('Excel.Application', 'Quit');
$Excel->{'Visible'} = 1; #0 is hidden, 1 is visible
$Excel->Application->{DisplayAlerts} = 0; #0 is hide alerts
my $book = "c:\\input.xls";
my $new = "c:\\output.txt";
my $Book = $Excel->Workbooks->Open({FileName =>$book, ReadOnly => 1});
# open Excel file
my $Sheet = $Book->Worksheets(3);
$Sheet->Activate();
$Book->SaveAs({Filename => $new, FileFormat => xlText});
$Book->Close;
$Excel->Quit();
Prior to running the script I populated c:\output.txt with "This is a test", and sheet three of the Excel workbook with "boohya!". After running the script the contents of c:\output.txt read "boohya!". For testing purposes I'm pretty sure I left Excel visible.