Many of us likely have used Perl to manipulate speadsheets, either as CSV, or using one of the Spreadsheet: modules from CPAN.
But how many of us use Perl One-Liners to manipulate MS Excel Spreadsheets? Can you do this... Yes You Can, with XLSPerl http://perl.jonallen.info/projects/xlstools
While not the most elegant solution I am sure, I have worked up a short example. The code below reads "Sheet1" and prints the value of cells in column "F" each time a unique value is discovered. This has the effect of 'deduping', or removing duplicates.
xlsperl -nle "$val=$_;if($WS eq q(Sheet1) && $COL eq q(F)){unless($found{$val}){print qq($val)}$found{$val}++}" Contacts.xls
Note the use of q() and qq() to account for the requirement under Windows to use double quotes on the command line.
I was wondering if anyone else can share their XLS one-liners, particularly if my musings have prompted you to experiment with XLSperl for the first time! Those deft enough to execute the hack within cmd.exe deserve extra cudos.
Please reply with your wizardly one-liners, or if you merely came with an opinion, offer a well written one...
-- Patrick
In reply to MS Excel One-Liner Challenge by spectre9
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |