Copied RSS Feed

Excel

Seamlessly Import and Export CSV Data in Excel Using C#

A comma-separated value (CSV) document is one of the most used formats for storing extensive data in a specific structure. It uses a comma (,) as the delimiter to separate each field in a row, and every row indicates a new record. Because CSV documents are text documents, many devices can read them without the need for extra software because they already have built-in applications that open and read text documents. Other document formats may require additional applications to open them.

Enjoy a smooth experience with Syncfusion’s Excel Library! Get started with a few lines of code and without Microsoft or interop dependencies.

CSV is sometimes called a character separator value document because the delimiter can be any character. However, the comma is most commonly used.

This article will show you how to import and export CSV data in your Excel files using the Syncfusion .NET Excel (XlsIO) library in C#.

Note: If you are new to our Excel Library, following the getting started guide is highly recommended. 

Import CSV data to Excel

As mentioned previously, CSV documents can be opened easily on any device, but they don’t provide data management features. In such cases, you can import the CSV data into Excel files, which support opening CSV files with other options like sorting, filtering, and exporting to other formats.

Syncfusion Excel Library also supports opening CSV and all types of delimited documents.

Refer to the following code example to import a CSV document and apply filters to the data using the Excel Library.

using Syncfusion.XlsIO;
using System;
using System.IO;

namespace CsvToExcel
{
    internal class Program
    {
        static void Main(string[] args)
        {
           using(ExcelEngine excelEngine = new ExcelEngine())
            {
                IApplication application = excelEngine.Excel;
                
                FileStream inputStream = new FileStream(@"../../../Data/PurchasedItems.csv", FileMode.Open,FileAccess.ReadWrite);

                //Opening CSV document with comma separator
                IWorkbook workbook = application.Workbooks.Open(inputStream, ",");

                IWorksheet worksheet = workbook.Worksheets[0];

                //Applying filters to the data
                IAutoFilters filters = worksheet.AutoFilters;
                filters.FilterRange = worksheet[1, 1, worksheet.UsedRange.LastRow, worksheet.UsedRange.LastColumn];

                IAutoFilter filter = filters[1];

                filter.AddTextFilter("Wednesday");

                //Saving the CSV data as Excel
                FileStream outputStream = new FileStream(@"PurchasedItems.xlsx", FileMode.Create, FileAccess.ReadWrite);

                workbook.SaveAs(outputStream);
            }
        }
    }
}

The following image shows the input CSV document.

Input CSV Document

Refer to the following image. It shows the output Excel document after applying filters to the imported CSV data using the Syncfusion Excel Library.

Applying Filters to the Imported CSV Data in an Excel Document

Syncfusion’s C# Excel Library is meticulously documented with a multitude of code examples. Working with Excel files has never been simpler than this.

Export Excel to CSV

Similarly, you can export the previous Excel document again as a CSV document and share it with users using the Excel Library.

Refer to the following code example.

using Syncfusion.XlsIO;
using System;
using System.IO;

namespace ExcelToCSV
{
    internal class Program
    {
        static void Main(string[] args)
        {
            using (ExcelEngine excelEngine = new ExcelEngine())
            {
                IApplication application = excelEngine.Excel;

                FileStream inputStream = new FileStream(@"../../../Data/PurchasedItems.xlsx", FileMode.Open, FileAccess.ReadWrite);

                //Opening CSV document with comma separator
                IWorkbook workbook = application.Workbooks.Open(inputStream);

                //Saving the Excel data as CSV
                FileStream outputStream = new FileStream(@"PurchasedItems.csv", FileMode.Create, FileAccess.ReadWrite);


                workbook.SaveAs(outputStream,",");
            }
        }
    }
}

Refer to the following images.

Input Excel Document
Exporting Excel Data to CSV Document

Immerse yourself in practical examples spotlighting the extraordinary features of Syncfusion’s C# Excel Library!

Export CSV data with custom separator

In CSV documents, the commonly used separator is a comma (,), but this character can also be customized based on the user’s requirements.

Syncfusion Excel Library supports modifying the separator while saving a CSV document. However, the user must be aware of the separator character used in the CSV document before processing the document. Otherwise, the data cannot be read properly.

Refer to the following code example to export CSV data with a custom separator, a semicolon (;) in this case, using the Excel Library.

using Syncfusion.XlsIO;
using System;
using System.IO;

namespace CustomCsvSeparator
{
    internal class Program
    {
        static void Main(string[] args)
        {
            using (ExcelEngine excelEngine = new ExcelEngine())
            {
                IApplication application = excelEngine.Excel;

                FileStream inputStream = new FileStream(@"../../../Data/PurchasedItems.csv", FileMode.Open, FileAccess.ReadWrite);

                //Opening CSV document with comma separator
                IWorkbook workbook = application.Workbooks.Open(inputStream, ",");

                
                //Saving the CSV data with separator as ";"
                FileStream outputStream = new FileStream(@"PurchasedItems.csv", FileMode.Create, FileAccess.ReadWrite);

                workbook.SaveAs(outputStream, ";");
            }
        }
    }
}

Refer to the following images.

Input CSV Document with Comma Separator
Output CSV Document with Semicolon Separator

GitHub reference

Check out our importing and exporting CSV data in Excel using C# demo on GitHub.

From simple data tables to complex financial models, Syncfusion empowers you to unleash your creativity and design stunning Excel spreadsheets.

Wrapping up

Thanks for reading! In this blog, we’ve seen how to import and export CSV data in C# using the Syncfusion Excel Library. Take a moment to peruse the documentation where you’ll find information on importing other data formats like DataTablecollection objects, DataView, DataColumn, and HTML, all with accompanying code samples.

Using the Excel Library, you can export Excel data to PDFimageDataTableCSVTSVHTMLcollection objectsODSJSON, and other file formats.

Are you already a Syncfusion user? You can download the product setup here. If you’re not a Syncfusion user, you can download a free 30-day trial.

Please let us know in the comments section below if you have any questions about these features. You can also contact us through our support forum, support portal, or feedback portal. We are always happy to assist you!

Related blogs

Meet the Author

Mohan Chandran

Mohan Chandran is an employee at Syncfusion Software with 4+ years of experience working in an Excel-related library called XlsIO. He is good at finding solutions and resolving queries related to Excel.