USING IRONXL

How to Export File to CSV in C#

Updated August 23, 2024
Share:

This article will contrast and compare various methods that .NET technologies can interface programmatically with Microsoft Excel documents using one of the most well-known libraries, IronXL. Moreover, it will create a setting for writing, reading, and exporting Excel spreadsheets to CSV files.

1.1 What is .NET Framework?

Microsoft created the proprietary .NET Framework, a software framework that is mostly compatible with Microsoft Windows. It served as the main Common Language Infrastructure (CLI) implementation until the cross-platform .NET project took its place. It offers language compatibility across several different programming languages and comes with a sizable class library called the Framework Class Library (FCL).

1.2 What is CSV?

A text file format called "comma-separated values" divides values into separate columns using commas. Tabular data is stored in plain text in a CSV format file, where each line typically corresponds to a single data record. In the CSV file, each record has the same number of fields, which are separated by commas.

2.0 IronXL Library Features

Microsoft Excel documents can be read and converted to CSV files using the IronXL for .NET C# Excel library. Without installing Microsoft Office or Microsoft.Office.Interop.Excel, users can utilize IronXL, a stand-alone .NET software library. It is capable of reading several spreadsheet formats.

IronXL's simple C# API makes it easy to read, edit, and produce Excel spreadsheets in a .NET context. IronXL provides complete support for Xamarin, Linux, macOS, Azure, .NET Core, and .NET Framework.

  • IronXL, a C# library compatible with both .NET Core and .NET Framework, is among the best for Excel spreadsheets.
  • IronXL supports almost every .NET Framework, including Web apps, Windows Forms, and Console.
  • IronXL can be used with Linux, macOS, and Windows operating systems.
  • IronXL has quick and easy access to Excel files.
  • IronXL is capable of reading a wide range of Excel file types, including XLSX, CSV, XLS, XLST, TSV, XLSM, and more. The functions for importing, updating, and exporting data tables and datasets are only a few of the library numerous options.
  • For the Excel spreadsheet, IronXL is capable of producing calculations.
  • IronXL supports numerous data types for Excel columns, including text, integers, dates, currencies, formulae, and percentages.
  • IronXL can handle multiple values in the form of dates, currencies, percentages, text, numbers, formulas, and more Excel column data types.

To know how to export data into Excel refer to this tutorial.

3.0 Creating a New Project in Visual Studio

Open Visual Studio and create a .NET project before using the IronXL library. Visual Studio can be used in any version, though the most recent version is recommended. To keep things simple, This article will be using the Console Application for this example.

How to Export File to CSV in C#, Figure 1: Open Visual Studio, go to File menu and select New Project. From the various .NET project templates choose the Console App. Open Visual Studio, go to "File" menu and select "New Project". From the various .NET project templates choose the "Console App".

Enter the project's location and name after that.

How to Export File to CSV in C#, Figure 2: Create a new project in Visual Studio Create a new project in Visual Studio

The Framework drop-down menu can be used to choose a .NET Framework. .NET Framework 4.7 is selected for this project. Next, click on the Create button.

The program.cs file will open when the application generates the solution, allowing you to enter the code and build/run the program.

How to Export File to CSV in C#, Figure 3: The Program.cs file will open once the Console Application project is successfully created. The Program.cs file will open once the Console Application project is successfully created.

To test the code, the next step is to add the IronXL library.

Install the IronXL library, since it is required for the next fix. To do this, enter the following command into the NuGet Package Manager Console:

Install-Package IronXL.Excel

How to Export File to CSV in C#, Figure 4: Install the IronXL package in the NuGet Package Manager Console Install the IronXL package in the NuGet Package Manager Console

Another option is to use the NuGet Package Manager to look for the package "IronXL", then choose the necessary package to download from this list of all the NuGet packages connected to IronXL.

How to Export File to CSV in C#, Figure 5: Install the IronXL package using the NuGet Package Manager Install the IronXL package using the NuGet Package Manager

4.0 Export to CSV file

IronXL makes it simple and quick to create string arrays to CSV files. Writing CSV files is made simpler as a result. Firstly, include the IronXL namespace, as shown in the code screenshot below. Then, use IronXL's classes and methods in the below code once it has been presented.

How to Export File to CSV in C#, Figure 6: Include the IronXL namespace Include the IronXL namespace

