Beefy Boxes and Bandwidth Generously Provided by pair Networks
Think about Loose Coupling

Make existing excel file password protected

by dgupta (Initiate)
on Nov 03, 2017 at 01:22 UTC ( #1202661=perlquestion: print w/replies, xml ) Need Help??

dgupta has asked for the wisdom of the Perl Monks concerning the following question:

Hi All, I have excel file generated from some other process, which i need to make password protected and send it to email distribution group, when user open file, they should get window to enter password , Any help would be appreciated. Thanks..
  • Comment on Make existing excel file password protected

Replies are listed 'Best First'.
Re: Make existing excel file password protected
by 1nickt (Abbot) on Nov 03, 2017 at 12:09 UTC

    Hi, as far as I know you cannot password-protect a workbook from a Perl module. (Maybe it's possible with a Win32 module, unknown to me...) The following code "protects" the worksheet, requiring a password to change/add any data, but as noted in the doc for Excel::Writer::XLSX, the "protection" is very weak.

    use strict; use warnings; use Excel::Writer::XLSX; my $workbook = Excel::Writer::XLSX->new( '1202661.xlsx' ); my $worksheet = $workbook->add_worksheet(); $worksheet->write( 'A1', 'foo' ); $worksheet->write( 'B1', 'bar' ); $worksheet->write( 'A2', 'baz' ); $worksheet->write( 'B2', 'qux' ); $worksheet->protect('s3kr1t'); __END__
    If you want true encryption and password protection I think you will have to either perform that in Excel itself, or simply encrypt the file and mail it that way.

    The way forward always starts with a minimal test.

      If you're on a Windows system and have Excel installed, you can use Win32::OLE to automate Excel. Anything that you can do manually in Excel is possible to do via Win32::OLE. But this is a case of Perl automating an external program (Excel). Personally I have not used any of the modules that attempt to manipulate Excel files without using Excel itself, so I can't comment on their capabilities or suggest an alternative.

      I had tried Excel::Writer::XLSX, it only protect something to write on it..Not making excel file password protected.
Re: Make existing excel file password protected
by thanos1983 (Parson) on Nov 03, 2017 at 08:22 UTC

    Hello dgupta,

    Welcome to the Monastery. This question was asked in the past on the Monastery Password Protect Excel File. I do not see any answer that can assist you on the relevant question but they propose a few other approaches.

    Read it through maybe it will assist you. If you manage to resolve your problem update your question so other people can benefit from it too.

    Hope this helps, BR.

    Seeking for Perl wisdom...on the process of learning...not there...yet!

Log In?

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: perlquestion [id://1202661]
Approved by holli
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others pondering the Monastery: (5)
As of 2021-10-19 15:00 GMT
Find Nodes?
    Voting Booth?
    My first memorable Perl project was:

    Results (77 votes). Check out past polls.