Encrypt And Decrypt ODS files

Encrypt with OpenOffice Calc

  1. Select Save as and Click the Save With Password box.
  2. Click the Save button.
  3. Type your desired password into both the Enter Password to Open and Confirm Password fields in the Set Password window that opens.
  4. Click the OK button to save the file.

Encrypting/Decrypting ODS File:

For encrypting an ODS file, load the file and pass the actual password to WorkbookSettings.setPassword() before saving it. The output encrypted ODS file can be opened in OpenOffice only. For decrypting an ODS file, load the file by providing the password in the LoadOptions.setPassword(). Once the file is loaded, call function Workbook.unprotect() with actual password as argument and finally pass null to Workbook.getWorkbookSettings().setPassword().

Sample Code:

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
// The path to the documents directory.
static String sourceDir = Utils.Get_SourceDirectory();
static String outputDir = Utils.Get_OutputDirectory();
public static void main(String[] args) throws Exception {
//Encrypt an ODS file
//Encrypted ODS file can only be opened in OpenOffice as Excel does not support encrypted ODS files
//Initialize loading options
LoadOptions loadOptions = new LoadOptions(LoadFormat.ODS);
// Instantiate a Workbook object.
// Open an ODS file.
Workbook workbook = new Workbook(sourceDir + "sampleODSFile.ods", loadOptions);
//Encryption options are not effective for ODS files
// Password protect the file.
workbook.getSettings().setPassword("1234");
// Save the excel file.
workbook.save(outputDir + "outputEncryptedODSFile.ods");
//Decrypt ODS file
//Decrypted ODS file can be opened both in Excel and OpenOffice
// Set original password
loadOptions.setPassword("1234");
// Load the encrypted ODS file with the appropriate load options
Workbook encrypted = new Workbook(sourceDir + "sampleEncryptedODSFile.ods", loadOptions);
// Unprotect the workbook
encrypted.unprotect("1234");
// Set the password to null
encrypted.getSettings().setPassword(null);
// Save the decrypted ODS file
encrypted.save(outputDir + "outputDecryptedODSFile.ods");
// Print message
System.out.println("Encryption and Decryption applied successfully on ODS file.");
}