Published February 13, 2023
C# CSV Parser (Step-By-Step) Tutorial
Have you ever been stuck trying to parse CSV files and convert them to XLSX or XLSX files to CSV files for some important task in .NET, but couldn't figure out how to do so without writing tons of code?
There are many CSV libraries that exist to solve this issue. However, in this blog, we'll discuss how to perform these tasks with just two lines of code using the IronXL C# Excel Library.
To get started, all you need is Visual Studio. We'll discuss this installation process in detail below.
1. Creating a New Project in Visual Studio
Open the Visual Studio editor.
Go to the File menu in Visual Studio. Choose "New Project", then select Console Application.
Type the project name and choose the project location. Then, click the Create button to create the project. Select the required .NET Framework, as shown in the screenshot below:

Create a New C#.NET Console Application
The program.cs file will open so you can enter the logic and create/run the application.
2. Install the IronXL C# Library
The IronXL library can be downloaded and installed in many different ways. Today, we will focus on two of these:
- Using the Visual Studio NuGet Package Manager
- Using the Visual Studio Command-Line
2.1. Using the Visual Studio NuGet Package Manager
The NuGet Package Manager UI is available in Visual Studio to install the package directly into the project. The below screenshot shows how to open it.

Installing IronXL using Visual Studio NuGet Package Manager GUI
The Package Manager UI provides a Browse feature that displays a list of the package libraries that are offered on the NuGet website. Enter the "IronXL" keyword, as in the below screenshot, to find the IronXL package.

Locate the IronXL library in NuGet Package Manager by searching for it in the Browse section
Select the IronXL.Excel
package and click the Install button to add it to the project.
2.2. Using the Visual Studio Command-Line
In the Visual Studio menu, go to Tools, select NuGet Package Manager, and click on Package Manager Console.

Access the NuGet Package Manager Console within Visual Studio from the Tools menu.
The Package Manager Console will appear at the bottom of the screen. Just type the following command then press enter, and IronXL will be installed.
PM> Install-Package IronXL.Excel

Type Install-Package IronXL.Excel
in the Package Manager Console to install the IronXL Library through the commandline
3. Parsing CSV Files
Parsing CSVs manually requires writing a lot of precise code to get the job done, but with IronXL, it requires just a few lines of code.
By using only conventional C# code to parse CSV formatted files, you will have to use a lot of bulky code. Here is an example of code to achieve this.
using FileHelpers;
using System;
namespace parse_csv
{
[DelimitedRecord(",")]
public class Record
{
public string Name;
public string Age;
}
class Program
{
static void Main(string[] args)
{
var fileHelperEngine = new FileHelperEngine<Record>();
var records = fileHelperEngine.ReadFile(@"C:\File\records.csv");
foreach (var record in records)
{
Console.WriteLine(record.Name);
Console.WriteLine(record.Age);
}
}
}
}
using FileHelpers;
using System;
namespace parse_csv
{
[DelimitedRecord(",")]
public class Record
{
public string Name;
public string Age;
}
class Program
{
static void Main(string[] args)
{
var fileHelperEngine = new FileHelperEngine<Record>();
var records = fileHelperEngine.ReadFile(@"C:\File\records.csv");
foreach (var record in records)
{
Console.WriteLine(record.Name);
Console.WriteLine(record.Age);
}
}
}
}
Imports FileHelpers
Imports System
Namespace parse_csv
<DelimitedRecord(",")>
Public Class Record
Public Name As String
Public Age As String
End Class
Friend Class Program
Shared Sub Main(ByVal args() As String)
Dim fileHelperEngine As New FileHelperEngine(Of Record)()
Dim records = fileHelperEngine.ReadFile("C:\File\records.csv")
For Each record In records
Console.WriteLine(record.Name)
Console.WriteLine(record.Age)
Next record
End Sub
End Class
End Namespace
But using IronXL this can be achieved in just a few lines of code.
Using IronXL you can parse CSV files from XLSX, XLS, TSV, and more. In this tutorial, we'll explore the following conversions:
- Parse CSV file from XLSX file
- Parse CSV file From XLS file
- Parse CSV file From TSV file
3.1. Parse a CSV File from an XLSX File
Open Microsoft Excel and create a new XLSX file. Populate its rows and columns with some mock data. The below image shows the file we will use for all conversions in this tutorial.

Sample Excel Data
Once you have your file ready, write the following example code and execute the program.
using IronXL;
WorkBook wb = WorkBook.Load("test.xlsx");
wb.SaveAsCsv("Parsed CSV.csv");
using IronXL;
WorkBook wb = WorkBook.Load("test.xlsx");
wb.SaveAsCsv("Parsed CSV.csv");
Imports IronXL
Private wb As WorkBook = WorkBook.Load("test.xlsx")
wb.SaveAsCsv("Parsed CSV.csv")
After the execution is completed a new file name Parsed CSV.csv will be created. Reading CSV files can be done in any editor or reader you like. The below image shows the output of the above command - our generated CSV data. In the output file, double quotation marks represent bold values.

The result of invoking WorkBook.SaveAsCsv
method on the sample Excel Workbook.
3.2. Parse CSV File from XLS File
In this example, we will see how to convert XLS files into CSV format.
First, let's create an example XLS file that we can convert to CSV format.

A sample XLS file
Next, we will execute the block of code below to convert the sample XLS file into a CSV file.
using IronXL;
WorkBook wb = WorkBook.Load("XLS.xls");
wb.SaveAsCsv("Example2.csv");
using IronXL;
WorkBook wb = WorkBook.Load("XLS.xls");
wb.SaveAsCsv("Example2.csv");
Imports IronXL
Private wb As WorkBook = WorkBook.Load("XLS.xls")
wb.SaveAsCsv("Example2.csv")
After the execution of the above code is finished, you will have a newly generated CSV file.

An CSV file created from running IronXL's SaveAsCsv
method on the sample XLS file created previously.
3.3. Parse CSV file From TSV file
Spreadsheet applications frequently employ TSV files, or Tab-Separated Values files, to transfer data across databases. It saves a data table with tabs separating the data columns and each record being on a different line.
IronXL offers a CSV parser to parse CSV files from TSV format for better data management.
Let's get started with the example.

A sample TSV spreadsheet.
using IronXL;
WorkBook wb = WorkBook.Load("TSV.tsv");
wb.SaveAsCsv("Example3.csv");
using IronXL;
WorkBook wb = WorkBook.Load("TSV.tsv");
wb.SaveAsCsv("Example3.csv");
Imports IronXL
Private wb As WorkBook = WorkBook.Load("TSV.tsv")
wb.SaveAsCsv("Example3.csv")
Below is the output in CSV format.

An CSV file created from running IronXL's SaveAsCsv
method on the sample TSV file created previously.
4. Conclusion
In this tutorial, we learned how to use IronXL to parse varying file formats to CSV in C#.
Check out IronXL's features, Code Examples and documentation content for more information about how IronXL works. Download IronXL and try out free for 30 Days with a trial license key. Visit the Licensing Page for more information about licensing terms and conditions.
Purchase the complete Iron Suite to retrieve licenses for all five Iron Software libraries for the price of two IronXL library licenses!
Thanks for reading!