in reply to Changing cell property in Excel through a module


The best way to do this is to use an Excel number format instead of sprintf. That way if the number is changed by the user the format will stay the same.

In this case the number format that you need is '00000'.

... my $isbn_format = $workbook->add_format(num_format => '00000'); for my $row (3..10) { $worksheet->write($row -1, 0, $row, $isbn_format); }

See the set_num_format() section of the docs as well as the keep_leading_zeros() section (as suggested by runrig above) for some background information and this for an introduction to Excel's number formats.

--
John.