--- fudge6 2012-10-08 01:27:35.187500000 -0700
+++ fudge7 2012-10-08 01:40:55.031250000 -0700
@@ -9,7 +9,7 @@
use Win32::OLE::Variant;
use Win32::OLE::NLS qw(:LOCALE :DATE);
use List::MoreUtils qw(natatime);
-use Excel::Writer::XLSX;
+#~ use Excel::Writer::XLSX;
############################################################
@@ -69,13 +69,11 @@
my $Tot_Cols = $Sheet->UsedRange->Columns->{'Count'};
#Extract the necessary information from the rows and columns and plac
+es them in three arrays @right @legal and @prod
- foreach my $row ( 1 .. $Tot_Rows ) {
- if( my $firstCol = eval {
- $Sheet->Cells( $row, $col )->{'Value'}
- }
- ){
- if ( $firstCol =~ /^\d{10}$/ ) {
+ if( my $firstCol = eval { $Sheet->Cells( 1, 1)->{'Value'}
+ }
+ and $firstCol =~ /^\d{10}$/
+ )
+ {
push @right, $firstCol;
push @legal, $firstCol;
push @prod, $firstCol;
@@ -83,42 +81,42 @@
ValueTargetCols(
$Sheet,
[ \@right, \@legal, \@prod, ],
- [ $row ],
+ [ 1 .. $Tot_Rows ],
[ qw{ 4 5 } ],
);
ValueTargetCols(
$Sheet,
[ \@legal, ],
- [ $row ],
+ [ 1 .. $Tot_Rows ],
[ qw{ 6 } ],
);
ValueTargetCols(
$Sheet,
[ \@right, ],
- [ $row ],
+ [ 1 .. $Tot_Rows ],
[ qw{ 7 8 9 } ],
);
ValueTargetCols(
$Sheet,
[ \@right, \@legal, ],
- [ $row ],
+ [ 1 .. $Tot_Rows ],
[ qw{ 10 11 } ],
);
ValueTargetCols(
$Sheet,
[ \@prod, \@right, ],
- [ $row ],
+ [ 1 .. $Tot_Rows ],
[ qw{ 12 } ],
);
ValueTargetCols(
$Sheet,
[ \@prod ],
- [ $row ],
+ [ 1 .. $Tot_Rows ],
[ qw{
13 14 15
17 18
@@ -130,7 +128,6 @@
}
}
}
- }
$Book->Close;
}
--- fudge7 2012-10-08 01:40:55.031250000 -0700
+++ fudge8 2012-10-08 01:47:28.906250000 -0700
@@ -5,7 +5,7 @@
use strict;
use warnings;
use Win32::OLE qw(in with);
-use Win32::OLE::Const 'Microsoft Excel';
+#~ use Win32::OLE::Const 'Microsoft Excel';
use Win32::OLE::Variant;
use Win32::OLE::NLS qw(:LOCALE :DATE);
use List::MoreUtils qw(natatime);
@@ -37,7 +37,6 @@
my $counti; #used to count the excelfiles
my $usefile; #The file that is being used
my @recID; #an array of ID's for the worksheets
-my $ID; #The actual ID being pushed to the array
my $val; #A test value that is used to test whether a row should
+be included
my @right
; #The first of the arrays that will be filled during the process a
+nd will be further disected later
@@ -59,20 +58,16 @@
#####Work on each sheet in the workbook
#####This is the number of worksheets in the workbook
my $sheetcnt = $Book->Worksheets->Count();
- foreach my $r (1) {
- my $Sheet = $Book->Worksheets($r);
- $ID = $Sheet->{Name};
- push @recID, $ID;
+#~ foreach my $r (1) {
+ {
+ my $Sheet = $Book->Worksheets( 1 );
+ push @recID, $Sheet->{Name};
print "Worksheet name is $Sheet->{Name}\n";
- ##work on each row and column
my $Tot_Rows = $Sheet->UsedRange->Rows->{'Count'};
my $Tot_Cols = $Sheet->UsedRange->Columns->{'Count'};
+ my $firstCol = eval { $Sheet->Cells( 1, 1)->{'Value'} }
-#Extract the necessary information from the rows and columns and plac
+es them in three arrays @right @legal and @prod
-
- if( my $firstCol = eval { $Sheet->Cells( 1, 1)->{'Value'}
+ }
- and $firstCol =~ /^\d{10}$/
- )
+ if( defined $firstCol and $firstCol =~ /^\d{10}$/ )
{
push @right, $firstCol;
push @legal, $firstCol;
@@ -127,7 +122,6 @@
}
}
- }
$Book->Close;
}
@@ -345,7 +339,7 @@
sub ValueTargetCols {
- my( $sheet, $targets, $row, $cols ) = @_;
+ my( $sheet, $targets, $rows, $cols ) = @_;
for my $col ( @$cols )
{
for my $row( @$rows )