Dragging a DataGridView, Button from the Visual Studio toolbox into your form designer.
Next, Create a simple UI allows you to retrieve customer data from the Northwind database, then export data from datatable to excel file in c# as shown below.
Export datatable to excel c# windows application

Right-clicking on your project, then select the Manage Nuget Packages from your Visual Studio.
EPPlus nuget
Next, Search 'EPPlus', then download and install it.

The EPPlus is an open source 3rd party helps you handle excel file in c#. In addition, EPPlus supports multiple worksheet properties such as cell range, cell styling, charts, pictures, shapes, comments, tables, protection, encryption, pivot tables, data validation, conditional formatting, formula calculation...etc.
The EPPlus is a .NET library that help you read and write Excel 2007/2010/2013 files in the Open Office Xml (xlsx) format. Using the EPPlus you can easily export large data from datatable to excel in c#.
After you add the bindingsource to the DataGridView control, you need to add the LicenseContext as shown below.
//epplus license
private void frmExportData_Load(object sender, EventArgs e)
{
// TODO: This line of code loads data into the 'appData.Customers' table. You can move, or remove it, as needed.
this.customersTableAdapter.Fill(this.appData.Customers);
ExcelPackage.LicenseContext = OfficeOpenXml.LicenseContext.NonCommercial;
}
Export datatable to excel xlsx in c#
Adding a click event handler to the Export button allows you to export data from DataTable to excel file in c#.
private void btnExportData_Click(object sender, EventArgs e)
{
using (SaveFileDialog sfd = new SaveFileDialog() { Filter = "Excel Workbook|*.xlsx" })
{
if (sfd.ShowDialog() == DialogResult.OK)
{
var fileInfo = new FileInfo(sfd.FileName);
using (ExcelPackage excelPackage = new ExcelPackage(fileInfo))
{
ExcelWorksheet worksheet = excelPackage.Workbook.Worksheets.Add("Customers");
worksheet.Cells.LoadFromDataTable(this.appData.Customers.CopyToDataTable(), true);
excelPackage.Save();
}
}
}
}
Using the SaveFileDialog class helps you open a save file dialog combination filter excel workbook allows you to enter a file name.
Using the ExcelPackage class helps you create an excel file, then use ExcelWorksheet class to create a worksheet.
Finally, Use the LoadFromDataTable method to fill data to excel sheet.
This is the fastest way to export datatable to excel in c#. If you want to export an excel file with password protect you can modify your code as shown below.
excelPackage.Save('foxlearn');//export excel file with password
Through epplus c# example, i hope so you can find the best way to export data from datatable to excel file in c# windows forms application.