in reply to Modules for xlsx files

John MacNamara, who knows a thing or two about Excel files, states:
An Excel file is a binary file within a binary file. It contains several interlinked checksums and changing even one byte can cause it to become 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 required changes or additions and then write the file out again.
The docs for Spreadsheet::ParseExcel::SaveParser state that the module works "by reading it with Spreadsheet::ParseExcel and rewriting it with Spreadsheet::WriteExcel". For .xlsx files you will have to do that bit yourself.

To read in use: Spreadsheet::ParseXLSX

To write out use: Excel::Writer::XLSX

There is also a module called Excel::Template::XLSX which may be of interest.