http://qs321.pair.com?node_id=1114624


in reply to Excel how to open existing worksheet

From the documentation on the old Spreadsheet::WriteExcel module
MODIFYING AND REWRITING EXCEL FILES An Excel file is a binary file within a binary file. It contains sever +al interlinked checksums and changing even one byte can cause it to b +ecome corrupted. As such you cannot simply append or update an Excel file. The only way + to achieve this is to read the entire file into memory, make the req +uired changes or additions and then write the file out again. You can read and rewrite an Excel file using the Spreadsheet::ParseExc +el::SaveParser module which is a wrapper around Spreadsheet::ParseExc +el and Spreadsheet::WriteExcel. It is part of the Spreadsheet::ParseE +xcel package: http://search.cpan.org/search?dist=Spreadsheet-ParseExc +el. However, you can only rewrite the features that Spreadsheet::WriteExce +l supports so macros, graphs and some other features in the original +Excel file will be lost. Also, formulas aren't rewritten, only the re +sult of a formula is written.
The xlsx format is somewhat better documented, but the problem appears to remain.

print "Good ",qw(night morning afternoon evening)[(localtime)[2]/6]," fellow monks."