WorkbookProtection is too strict
Created originally on Bitbucket by jtbraun (Jeremy Braun)
openpyxl expects the workbookHashValue and workbookSaltValues to be HexBinary strings. However, excel can produce base64 encoded strings
This documentation from Microsoft: https://msdn.microsoft.com/en-us/library/documentformat.openxml.spreadsheet.workbookprotection(v=office.15).aspx
Calls out for both of these fields: The possible values for this attribute are defined by the W3C XML Schema base64Binary datatype.
Here's another implementation (Java) that is consistent with the MSFT docs above. http://www.javafind.net/gate.jsp?q=/library/162/docx4j-3.1.0-javadoc/org/xlsx4j/sml/CTWorkbookProtection.html
Note that revisionsHashValue and revisionsSaltValue are also supposed to be base64 data
Currently, worksheets protected in this way fail to parse.
Attachments: workbook.xml