in reply to WriteExcel : The text 801495E40 turns into 8.01495E+45

Use write_string():

use strict; use warnings; use Spreadsheet::WriteExcel; my $workbook = Spreadsheet::WriteExcel->new('test.xls'); my $worksheet = $workbook->add_worksheet(); my $col = my $row = 0; $worksheet->write_string( $row, $col, '801495E40' );

Edit: My apologies, but just now noticed that runrig already mentioned this.