apparently win32::OLE can be used to write to an existing spreadsheet. I have 
read the cpan docs and tried a hundred things, but I cant seem to get the 
syntax right. 
I'm going to post this script one more time. 


#!/usr/bin/perl
use strict;
use Spreadsheet::XLSX;
use File::Copy;
use Win32::OLE;

#copy("build.xlsx","build1.xls") or die "Copy failed: $!";
my $excel = Spreadsheet::XLSX -> new ('build.xlsx');
my $sheet = $excel->Worksheet('Sheet1');
my ($row_min,$row_max) = $sheet->row_range();

# scan col D and store values
my %colD=();
for my $row ($row_min..$row_max){
  my $valD = $sheet->{Cells}[$row][3]->{Val}; 
  $colD{$valD} = $row+1; # excel row number
}

# scan col A starting at row 2
  my $workbook = Spreadsheet::WriteExcel->new('newproduct.xls');
  my $worksheet = $workbook->add_worksheet(); 
  
  my $write_row = 1;
  for my $row (1..$row_max){
  my $valA = $sheet->{Cells}[$row][0]->{Val}; 
  my $valB = $sheet->{Cells}[$row][1]->{Val};
  
  # does this value exist in Col D
  if (exists $colD{$valA}) {
   my $xlrow = $row+1;
   
Right here can someone show me how to write $valB into Column R on the row 
where the match was made. 
  
   } else {
  
#output new products to text file
 
   # ...
   $worksheet->write ($write_row, 0, "$valA");
   $write_row++;
   # ...
 }
  }
  
 the script is kind of simple. All it does is take a value from Column A of a 
spreadsheet and look for it in Column D. If it finds a match that means there 
was a price change. The price is in Column B and is stored in the script in 
$valB. if the price is changed, as indicated by the match, then the price needs 
to be copied to Column R (17), I am told that Win32::OLE can do this. but I 
have never used it, I read through the docs but sometimes the examples in cpan 
leave me feeling like I know less than when I went in. 
Can win32::OLE write to an existing spreadsheet? if it can, can someone give me 
an example that will help me understand the syntax that does this. 

Thank you


--
To unsubscribe, e-mail: beginners-unsubscr...@perl.org
For additional commands, e-mail: beginners-h...@perl.org
http://learn.perl.org/


Reply via email to