#!/usr/bin/perl -w use strict; use Spreadsheet::WriteExcel; my $workbook = new Spreadsheet::WriteExcel("test.xls"); my $sheet = $workbook->add_worksheet(); my $moneyFormat = $workbook->add_format(); $moneyFormat->set_num_format('$#,##0'); my $boldFormat = $workbook->add_format(); $boldFormat->set_bold(); my $row=0; my @longest=(0,0,0,0,0,0,0); open(MOV, ") { chomp; my @fields = split(/,/, $_); for(my $col = 0; $col < @fields; $col++) { if ($row == 0) { $sheet->write($row, $col, $fields[$col], $boldFormat); } else { if ($col == 2 or $col == 3) { $sheet->write($row, $col, $fields[$col], $moneyFormat); } else { $sheet->write($row, $col, $fields[$col]); } } if ($longest[$col] < length($fields[$col])) { $longest[$col] = length($fields[$col]); } } $row++; } $longest[2]+=3; $longest[3]+=3; for(my $i = 0; $i < @longest; $i++) { $sheet->set_column($i,$i,$longest[$i]); } close(MOV); $workbook->close();