in reply to Spreadsheet Parsing problem

As we already established on the Chatterbox... the square is the appropriate newline character: "\x0A". The problem is that Excel doesn't treat it that way... unless you add a format to those cells, using addformat from the module Spreadsheet::WriteExcel, and call the method set_text_wrap() on it.

Now I've had to cheat a little, and check the source for Spreadsheet::WriteExcel::Simple, in order to figure out what would need to be added to your code. Note that though I did test it with Spreadsheet::WriteExcel, I couldn't actually test your final code... I can just hope it works.

First, to create the format, add this somewhere under your new() call:

my $fmt = $ss->book->addformat; $fmt->set_text_wrap;
And to actually add the row, change the call to:
$ss->write_row(\@odata, $fmt);
i.e. add $fmt as a second parameter.