Articles in this section
Category / Section

How to open Excel file as ReadOnly in C#, VB.NET?

3 mins read

Syncfusion Essential XlsIO is a .NET Excel library used to create, read, and edit Excel documents. Using this library, you can open an Excel document in ReadOnly mode and save the changes into another file.


This article explains on how to open and edit an Excel document in ReadOnly mode, and how to achieve this in XlsIO.

 

Steps to open an Excel file in ReadOnly mode, programmatically:

 

  1. Create a new Windows Forms application project.

 

Create Windows Forms application in Visual Studio

 

  1. Install Syncfusion.XlsIO.WinForms NuGet package as reference to your .NET Framework applications from the NuGet.org.

 

Adding XlsIO reference to the project

 

  1. Include the following namespaces in the Form1.Designer.cs file.

 

using Syncfusion.XlsIO;
using System;
using System.ComponentModel;
using System.Windows.Forms;

 

Imports Syncfusion.XlsIO
Imports System.ComponentModel
Imports System.Windows.Forms

 

  1. Add a new button in Form1.Designer.cs to create Excel file as follows.

 

private Button btnCreate;
private Label label;
 
private void InitializeComponent()
{
  btnCreate = new Button();
  label = new Label();
 
  //Label
  label.Location = new System.Drawing.Point(0, 40);
  label.Size = new System.Drawing.Size(426, 35);
  label.Text = "Click the button to view an Excel spreadsheet generated by Essential XlsIO. Please note that MS Excel Viewer or MS Excel is required to view the resultant document.";
  label.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
 
  //Button
  btnCreate.Location = new System.Drawing.Point(180, 110);
  btnCreate.Size = new System.Drawing.Size(85, 26);
  btnCreate.Text = "Create Document";
  btnCreate.Click += new EventHandler(btnCreate_Click); 
   
  //Create Spreadsheet
  ClientSize = new System.Drawing.Size(450, 150);
  Controls.Add(label);
  Controls.Add(btnCreate);
  Text = "Create Spreadsheet";
}

 

Private label As Label
Private WithEvents btnCreate As Button
 
Private Sub InitializeComponent()
  label = New Label()
  btnCreate = New Button()
 
  'Label
  label.Location = New Drawing.Point(0, 40)
  label.Size = New Drawing.Size(426, 35)
  label.Text = "Click the button to view an Excel spreadsheet generated by Essential XlsIO. Please note that MS Excel Viewer or MS Excel is required to view the resultant document."
  label.TextAlign = Drawing.ContentAlignment.MiddleCenter
 
  'Button
  btnCreate.Location = New Drawing.Point(180, 110)
  btnCreate.Size = New Drawing.Size(85, 26)
  btnCreate.Text = "Create Document"
 
  'Create Spreadsheet
  ClientSize = New Drawing.Size(450, 150)
  Controls.Add(btnCreate)
  Controls.Add(label)
  Text = "Create Spreadsheet"
End Sub

 

  1. Add the following code in btnCreate_Click() event to open an Excel file in ReadOnly mode.

 

using (ExcelEngine excelEngine = new ExcelEngine())
            {
                //Set the default application version as Excel 2016
                excelEngine.Excel.DefaultVersion = ExcelVersion.Excel2016;
 
                //Open a workbook in read-only mode
                IWorkbook workbook = excelEngine.Excel.Workbooks.OpenReadOnly("Sample.xlsx");
 
                //Access first worksheet from the workbook instance
                IWorksheet worksheet = workbook.Worksheets[0];
 
                //Insert sample text into cell “A1”
                worksheet.Range["A1"].Text = "Hello World";
 
                //Save the workbook to disk in xlsx format
                workbook.SaveAs("Output.xlsx");
            }

 

'Create an instance of ExcelEngine
Using excelEngine As ExcelEngine = New ExcelEngine
 
  'Set the default application version as Excel 2016
  excelEngine.Excel.DefaultVersion = ExcelVersion.Excel2016
 
  'Create a workbook with a worksheet
  Dim workbook As IWorkbook = excelEngine.Excel.Workbooks.OpenReadOnly("Sample.xlsx")
 
  'Access first worksheet from the workbook instance
  Dim worksheet As IWorksheet = workbook.Worksheets(0)
 
  'Insert sample text into cell “A1”
  worksheet.Range("A1").Text = "Hello World"
 
  'Save the workbook to disk in xlsx format
  workbook.SaveAs("Output.xlsx")
 
End Using

 

A complete working example of how to open an Excel file in ReadOnly mode can be downloaded from, Open-Excel-file-as-ReadOnly.zip

By executing the program, you will get the Excel file as follows.

 

Create Excel File

 

Take a moment to peruse the documentation, where you can find basic worksheet data manipulation options along with features like Conditional Formatting, worksheet calculations through Formulas, adding Charts in worksheet or workbook, organizing and analyzing data through Tables and Pivot Tables, appending multiple records to worksheet using Template Markers, and most importantly PDF and Image conversions with code examples.

 

Refer here to explore the rich set of Syncfusion Essential XlsIO features.

 

Note:

Starting with v16.2.0.x, if you reference Syncfusion assemblies from trial setup or from the NuGet feed, include a license key in your projects. Refer to link to learn about generating and registering Syncfusion license key in your application to use the components without trail message.

 

Did you find this information helpful?
Yes
No
Help us improve this page
Please provide feedback or comments
Comments (0)
Please  to leave a comment
Access denied
Access denied