in reply to Perl and Microsoft Excel

Excel::Template was built for this exact purpose. It has the same API as HTML::Template (and PDF::Template, for that matter) and will gladly provide either a file or a buffer for CGI.

My criteria for good software:
  1. Does it work?
  2. Can someone else come in, make a change, and be reasonably certain no bugs were introduced?