I've answered a similar question on node
652223
Basically, with ActiveState Perl, and using PAR::Packer. You do get an EXE.
"Send To" passes the file name as arguments: you should get them on @ARGV.
Check
cpan xls2csv for a simple xls to csv "translator".
What you might want to do in your program is to save the CSV or TSV or whatever file you need in the same folder as the file that has been passed via @ARGV.
Please do let us know how that went ;)