Table of Contents

  1. Overview
  2. Why Protect Excel Spreadsheets?
  3. Benefits of Using SpreadsheetLocker
  4. Prerequisites
  5. Step-by-Step Protection Guide
  6. Complete C# Code Example
  7. Performance and Security Tips
  8. Common Issues and Troubleshooting
  9. Frequently Asked Questions (FAQs)
  10. Related Resources

Overview

SpreadsheetLocker in Aspose.Cells.LowCode simplifies securing Excel files by applying passwords to restrict access and editing capabilities. Ideal for protecting sensitive data and meeting compliance requirements effortlessly within your .NET applications. For developers looking to C# Protect Excel files, this tool provides an effective solution.


Why Protect Excel Spreadsheets?

  • Secure Sensitive Data: Prevent unauthorized access and modification.
  • Maintain Data Integrity: Lock finalized reports to preserve accuracy and consistency.
  • Ensure Compliance: Meet regulatory standards by securing critical business information.

Benefits of Using SpreadsheetLocker

  • Easy Implementation: Apply or remove passwords with minimal coding.
  • Flexible Password Management: Separate passwords for opening and editing documents.
  • Dynamic Security: Utilize providers to dynamically generate or retrieve passwords securely.
  • Quick Integration: Seamlessly integrates with existing .NET applications.

Prerequisites

  1. Install Aspose.Cells.LowCode via NuGet:

Install-Package Aspose.Cells.LowCode

  1. .NET 6.0 or later.
  2. Import required namespaces:
using Aspose.Cells;
using Aspose.Cells.LowCode;

Step-by-Step Protection Guide

Applying Password Protection

Apply passwords to Excel files quickly:

public class SimpleProtectionProvider : AbstractLowCodeProtectionProvider
{
    private readonly string openPwd, writePwd;

    public SimpleProtectionProvider(string openPwd, string writePwd)
    {
        this.openPwd = openPwd;
        this.writePwd = writePwd;
    }

    public override string GetOpenPassword() => openPwd;
    public override string GetWritePassword() => writePwd;
}

var loadOpts = new LowCodeLoadOptions { InputFile = "sensitive.xlsx" };
var saveOpts = new LowCodeSaveOptions { SaveFormat = SaveFormat.Xlsx, OutputFile = "protected.xlsx" };
var provider = new SimpleProtectionProvider("open123", "modify123");
SpreadsheetLocker.Process(loadOpts, saveOpts, provider); 

Removing Password Protection

Remove previously applied protection:

var removeProvider = new SimpleProtectionProvider(string.Empty, string.Empty);
SpreadsheetLocker.Process(
  new LowCodeLoadOptions { InputFile = "protected.xlsx" },
  new LowCodeSaveOptions { SaveFormat = SaveFormat.Xlsx, OutputFile = "unlocked.xlsx" },
  removeProvider
);

Complete C# Code Example

An end-to-end demonstration of applying and removing Excel password protection:

using System;
using Aspose.Cells.LowCode;

namespace ProtectionExample
{
    public class SimpleProtectionProvider : AbstractLowCodeProtectionProvider
    {
        private readonly string openPwd, writePwd;

        public SimpleProtectionProvider(string openPwd, string writePwd)
        {
            this.openPwd = openPwd;
            this.writePwd = writePwd;
        }

        public override string GetOpenPassword() => openPwd;
        public override string GetWritePassword() => writePwd;
    }

    class Program
    {
        static void Main()
        {
            // Apply Protection
            var loadOpts = new LowCodeLoadOptions { InputFile = "report.xlsx" };
            var saveOpts = new LowCodeSaveOptions { SaveFormat = SaveFormat.Xlsx, OutputFile = "report_protected.xlsx" };
            var provider = new SimpleProtectionProvider("OpenMe", "EditMe");
            SpreadsheetLocker.Process(loadOpts, saveOpts, provider);
            Console.WriteLine("Workbook protected successfully.");

            // Remove Protection
            var removeProvider = new SimpleProtectionProvider(string.Empty, string.Empty);
            SpreadsheetLocker.Process(
            new LowCodeLoadOptions { InputFile = "report_protected.xlsx" },
            new LowCodeSaveOptions { SaveFormat = SaveFormat.Xlsx, OutputFile = "report_unlocked.xlsx" },
            removeProvider
            );
            Console.WriteLine("Protection removed successfully.");
        }
    }
} 

Performance and Security Tips

  • Batch Protection: Automate security for multiple files using loops or batch scripts.
  • Dynamic Password Retrieval: Implement secure password retrieval from vaults or user inputs.
  • Audit Logging: Log password application and removal actions for audit purposes.

Common Issues and Troubleshooting

IssueSolution
Incorrect password errorsVerify passwords carefully; they’re case-sensitive.
File locked issuesEnsure Excel files aren’t open in other programs.
Unsupported file formatsVerify supported file formats (XLS, XLSX, XLTM, XLSM).

Frequently Asked Questions (FAQs)

Q1: Can individual sheets be protected separately?
Yes, use Aspose.Cells’ full API (Worksheet.Protect).

Q2: How can users input passwords securely?
Create a custom provider for secure password input.

Q3: Is it possible to remove protections completely?
Yes, use an empty password as shown above.


More in this category