![]() |
Web Development »
ASP.NET »
General
Intermediate
C# class library for exporting data to CSV/Excel fileBy Rama Krishna KolluriFree source code and tutorials for exporting data to CSV/Excel file from Web/Win Forms |
C#, VB, Windows, .NET 1.1, ASP.NET, WebForms, VS.NET2003, Dev
|
|
Advanced Search Add to IE Search |
|
|
|
||||||||||||||||

Exporting data from a datatable to Excel or CSV is one of the most common functionality required in ASP.NET pages. Users can download the data from the datagrid into an Excel spreadsheet or CSV file for offline verification and/or computation. This article includes the source code for such functionality.
The common problems in exporting data from datagrid are
To remedy all these issues I came up with the a simpler and more adaptable way to export the datagrid itself to Excel or CSV file.
I kept the concept to a dll so that it could easily be used throughout an application.
This class library is fully implemented in C#.NET. This dll doesn't need to be registered. Simply copy the assembly "RKLib.ExportData.dll" into your project folder and add it to references. You can also include the "ExportData" project and reference it in your project.
This can be used in WebForms as well as in WinForms by simply passing a parameter to the export object's constructor.
RKLib.ExportData.Export objExport = new RKLib.ExportData.Export("Web")
RKLib.ExportData.Export objExport = new RKLib.ExportData.Export("Win")
The ExportDetails method has three types of overloads. You can call whichever best suits your requirement.
The following are the overload types:
public void ExportDetails(DataTable DetailsTable,
ExportFormat FormatType, string FileName)
public void ExportDetails(DataTable DetailsTable, int[]
ColumnList, ExportFormat FormatType, string FileName)
public void ExportDetails(DataTable DetailsTable, int[]
ColumnList, string[] Headers, ExportFormat FormatType, string FileName)
DetailsTable - DataTable to be exported.
FormatType - Export File Format. Use Export.ExportFormat.CSV for the CSV file or Export.ExportFormat.Excel for the Excel file.
FileName - Export File Name.
ColumnList - DataFields of the DataTable to be
exported. Specify their ordinals in an integer array.
Headersrs - Custom Headers List for the specified
columns in the export file. Specify the names in a string array. You can call this method in the: ASPButton_Click event, LinkButton_Click event or Page_Load event or
wherever you want. All you need to do is set the values to parameters and
give a simple call to the required overload type of ExportDetails method.
The following is the code block that
demonstrates "exporting specified columns" of a DataTable as an Excel file from WebForm.
[Code Behind]
private void btnExport2_Click(object sender, System.EventArgs e)
{
// Export the details of specified columns
try
{
// Get the datatable to export
DataTable dtEmployee = ((DataSet)
Session["dsEmployee"]).Tables["Employee"].Copy();
// Specify the column list to export
int[] iColumns = {1,2,3,5,6};
// Export the details of specified columns to Excel
RKLib.ExportData.Export objExport = new
RKLib.ExportData.Export("Web");
objExport.ExportDetails(dtEmployee,
iColumns, Export.ExportFormat.Excel, "EmployeesInfo2.xls");
}
catch(Exception Ex)
{
lblError.Text = Ex.Message;
}
}
The following is the code block that
demonstrates "exporting specified columns" of a DataTable as a CSV file from WindowsForm.
private void btnExportCSV_Click(object sender, System.EventArgs e)
{
// Export the details of specified columns
try
{
lblMessage.Text = "";
// Get the datatable to export
DataTable dtEmployee = dsEmployee.Tables["Employee"].Copy();
// Specify the column list to export
int[] iColumns = {1,2,3,5,6};
// Export the details of specified columns to CSV
RKLib.ExportData.Export objExport = new
RKLib.ExportData.Export("Win");
objExport.ExportDetails(dtEmployee,
iColumns, Export.ExportFormat.CSV,
"C:\\EmployeesInfo.csv");
lblMessage.Text = "Successfully exported to
C:\\EmployeesInfo.csv";
}
catch(Exception Ex)
{
lblMessage.Text = Ex.Message;
}
}
To work with the WebForms Project in C#.NET
To work with WebForms Project in VB.NET
To work with WindowsForms Project in C#.NET
General
News
Question
Answer
Joke
Rant
Admin
|
PermaLink |
Privacy |
Terms of Use
Last Updated: 12 Apr 2007 Editor: Sean Ewington |
Copyright 2004 by Rama Krishna Kolluri Everything else Copyright © CodeProject, 1999-2009 Web15 | Advertise on the Code Project |