I'm not aware of ways to write Excel Add-Ins using Perl directly, but I can think of some ways to accomplish that:
- Write a VB add-in that calls your Perl program. Transferring the data between your Perl program and the VB program is tricky, I recommend using ODBC to stuff the data directly into Excel or into a (Access) database which the VB program then reads
- Write an Excel macro that loads a resource via HTTP (the Open() command can open URLs too, as can some cell function) and provide your results via HTTP::Server::Simple. The best way is to encode the cell/column info in the HTTP query so you avoid encoding/decoding your results across the process barrier
- Using some ActiveState development kit, write an OLE object in Perl and call it from a VB wrapper. This is the most convenient way but requires buying the ActiveState kit.