How to protect cells and sheet elements in C#.NET

EasyXLS Excel library can be used to export Excel files in C#. The library works with .NET Framework or .NET Core platform.

Step 1: Download EasyXLS Excel Library for .NET

To download the trial version of EasyXLS Excel Library, press the below button:

Download EasyXLS™ Excel Library for C#

If you already own a license key, you may login and download EasyXLS from your account.

Install the downloaded EasyXLS installer for v8.6 or earlier.

Step 2: License file setup

Step required for EasyXLS v9.0 or later.

If you are using a trial, generate a trial license file from EasyXLS trials page. The trial license is valid for 30-days.

If you own a license key, you may login to the account that purchased the license and generate the license file from:

Setup the license file into your project using these guidelines.

Step 3: Create a C# project

If don't have a project, create one as ASP.NET web application, windows forms app, console application, class library or service.

Step 4: Include EasyXLS library into project

EasyXLS.dll must be added as reference to your project. EasyXLS.dll can be found:
- Inside the downloaded archive at Step 1 for EasyXLS v9.0 or later
- Under installation path for EasyXLS v8.6 or earlier, in "Dot NET version" folder.

Add EasyXLS reference

Step 5: Run C# code that protects Excel sheet

Execute the following C# code that exports data to Excel, protects Excel sheet and locks cells.

/* -------------------------------------------------------------
 * Tutorial 06
 * This code sample shows how to create an Excel file in C# with
 * multiple sheets. The first sheet is protected and
 * filled with data. The cells are formatted and locked.
 * ---------------------------------------------------------- */

using System;
using System.Drawing;
using EasyXLS;
using EasyXLS.Constants;

public class Tutorial06
    static void Main()
        Console.WriteLine("Tutorial 06\n----------\n");

        // Create an instance of the class that creates Excel files, having two sheets
        ExcelDocument workbook = new ExcelDocument(2);
        // Set the sheet names
        workbook.easy_getSheetAt(0).setSheetName("First tab");
        workbook.easy_getSheetAt(1).setSheetName("Second tab");

        // Protect first sheet

        // Get the table of data for the first worksheet
        ExcelTable xlsFirstTable = ((ExcelWorksheet)workbook.easy_getSheetAt(0)).easy_getExcelTable();

        // Create the formatting style for the header
        ExcelStyle xlsStyleHeader = new ExcelStyle("Verdana", 8, true, true, Color.Yellow);
        xlsStyleHeader.setBorderColors(Color.Gray, Color.Gray, Color.Gray, Color.Gray);
        xlsStyleHeader.setBorderStyles(Border.BORDER_MEDIUM, Border.BORDER_MEDIUM, 
                                            Border.BORDER_MEDIUM, Border.BORDER_MEDIUM);

        // Add data in cells for report header
        for (int column=0; column<5; column++)
            xlsFirstTable.easy_getCell(0, column).setValue("Column " + (column + 1)); 
            xlsFirstTable.easy_getCell(0, column).setStyle(xlsStyleHeader);

        // Add data in cells for report values
        for (int row=0; row<100; row++)
            for (int column=0; column<5; column++)
                xlsFirstTable.easy_getCell(row+1, column).setValue("Data " + (row + 1) + ", " + (column + 1));

        // Create a formatting style for cells
        ExcelStyle xlsStyleData = new ExcelStyle();
        // Protect cells
        xlsFirstTable.easy_setRangeStyle("A2:E101", xlsStyleData);

        // Set column widths
        xlsFirstTable.setColumnWidth(0, 70);
        xlsFirstTable.setColumnWidth(1, 100);
        xlsFirstTable.setColumnWidth(2, 70);
        xlsFirstTable.setColumnWidth(3, 100);
        xlsFirstTable.setColumnWidth(4, 70);

        // Create Excel file
        Console.WriteLine("Writing file C:\\Samples\\Tutorial06 - protect Excel sheet.xlsx.");
        workbook.easy_WriteXLSXFile("C:\\Samples\\Tutorial06 - protect Excel sheet.xlsx");

        // Confirm the creation of Excel file
        String sError = workbook.easy_getError();
        if (sError.Equals(""))
            Console.Write("\nFile successfully created. Press Enter to Exit...");
            Console.Write("\nError encountered: " + sError + "\nPress Enter to Exit...");

        // Dispose memory


EasyXLS Excel libraries:

Excel Library for C#
full .NET version to import, export or convert Excel files
Excel Writer for C#
.NET version to create and export Excel files
Download EasyXLS™ Excel Library for C#

File formats:

Office 365
MS Excel 2021 - 2024
MS Excel 2007 - 2019
MS Excel 97 - 2003