Excel files can be created with IronXL and then turned into workbook objects. This object offers several methods for working with them. The following example of code generates an Excel file by converting an array string into an Excel worksheet.

using IronXL;
using IronXL.Options;
using System.Data;

static void Main ( string [ ] args ) { 
    string [] students = {"AAA", "BBB", "CCC", "DDD", "EEE", "FFF" };
    var workBook = WorkBook.Create(ExcelFileFormat.XLS);
    var writer = workBook.DefaultWorkSheet;
    int rowCount = 1;
    foreach(var student in students)
    {
        writer ["A" + (rowCount)].Value = rowCount.ToString();
        writer ["B" + (rowCount)].Value = student.ToString();
        rowCount++;
    }
    workBook.SaveAsCsv("Sample.csv", ";");
    // or
    var stream = workBook.ToStream();
}
using IronXL;
using IronXL.Options;
using System.Data;

static void Main ( string [ ] args ) { 
    string [] students = {"AAA", "BBB", "CCC", "DDD", "EEE", "FFF" };
    var workBook = WorkBook.Create(ExcelFileFormat.XLS);
    var writer = workBook.DefaultWorkSheet;
    int rowCount = 1;
    foreach(var student in students)
    {
        writer ["A" + (rowCount)].Value = rowCount.ToString();
        writer ["B" + (rowCount)].Value = student.ToString();
        rowCount++;
    }
    workBook.SaveAsCsv("Sample.csv", ";");
    // or
    var stream = workBook.ToStream();
}
Imports IronXL
Imports IronXL.Options
Imports System.Data

Shared Sub Main(ByVal args() As String)
	Dim students() As String = {"AAA", "BBB", "CCC", "DDD", "EEE", "FFF" }
	Dim workBook = WorkBook.Create(ExcelFileFormat.XLS)
	Dim writer = workBook.DefaultWorkSheet
	Dim rowCount As Integer = 1
	For Each student In students
		writer ("A" & (rowCount)).Value = rowCount.ToString()
		writer ("B" & (rowCount)).Value = student.ToString()
		rowCount += 1
	Next student
	workBook.SaveAsCsv("Sample.csv", ";")
	' or
	Dim stream = workBook.ToStream()
End Sub
VB   C#

The aforementioned code-CSV example will export an array to an Excel file. Column heads are created once an array has been constructed. The rows are added one at a time when the first column is established. The WorkBook object is created once the data has been added to the array string. You can add data to an Excel sheet using the WorkBook object, and then save it somewhere else. The goal is to create worksheets by creating the WorkSheet object, which can be linked to the workbook object.

Before adding each item to the spreadsheet, a foreach loop is used to read each item from the array string. The data is saved as a CSV file using the SaveAsCsv method when all the data has been entered into the worksheet. Along with the delimiter, the file name and location can also be provided as optional parameters. The library then assists in writing data to a new CSV file. If you want to read CSV files instead of using Microsoft Excel, you can use Notepad. IronXL also supports to store data in multiple file formats, such as XLS, CSV, and XLSX, by using the Save method. Or the workbook can be turned into a stream and then write data into the required location.

OUTPUT CSV File

How to Export File to CSV in C#, Figure 7: The output Excel file The output Excel file

The output of the code sample that was run is seen above. The newly produced Excel sheet in the screenshot has each item of data from the string array added independently.

To know more about how to export data into CSV using IronXL, please refer to this step-by-step tutorial.

5.0 Conclusion

One of the most popular Excel add-ons is IronXL. It doesn't rely on any other outside libraries. It is self-contained and does not require the installation of Microsoft Excel. It operates via several channels.

IronXL provides a complete solution for all programmatically executed Microsoft Excel document-related tasks. It is possible to perform calculations, sort strings or numbers, trim, add, locate and replace, merge and unmerge, save files, and more. You can define cell data types in addition to checking spreadsheet data. It lets you read and write files and makes dealing with Excel data easier.

IronXL offers a free trial license which gives users a chance to try all its key features for free.

IronXL is available for $749 at launch. If users would like updates and help with the software, they can also choose to pay a one-year subscription charge. For an additional fee, IronXL offers protection for unlimited redistribution. To find more accurate pricing information, please visit IronXL's license page.

< PREVIOUS
How to Export to Excel With Formatting in C#
NEXT >
How to Edit a Spreadsheet in C#

Ready to get started? Version: 2024.12 just released

Free NuGet Download Total downloads: 1,132,445 View Licenses >