C# Export to Excel: Step by Step Tutorial

Chaknith Bin
Chaknith Bin
June 17, 2020
Updated February 9, 2025
Share:

It is necessary to work with different formats of Excel spreadsheets and use C Sharp Export to Excel functionalities. Projects may need to use spreadsheet data in specific formats, including .xml, .csv, .xls, .xlsx , and .json. In this tutorial, we will learn how to export Excel spreadsheet data into different formats using C#. It can be simple, even without dependency on the legacy Microsoft.Office.Interop.Excel library.


Step 1

1. Get the IronXL Library

For an easy way to work with Excel files in .NET Core, try IronXL. Download IronXL DLL or install with NuGet for free use in development projects.

Install-Package IronXL.Excel

Download and add its reference in your project. IronXL classes can be accessed using IronXL namespace.


How to Tutorial

2. Export to Excel in C#

IronXL provides the most accessible way to export the data to Excel with ( .xls, .xlsx and .csv) files in .NET applications. It is also possible to export the data to .json and .xml files. Let's see one by one how easy it can be to export Excel file data into these formats.


3. C# Export to .XLSX File

It is very easy to export an Excel file with an .xlsx extension. Let's see the example. In the code below, our XlsFile.xls file exists in bin>Debug folder of the project.

Remember: Don't forget to write extension with file name while importing or exporting.

By default, new Excel files will be created in the bin>Debug folder of the project. If we want to create a new file in a custom path then we can use wb.SaveAs(@"E:\IronXL\NewXlsxFile.xlsx");. Read the tutorial here to learn more about how to export Excel files in .NET.

:path=/static-assets/excel/content-code-examples/how-to/c-sharp-export-to-excel-xlsx.cs
using IronXL;

// Import .xls, .csv, or .tsv file
WorkBook workbook = WorkBook.Load("XlsFile.xls");

// Export as .xlsx file
workbook.SaveAs("newFile.xlsx");
Imports IronXL

' Import .xls, .csv, or .tsv file
Private workbook As WorkBook = WorkBook.Load("XlsFile.xls")

' Export as .xlsx file
workbook.SaveAs("newFile.xlsx")
$vbLabelText   $csharpLabel

4. C# Export to .XLS File

It is also possible to export a file with the .xls extension using IronXL. For this purpose, lets see the example below.

:path=/static-assets/excel/content-code-examples/how-to/c-sharp-export-to-excel-xls.cs
using IronXL;

// Import .xlsx, .csv or .tsv file
WorkBook workbook = WorkBook.Load("XlsxFile.xlsx");

// Export as .xls file
workbook.SaveAs("newFile.xls");
Imports IronXL

' Import .xlsx, .csv or .tsv file
Private workbook As WorkBook = WorkBook.Load("XlsxFile.xlsx")

' Export as .xls file
workbook.SaveAs("newFile.xls")
$vbLabelText   $csharpLabel

5. C# Export to .CSV File

We can easily export our .xlsx or .xls file into .csv using IronXL. Let's see one case that shows how to export Excel file to CSV (.csv) file.

:path=/static-assets/excel/content-code-examples/how-to/c-sharp-export-to-excel-csv.cs
using IronXL;

//  Import .xlsx or xls file
WorkBook workbook = WorkBook.Load("sample.xlsx");

// Export as .xls file
workbook.SaveAsCsv("newFile.csv");
Imports IronXL

'  Import .xlsx or xls file
Private workbook As WorkBook = WorkBook.Load("sample.xlsx")

' Export as .xls file
workbook.SaveAsCsv("newFile.csv")
$vbLabelText   $csharpLabel

The above code will create the following three CSV files:

Doc2 2 related to 5. C# Export to .CSV File

It is very simple to understand why it created three .csv files. It is because sample.xlsx contains three Worksheets. Therefore, it will create three .csv files, and each Worksheet's Excel file data would export to the corresponding .csv file.

We can see the number of sheets in sample.xlsx here:

Doc2 1 related to 5. C# Export to .CSV File

However, if there is one worksheet in the Excel file, then just one .csv file would be created.


6. C# Export to .XML File

We can export our Excel file data into .XML file format. The below code will export sample.xlsx file data into a .xml file. It will create three XML files because sample.xlsx has three worksheets, same as in the earlier example.

:path=/static-assets/excel/content-code-examples/how-to/c-sharp-export-to-excel-xml.cs
using IronXL;

// Import .xlsx, .xls or .csv file
WorkBook workbook = WorkBook.Load("sample.xlsx");

// Export as .xml file
workbook.SaveAsXml("newFile.xml");
Imports IronXL

' Import .xlsx, .xls or .csv file
Private workbook As WorkBook = WorkBook.Load("sample.xlsx")

' Export as .xml file
workbook.SaveAsXml("newFile.xml")
$vbLabelText   $csharpLabel

7. C# Export to .JSON File

Using IronXL makes it very easy to export Excel file data into JSON file format, as in the below code example. The code will export sample.xlsx file data into a .json file. It will again create three .json files due to the three Worksheets of sample.xlsx.

:path=/static-assets/excel/content-code-examples/how-to/c-sharp-export-to-excel-json.cs
using IronXL;

// Import Excel file
WorkBook workbook = WorkBook.Load("sample.xlsx");

// Export as JSON file
workbook.SaveAsJson("newFile.json");
Imports IronXL

' Import Excel file
Private workbook As WorkBook = WorkBook.Load("sample.xlsx")

' Export as JSON file
workbook.SaveAsJson("newFile.json")
$vbLabelText   $csharpLabel

Tutorial Quick Access

Documentation related to Tutorial Quick Access

API Reference

Read the IronXL Documentation including all namespaces, feature sets, methods fields, classes, and enums.

Read API Reference
Chaknith Bin
Software Engineer
Chaknith works on IronXL and IronBarcode. He has deep expertise in C# and .NET, helping improve the software and support customers. His insights from user interactions contribute to better products, documentation, and overall experience.