#!C:/Perl/bin/perl use strict; use warnings; use CGI::Carp qw(fatalsToBrowser); use CGI qw(:standard); use Win32::OLE qw(in valof with); use Win32::OLE::Variant; use Win32::OLE::NLS qw(:LOCALE :DATE); use Win32::OLE::Const 'Microsoft Excel'; $Win32::OLE::Warn = 3; # die on errors... my $DateFormat = "DDD mmm dd, yyyy -- hh:mm:ss"; # Directory to store uploaded customer files my $uploadc_dir = "E:/Inetpub/wwwroot/someplace/somefilelib"; my $query = new CGI; my $Excel = Win32::OLE->GetActiveObject('Excel.Application') || Win32::OLE->new('Excel.Application', 'Quit'); $Excel->{DisplayAlerts}=0; my $IBook = $Excel->Workbooks->Open("E:\\afile"); # select worksheet number 1 (you can also select a worksheet by name) and activate it my $ISheet = $IBook->Worksheets(1); $ISheet->Activate(); # Find last row and last column my $LastRow = $ISheet->UsedRange->Find({What=>"*", SearchDirection=>xlPrevious, SearchOrder=>xlByRows})->{Row}; my $LastCol = $ISheet->UsedRange->Find({What=>"*", SearchDirection=>xlPrevious, SearchOrder=>xlByColumns})->{Column};