Test in a live environment
Test in production without watermarks.
Works wherever you need it to.
using IronXL;
// Create new Excel spreadsheet
WorkBook workBook = WorkBook.Create(ExcelFileFormat.XLSX);
// Create worksheets (workSheet1, workSheet2, workSheet3)
WorkSheet workSheet1 = workBook.CreateWorkSheet("workSheet1");
WorkSheet workSheet2 = workBook.CreateWorkSheet("workSheet2");
WorkSheet workSheet3 = workBook.CreateWorkSheet("workSheet3");
// Set worksheet position (workSheet2, workSheet1, workSheet3)
workBook.SetSheetPosition("workSheet2", 0);
// Set active for workSheet3
workBook.SetActiveTab(2);
// Remove workSheet1
workBook.RemoveWorkSheet(1);
workBook.SaveAs("manageWorkSheet.xlsx");
Imports IronXL
' Create new Excel spreadsheet
Private workBook As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX)
' Create worksheets (workSheet1, workSheet2, workSheet3)
Private workSheet1 As WorkSheet = workBook.CreateWorkSheet("workSheet1")
Private workSheet2 As WorkSheet = workBook.CreateWorkSheet("workSheet2")
Private workSheet3 As WorkSheet = workBook.CreateWorkSheet("workSheet3")
' Set worksheet position (workSheet2, workSheet1, workSheet3)
workBook.SetSheetPosition("workSheet2", 0)
' Set active for workSheet3
workBook.SetActiveTab(2)
' Remove workSheet1
workBook.RemoveWorkSheet(1)
workBook.SaveAs("manageWorkSheet.xlsx")
<p><strong>IronXL</strong> library makes managing worksheet using C# code as easy as possible. The actions of create & delete worksheet, change worksheets position, set active worksheet in Excel file can be achieved without using Office Interop.</p> <h2 id="anchor-create-worksheet">Create Worksheet</h2> <p>The <code>CreateWorkSheet</code> method allows creating worksheet possible. It requires the worksheet name as the only parameter.</p> <h2 id="anchor-set-worksheet-position">Set Worksheet Position</h2> <p><code>SetSheetPosition</code> method can be used to change or move worksheet position. The two parameters are required. The worksheet name as String and its index position as Integer.</p> <h2 id="anchor-set-active-worksheet">Set Active Worksheet</h2> <p>Set active worksheet means to set which worksheet to be opened by default when the workbook is opened. To achieve this use <code>SetActiveTab</code> method with the index position of the worksheet.</p> <h2 id="anchor-remove-worksheet">Remove Worksheet</h2> <p>Removing the worksheet can also be done with IronXL. Use <code>RemoveWorkSheet</code> method along with index position of the worksheet. In the case of worksheet's position is unknown, the name of the worksheet can also be used to delete the worksheet.</p> <p>Please note that all the index position mentioned above follows zero-based indexing.</p> <div class="hsg-featured-snippet"> <h2>How to Manage an Excel Worksheet in C#</h2> <ol> <li><a class="js-modal-open" data-modal-id="trial-license-after-download" href="https://nuget.org/packages/IronXL.Excel/" target="_blank" rel="nofollow noopener noreferrer">Install C# library to manage worksheets in Excel</a></li> <li>Utilize <code>CreateWorkSheet</code> method to create worksheet</li> <li>Change worksheet position in C# with <code>SetSheetPosition</code></li> <li>Use <code>SetActiveTab</code> to set which worksheet to be opened by default</li> <li>Remove or delete worksheet using <code>RemoveWorkSheet</code> C# function</li> </ol> </div>
using IronXL;
using System;
using System.Linq;
// Supported for XLSX, XLS, XLSM, XLTX, CSV and TSV
WorkBook workBook = WorkBook.Load("sample.xlsx");
// Select worksheet at index 0
WorkSheet workSheet = workBook.WorkSheets[0];
// Get any existing worksheet
WorkSheet firstSheet = workBook.DefaultWorkSheet;
// Select a cell and return the converted value
int cellValue = workSheet["A2"].IntValue;
// Read from ranges of cells elegantly.
foreach (var cell in workSheet["A2:A10"])
{
Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text);
}
// Calculate aggregate values such as Min, Max and Sum
decimal sum = workSheet["A2:A10"].Sum();
// Linq compatible
decimal max = workSheet["A2:A10"].Max(c => c.DecimalValue);
Imports IronXL
Imports System
Imports System.Linq
' Supported for XLSX, XLS, XLSM, XLTX, CSV and TSV
Private workBook As WorkBook = WorkBook.Load("sample.xlsx")
' Select worksheet at index 0
Private workSheet As WorkSheet = workBook.WorkSheets(0)
' Get any existing worksheet
Private firstSheet As WorkSheet = workBook.DefaultWorkSheet
' Select a cell and return the converted value
Private cellValue As Integer = workSheet("A2").IntValue
' Read from ranges of cells elegantly.
For Each cell In workSheet("A2:A10")
Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text)
Next cell
' Calculate aggregate values such as Min, Max and Sum
Dim sum As Decimal = workSheet("A2:A10").Sum()
' Linq compatible
Dim max As Decimal = workSheet("A2:A10").Max(Function(c) c.DecimalValue)
<p>The <code>Load</code> feature in IronXL allows you to easily load and manipulate existing Excel files in various formats (XLSX, XLS, CSV, etc.). By loading a workbook, you gain access to its worksheets and data, enabling you to extract values, loop through cell ranges, and perform calculations like sums or maximum values. You can access specific cells, convert their values to the appropriate data type (e.g., integers, decimals), and even use LINQ for advanced data operations. This feature simplifies working with Excel data in .NET, making it ideal for tasks like data analysis, report generation, and automation.</p> <div class="examples__featured-snippet examples__featured-snippet"> <h2>5 Steps to Load and Calculate Sum from an Excel File</h2> <ul> <li><code>WorkBook workBook = WorkBook.Load("sample.xlsx");</code></li> <li><code>WorkSheet workSheet = workBook.WorkSheets[0];</code></li> <li><code>var range = workSheet["A2:A10"];</code></li> <li><code>decimal sum = range.Sum();</code></li> <li><code>Console.WriteLine("The sum of the range A2:A10 is: " + sum);</code></li> </ul> </div> <p>The <code>WorkBook</code> object is the key starting point for interacting with Excel files in IronXL. By using the <code>WorkBook.Load("sample.xlsx")</code> method, you open an existing Excel file, gaining access to its content and structure for further manipulation. This allows developers to work with pre-existing data, automate tasks, and update spreadsheets without having to create a new one from scratch.</p> <p>Next, the <code>WorkSheets[0]</code> property is used to access the first worksheet in the workbook. In Excel, a workbook can contain multiple sheets, each representing a set of data organized into rows and columns. By selecting the first sheet, you're targeting the main area where your data is stored or where you'll perform operations like reading values or calculating results.</p> <p>The range variable defines a specific group of cells, in this case, the range from <code>A2</code> to <code>A10</code>. This is where IronXL allows you to interact with multiple cells at once, either by reading values, applying formatting, or performing calculations across ranges. In this example, it captures a column range, making it easy to work with sequential data.</p> <p>The <code>.Sum()</code> method is used to calculate the sum of the numeric values in the selected range. This highlights how IronXL allows developers to perform quick, built-in calculations on ranges of data, eliminating the need for manual iteration and summing.</p> <p>Finally, the <code>Console.WriteLine()</code> statement outputs the calculated sum to the console. This is a simple but powerful way to display the result of your operations, such as the sum of values in a range, directly within your application.</p> <p>With this approach, developers can easily automate data aggregation tasks or integrate them into larger workflows.</p> <p><a href="/csharp/excel/how-to/load-spreadsheet/" class="code_content__related-link__doc-cta-link">Click here to view the How-to Guide, including examples, sample code, and files</a></p>
using IronXL;
// Create new Excel WorkBook document
WorkBook workBook = WorkBook.Create();
// Convert XLSX to XLS
WorkBook xlsWorkBook = WorkBook.Create(ExcelFileFormat.XLS);
// Create a blank WorkSheet
WorkSheet workSheet = workBook.CreateWorkSheet("new_sheet");
// Add data and styles to the new worksheet
workSheet["A1"].Value = "Hello World";
workSheet["A1"].Style.WrapText = true;
workSheet["A2"].BoolValue = true;
workSheet["A2"].Style.BottomBorder.Type = IronXL.Styles.BorderType.Double;
// Save the excel file as XLS, XLSX, CSV, TSV, JSON, XML, HTML and streams
workBook.SaveAs("sample.xlsx");
Imports IronXL
' Create new Excel WorkBook document
Private workBook As WorkBook = WorkBook.Create()
' Convert XLSX to XLS
Private xlsWorkBook As WorkBook = WorkBook.Create(ExcelFileFormat.XLS)
' Create a blank WorkSheet
Private workSheet As WorkSheet = workBook.CreateWorkSheet("new_sheet")
' Add data and styles to the new worksheet
Private workSheet("A1").Value = "Hello World"
Private workSheet("A1").Style.WrapText = True
Private workSheet("A2").BoolValue = True
Private workSheet("A2").Style.BottomBorder.Type = IronXL.Styles.BorderType.Double
' Save the excel file as XLS, XLSX, CSV, TSV, JSON, XML, HTML and streams
workBook.SaveAs("sample.xlsx")
<p>The Create Excel feature provides developers with a powerful way to generate and manage Excel files directly within .NET applications. </p> <p>It streamlines tasks like creating new workbooks, adding worksheets, and inputting data while offering advanced styling options such as text wrapping, borders, and formatting. This feature is perfect for automating reports, exporting data, or creating dynamic spreadsheets. IronXL supports multiple file formats, including XLS, XLSX, CSV, and more, ensuring compatibility with various systems. With its user-friendly API, developers can focus on core functionality while saving time and reducing complexity in Excel file management.</p> <div class="examples__featured-snippet"> <h2>5 Steps to Create and Style Excel Files with IronXL</h2> <ol> <li><code>WorkBook workBook = WorkBook.Create();</code></li> <li><code>WorkSheet workSheet = workBook.CreateWorkSheet("new_sheet");</code></li> <li><code>workSheet["A1"].Value = "Hello World";</code></li> <li><code>workSheet["A1"].Style.WrapText = true;</code></li> <li><code>workBook.SaveAs("sample.xlsx");</code></li> </ol> </div> <p>The <code>WorkBook</code> object serves as the foundation of any Excel file. By initializing a new workbook, developers gain access to a blank Excel document, ready to be populated with data and formatted as needed.</p> <p>Every Excel workbook requires at least one worksheet. The next step demonstrates how to create a new sheet within the workbook and assign it a custom name. Worksheets act as the primary structure for organizing data in rows and columns.</p> <p>The snippet demonstrates how to add content by assigning the value "Hello World" to a specific cell, <code>A1</code>. This shows how easy it is to populate data into an Excel sheet programmatically, enabling developers to automate tasks like report generation and data export.</p> <p>Additionally, the snippet applies styling to the cell by enabling the <code>WrapText</code> property. This ensures that lengthy content in the cell is displayed neatly across multiple lines, improving readability and preventing text from being cut off. Such styling options empower developers to create visually appealing and professional spreadsheets.</p> <p>Lastly, the workbook is saved as an <code>.xlsx</code> file, ensuring all changes are preserved. This file can be opened in any Excel-compatible application, offering broad compatibility.</p> <p><a href="/csharp/excel/how-to/create-spreadsheet/" class="code_content__related-link__doc-cta-link">Click here to view the How-to Guide, including examples, sample code, and files</a></p>
using IronXL;
using System.IO;
// Import any XLSX, XLS, XLSM, XLTX, CSV and TSV
WorkBook workBook = WorkBook.Load("sample.xlsx");
// Export the excel file as XLS, XLSX, XLSM, CSV, TSV, JSON, XML
workBook.SaveAs("sample.xls");
workBook.SaveAs("sample.xlsx");
workBook.SaveAs("sample.tsv");
workBook.SaveAsCsv("sample.csv");
workBook.SaveAsJson("sample.json");
workBook.SaveAsXml("sample.xml");
// Export the excel file as Html, Html string
workBook.ExportToHtml("sample.html");
string htmlString = workBook.ExportToHtmlString();
// Export the excel file as Binary, Byte array, Data set, Stream
byte[] binary = workBook.ToBinary();
byte[] byteArray = workBook.ToByteArray();
System.Data.DataSet dataSet = workBook.ToDataSet(); // Allow easy integration with DataGrids, SQL and EF
Stream stream = workBook.ToStream();
Imports IronXL
Imports System.IO
' Import any XLSX, XLS, XLSM, XLTX, CSV and TSV
Private workBook As WorkBook = WorkBook.Load("sample.xlsx")
' Export the excel file as XLS, XLSX, XLSM, CSV, TSV, JSON, XML
workBook.SaveAs("sample.xls")
workBook.SaveAs("sample.xlsx")
workBook.SaveAs("sample.tsv")
workBook.SaveAsCsv("sample.csv")
workBook.SaveAsJson("sample.json")
workBook.SaveAsXml("sample.xml")
' Export the excel file as Html, Html string
workBook.ExportToHtml("sample.html")
Dim htmlString As String = workBook.ExportToHtmlString()
' Export the excel file as Binary, Byte array, Data set, Stream
Dim binary() As Byte = workBook.ToBinary()
Dim byteArray() As Byte = workBook.ToByteArray()
Dim dataSet As System.Data.DataSet = workBook.ToDataSet() ' Allow easy integration with DataGrids, SQL and EF
Dim stream As Stream = workBook.ToStream()
<p>IronXL offers a simple and flexible way for developers to work with Excel files, allowing easy import and export across various formats. It supports file types like <code>XLS</code>, <code>XLSX</code>, <code>CSV</code>, <code>JSON</code>, <code>XML</code>, and <code>HTML</code>, making it ideal for different application needs. Developers can convert Excel data into formats suitable for web integration, APIs, or further data processing with just a few lines of code.</p> <p>For example, exporting Excel files as HTML or JSON makes it easy to embed data into web applications, while converting them to binary, byte arrays, or streams helps integrate with databases or other systems. Converting Excel content into a <code>DataSet</code> simplifies connecting to SQL databases or populating UI components like data grids. This reduces manual coding, enhances productivity, and makes IronXL a valuable tool for modern, data-driven applications.</p> <div class="examples__featured-snippet"> <h2>5 Steps to Export Excel Files in Multiple Formats</h2> <li><code>WorkBook workBook = WorkBook.Load("Sample.xlsx");</code></li> <li><code>workBook.SaveAs("exported_file.xlsx");</code></li> <li><code>workBook.SaveAsJson("exported_file.json");</code></li> <li><code>DataSet dataSet = workBook.ToDataSet();</code></li> <li><code>workBook.ExportToHtml("exported_file.html");</code></li> </div> <p>This code demonstrates the versatility of IronXL in handling and exporting Excel data across multiple formats. The process begins by loading an existing Excel file, <code>Sample.xlsx</code>, into a <code>WorkBook</code> object. This object acts as the central hub for manipulating and exporting data. Using the <code>SaveAs</code> method, the workbook is saved as an <code>.xlsx</code> file, ensuring compatibility with modern Excel applications.</p> <p>Next, the <code>SaveAsJson</code> method converts the workbook into JSON format, making it suitable for API responses or lightweight data exchanges. The <code>ToDataSet</code> method enables seamless integration with databases or UI components by converting the workbook into a <code>DataSet</code> object, which is a .NET-native structure for handling tabular data.</p> <p>Finally, the <code>ExportToHtml</code> method generates an HTML file, enabling developers to display the Excel data directly on web pages. These capabilities streamline data processing tasks, making IronXL an exceptional tool for developers working with Excel files.</p> <p><a href="/csharp/excel/how-to/convert-spreadsheet-file-types/" class="code_content__related-link__doc-cta-link">Click here to view the How-to Guide, including examples, sample code, and files</a></p>
using IronXL;
using System;
using System.Data;
// Supported for XLSX, XLS, XLSM, XLTX, CSV and TSV
WorkBook workBook = WorkBook.Load("sample.xlsx");
// Convert the whole Excel WorkBook to a DataSet
DataSet dataSet = workBook.ToDataSet();
foreach (DataTable table in dataSet.Tables)
{
Console.WriteLine(table.TableName);
// Enumerate by rows or columns first at your preference
foreach (DataRow row in table.Rows)
{
for (int i = 0 ; i < table.Columns.Count ; i++)
{
Console.Write(row[i]);
}
}
}
Imports IronXL
Imports System
Imports System.Data
' Supported for XLSX, XLS, XLSM, XLTX, CSV and TSV
Private workBook As WorkBook = WorkBook.Load("sample.xlsx")
' Convert the whole Excel WorkBook to a DataSet
Private dataSet As DataSet = workBook.ToDataSet()
For Each table As DataTable In dataSet.Tables
Console.WriteLine(table.TableName)
' Enumerate by rows or columns first at your preference
For Each row As DataRow In table.Rows
For i As Integer = 0 To table.Columns.Count - 1
Console.Write(row(i))
Next i
Next row
Next table
<p>Convert any XLSX, XLS, XLSM, XLTX, CSV and TSV file to a <code>System.Data.DataTable</code> for full interoperability with <code>System.Data.SQL</code> or to populate a <strong>DataGrid</strong>. This <code>DataTable</code> object can contain collection of tables, relationships, and constraints.</p>
using IronXL;
using System;
using System.Data;
// Supported for XLSX, XLS, XLSM, XLTX, CSV and TSV
WorkBook workBook = WorkBook.Load("sample.xlsx");
// Select default sheet
WorkSheet workSheet = workBook.DefaultWorkSheet;
// Convert the worksheet to DataTable
DataTable dataTable = workSheet.ToDataTable(true);
// Enumerate by rows or columns first at your preference
foreach (DataRow row in dataTable.Rows)
{
for (int i = 0 ; i < dataTable.Columns.Count ; i++)
{
Console.Write(row[i]);
}
}
Imports IronXL
Imports System
Imports System.Data
' Supported for XLSX, XLS, XLSM, XLTX, CSV and TSV
Private workBook As WorkBook = WorkBook.Load("sample.xlsx")
' Select default sheet
Private workSheet As WorkSheet = workBook.DefaultWorkSheet
' Convert the worksheet to DataTable
Private dataTable As DataTable = workSheet.ToDataTable(True)
' Enumerate by rows or columns first at your preference
For Each row As DataRow In dataTable.Rows
For i As Integer = 0 To dataTable.Columns.Count - 1
Console.Write(row(i))
Next i
Next row
<p>Convert XLSX, XLS, XLSM, XLTX, CSV and TSV file to a <code>System.Data.DataTable</code> for full interoperability with <code>System.Data.SQL</code> or to populate a <code>DataGrid</code>.</p> <p>Input <code>true</code> to <code>ToDataTable</code> method to set the first row as column names of the table. The <code>DataTable</code> can populate a <code>DataGrid</code>.</p> <p>You can download a file project from this <a href="https://ironsoftware.com/csharp/excel/downloads/excel-sql-datatable.zip" target="_blank" rel="nofollow noopener noreferrer">link</a>.</p> <div class="hsg-featured-snippet examples__featured-snippet"> <h2>How to Convert Excel to SQL DataTable in C#</h2> <ol> <li><a class="js-modal-open" data-modal-id="trial-license-after-download" href="https://nuget.org/packages/IronXL.Excel/" target="_blank" rel="nofollow noopener noreferrer">Install an Excel library to convert Excel to SQL DataTable.</a></li> <li>Select the default Worksheet</li> <li>Create a <code>DataTable</code> from data using <code>ToDataTable</code>.</li> <li>Process values iteratively.</li> </ol> </div>
The Iron Visual Basic .NET product development team is available to support your questions. Get in touch to make the most of our library in your project.
Raise a TicketQuick way to work with Excel Worksheets in Visual Basic VB.NET. Works in VB .NET Core and Azure with no special dependencies and no need to install MS Office or Interop.
Works with VB .NET, C#, .NET, XLSX, .NET Core
See Full Function ListIronXL allows you to read Excel data from Spreadsheets in your .NET APPs. Read & Edit XLS/XLSX/CSV/TSV - Save & Export to XLS/XLSX/CSV/TSV/JSON.
MoreMove Data between Excel, SQL and GridViews by accessing worksheets as System.Data.DataSet and System.Data.DataTable objects.
Get StartedWorks with Microsoft Excel formulas - recalculate if a worksheet it updated. Easy to use WorkSheet [“A1:B10”] syntax. Sort by Ranges, Columns and Rows.
MoreSet Font, Size, Background, Border, Alignment and Number format.
Get Started NowIronXL gives you Excel generation and editing tools. Install directly from NuGet or download the DLL.
PM > Install-Package IronXL.Excel Download VB.NET DLLFree community development licenses. Licenses from $749.
VB Excel ASP.NET
See How Jonas uses IronXL to generate Excel Files without using Office Interop...
View Jonas' Excel File Generation TutorialC# Excel XLS
Elijah shares a no-nonsense approach to reading Excel data into C# Applications...
See Elijah's Excel Reading & Editing TutorialC# Excel Data
Rebecca's code walkthrough for reading Excel data into a .NET application...
Read Becky's C# TutorialIron's team have over 10 years experience in the .NET software component market.
9 .NET API products for your office documents