Also, if you converted to use Excel::Template (which wraps Spreadsheet::WriteExcel), you could set the text_wrap attribute in the <format> tag and it will do the rest.
My criteria for good software:
Does it work?
Can someone else come in, make a change, and be reasonably certain no bugs were introduced?