How to Create CSV File in C# (Step-By-Step) Tutorial
Body Content: Looking for how to create/write a new CSV file data format using a C# .NET library in a Console Application? If yes, then you are in the right place.
This is a simple tutorial written for creating multi-row CSV files (with headings) from strings using the IronXL C# .NET library. IronXL is the market-leading .NET library for handling documents like Excel, CSV, and XLS without any additional user configuration.
How can I create and write CSV files using C#?
The simplest method for generating and editing CSV files using C#, is following these simple steps:
- Create a C# Console Application in Visual Studio.
- Install IronXL .NET library.
- Create a CSV file from another source within two lines of code.
1. Starting a New Project in Visual Studio
Open the Visual Studio IDE.
Go to the File menu, and select Console Application after choosing "New Project".
Enter the Project Name and the preferred project location in the appropriate text box.
Configure New Project
Click the Next button, select the required .NET Framework, as shown in the screenshot below, and click on Create.
Target Framework Selection
The program.cs file will open.
Program.cs
2. Install the IronXL C# Library
The IronXL library can be downloaded and installed in two different ways:
- 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 option is available in the Visual Studio software to install the package directly into the solution. The below screenshot shows how to open it.
NuGet Package Manager
The NuGet Package Manager feature provides an area where users can browse and search for packages that are offered on the NuGet website. Enter "IronXL" in the search field to find the IronXL library.
NuGet Package Manager
From the linked packages from the search in the image up above, select the IronXL option and install the package to the solution.
2.2. Using the Visual Studio Command-Line
In the Visual Studio menu go to Tools, move the cursor to NuGet Package Manager and click on Package Manager Console.
Visual Studio Commandline
Package Manager Console will appear at the bottom of the screen. Just write the following code command and press enter, IronXL will install an instance.
Install-Package IronXL.Excel
3. Creating CSV Files
In this blog, there are two different methods for creating a CSV file using IronXL.
- Create CSV from an XLSX file
- Create a CSV file by creating a new
WorkBook
and writing data
3.1. Create CSV from an XLSX file
For creating a CSV file, the Excel file should contain some example data.
Sample Excel File
Enter the code given below in the opened program.cs file and run the project.
using IronXL;
class Program
{
static void Main()
{
// Load an existing Excel file
WorkBook wb = WorkBook.Load("test.xlsx");
// Save the loaded workbook as a CSV file
wb.SaveAsCsv("Parsed CSV.csv");
}
}
using IronXL;
class Program
{
static void Main()
{
// Load an existing Excel file
WorkBook wb = WorkBook.Load("test.xlsx");
// Save the loaded workbook as a CSV file
wb.SaveAsCsv("Parsed CSV.csv");
}
}
Imports IronXL
Friend Class Program
Shared Sub Main()
' Load an existing Excel file
Dim wb As WorkBook = WorkBook.Load("test.xlsx")
' Save the loaded workbook as a CSV file
wb.SaveAsCsv("Parsed CSV.csv")
End Sub
End Class
After execution is completed, a new file named Parsed CSV.csv file will be created. Open the file using your preferred Spreadsheet application.
CSV Data
3.2. Create new CSV Workbook Programmatically
This example code shows how to create a CSV file from scratch using IronXL.
using IronXL;
class Program
{
static void Main()
{
// Create a new workbook in XLSX format
WorkBook xlsWorkbook = WorkBook.Create(ExcelFileFormat.XLSX);
// Set metadata for the workbook
xlsWorkbook.Metadata.Author = "IronXL";
// Create a new worksheet in the workbook
WorkSheet xlsSheet = xlsWorkbook.CreateWorkSheet("new_sheet");
// Add data to cells in the worksheet
xlsSheet["A1"].Value = "Hello";
xlsSheet["B1"].Value = "World";
xlsSheet["A2"].Value = "New CSV example output";
xlsSheet["B2"].Value = "From Scratch";
// Save the workbook as a CSV file
xlsWorkbook.SaveAsCsv("NewCSVFile.csv");
}
}
using IronXL;
class Program
{
static void Main()
{
// Create a new workbook in XLSX format
WorkBook xlsWorkbook = WorkBook.Create(ExcelFileFormat.XLSX);
// Set metadata for the workbook
xlsWorkbook.Metadata.Author = "IronXL";
// Create a new worksheet in the workbook
WorkSheet xlsSheet = xlsWorkbook.CreateWorkSheet("new_sheet");
// Add data to cells in the worksheet
xlsSheet["A1"].Value = "Hello";
xlsSheet["B1"].Value = "World";
xlsSheet["A2"].Value = "New CSV example output";
xlsSheet["B2"].Value = "From Scratch";
// Save the workbook as a CSV file
xlsWorkbook.SaveAsCsv("NewCSVFile.csv");
}
}
Imports IronXL
Friend Class Program
Shared Sub Main()
' Create a new workbook in XLSX format
Dim xlsWorkbook As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX)
' Set metadata for the workbook
xlsWorkbook.Metadata.Author = "IronXL"
' Create a new worksheet in the workbook
Dim xlsSheet As WorkSheet = xlsWorkbook.CreateWorkSheet("new_sheet")
' Add data to cells in the worksheet
xlsSheet("A1").Value = "Hello"
xlsSheet("B1").Value = "World"
xlsSheet("A2").Value = "New CSV example output"
xlsSheet("B2").Value = "From Scratch"
' Save the workbook as a CSV file
xlsWorkbook.SaveAsCsv("NewCSVFile.csv")
End Sub
End Class
The sample code above first creates a new Workbook
and then populates the rows and columns of the WorkBook
with data. Afterward, it saves the file using the SaveAsCsv
method.
CSV File Output
4. Conclusion
This article demonstrated how to create a new CSV file using the C# .NET library IronXL using two different methods.
Additionally, the IronXL Excel library provides the following features:
- Support for Excel's most popular file formats (.xlsx) and other file formats.
- A broad set of functions, including data manipulation, data export, data import, and importing from other sources.
- Support chart management that is fully compatible with Excel.
- Support for cell formatting such as text alignment, font size, color, etc.
For more information about IronXL, browse the Code Examples pages. Download IronXL and try it out for 30-days for free before buying a license.
Buy the complete Iron Suite to get IronXL and four other products for the same price as two IronXL licenses.
Frequently Asked Questions
What is this .NET library used for handling documents like Excel, CSV, and XLS files?
IronXL is a .NET library designed to handle documents like Excel, CSV, and XLS files without additional user configuration.
How can I create a CSV file using C#?
You can create a CSV file using C# by creating a Console Application in Visual Studio, installing the IronXL library, and using its methods to write data to a CSV format.
What are the steps to start a new project in Visual Studio for creating CSV files?
To start a new project, open Visual Studio, go to the File menu, select Console Application under 'New Project', enter the project name and location, select the required .NET Framework, and click Create.
How do I install this library in Visual Studio for CSV file creation?
You can install the IronXL library using the Visual Studio NuGet Package Manager or via the Visual Studio Command-Line by executing the command 'Install-Package IronXL.Excel'.
What are the methods for creating a CSV file with this .NET library?
You can create a CSV file by converting an existing XLSX file or by programmatically creating a new WorkBook and writing data to it using IronXL.
Can I convert an Excel file to CSV using this library?
Yes, you can load an existing Excel file using IronXL and save it as a CSV file using the SaveAsCsv method.
What additional features does this .NET library offer?
IronXL supports popular Excel file formats, data manipulation, data export/import, chart management, and cell formatting options such as text alignment, font size, and color.
Is there a free trial available for this library?
Yes, IronXL offers a 30-day free trial, which can be downloaded from the NuGet package manager.
Where can I find more code examples for using this library?
You can find more code examples for IronXL on the IronXL website under the Code Examples section.