For setting the column format, try this:
my $trans_format = $workbook->add_format();
$trans_format->set_num_format('$0.00');
#...
$worksheet->set_column('I:I', undef, $trans_format);
For column J, just don't write to the column:
my $row = 2;
while (<FH>) {
chomp;
@keepers = split /,/, $_, 10;
pop @keepers; # only get first 9 columns
$worksheet->write_row($row, 0, \@keepers, $cell_format);
$row++;
}
$worksheet->write_formula('I1', '=SUM (I3:I262)');
$worksheet->set_column('I:I', undef, $trans_format);
Update: replaced write() with write_row()