in reply to Need help with opening up a Excel file then modifying it.


The best thing to do is to use the Spreadsheet::ParseExcel::SaveParser module which is part of the Spreadsheet::ParseExcel distribution.

SaveParser wraps Spreadsheet::ParseExcel and Spreadsheet::WriteExcel into one module so that you can read an existing file and then rewrite it. Here is a modified example from the docs using the new simplified interface:

$workbook = Spreadsheet::ParseExcel::SaveParser::Workbook->Parse('te +st.xls'); my $worksheet = $workbook->AddWorksheet('New Sheet'); $worksheet->AddCell(10, 1, 'New Cell'); $workbook->SaveAs('iftest.xls');

Unfortunately, the worksheet object returned by SaveParser isn't a WriteExcel worksheet object. Therefore, you will have to use the SaveParser methods to add formatting.

Also, formulas that are written by WriteExcel aren't read by ParseExcel for the reasons described here. I proposed a solution for this to the author of ParseExcel but he hasn't responded.

Just try to read the ParseExcel docs carefully and study the examples.

All in all the interface between these two modules should be cleaner. :-(

--
John.

Replies are listed 'Best First'.
A reply falls below the community's threshold of quality. You may see it by logging in.