I would put the mapping rules in another spreadsheet something like this

#!perl use strict; use Win32::OLE::Const 'Microsoft Excel'; Win32::OLE->Option(Warn => 3); my $ex = Win32::OLE->GetActiveObject('Excel.Application') || Win32::OLE->new('Excel.Application', 'Quit'); my $wb1 = $ex->Workbooks->Open("c:\\temp\\Book1.xlsx") ; my $wb2 = $ex->Workbooks->Add ; my $wb3 = $ex->Workbooks->Open("c:\\temp\\Mapping.xlsx"); my $sht1 = $wb1->Worksheets("Sheet1"); my $sht2 = $wb2->Worksheets("Sheet1"); my $sht3 = $wb3->Worksheets("Sheet1"); my $lastRow = $sht3->UsedRange->Find({What=>"*", SearchDirection=>xlPrevious, SearchOrder=>xlByRows})->{Row}; # Copy columns for my $n (1..$lastRow){ my $in = $sht3->Range("A$n")->Value; my $out = $sht3->Range("B$n")->Value; print "Mapping rule $n : $in => $out\n"; $sht1->Range("$in:$in")->Copy( $sht2->Range("$out:$out") ); } $wb2->SaveAs("c:\\temp\\Book2.xlsx"); undef $ex;
poj

In reply to Re: How to control (in a generic way) population of Excel file from another Excel file by poj
in thread How to control (in a generic way) population of Excel file from another Excel file by woland99

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.