How to open Excel file as ReadOnly in C#, VB.NET?
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:
- Create a new Windows Forms application project.
- Install Syncfusion.XlsIO.WinForms NuGet package as reference to your .NET Framework applications from the NuGet.org.
- 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
- 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
- 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.
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.
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.