I have a working perl script which collects data from master excel sheet and populates rest of the sheets so as to keep them updated. But now there is a twist. Columns in rest of the sheets have been hidden and locked with password. I know the password but I am just not able to edit password protected area. I am using SpreadSheet::Parseexcel and Win32::OLE. I was going through SpreadSheet::Writeexcel but that can be used to create new excel files as it is not exporting any Open API to use.

Editing password protected data with Spreadsheet:ParseExcel still on the author todo list. Maybe you could mail the author of the module for more info and help him making it. -- Don't reinvent the wheel, use it, abuse it or hack it.

As of now to acheive the same I have created 2 hidden and locked macros which are responsible for unprotecting and protecting rest of the sheets; and I run these macros from my Perl script using $Excel->Run("Macro-name");