While working in software industry almost every developer
at some place must have worked with export application data to any document.
In a series of export articles I’ll provide the example of
exporting the data to excel, text HTML and pdf file. And in the end of all
articles I’ll also provide the source code of exporting to all above formats.
In this article I’ll explain how you can export the data
in excel sheet.
First of all I have created one proxy class, I’ll use this
class to store the data and then export that data to excel file. (Note: I am
using this class and method for sample only, if you have your own list or data
table you can skip first two steps.)
So first of all I have declared on proxy class as:
//Proxy class.
public sealed
class DataProxy
{
public String FirstName { get;
set; }
public String LastName { get;
set; }
public String Email { get;
set; }
public String City { get;
set; }
}
|
Now let’s create one method which will put some data in this
class, later on we’ll export that data.
/// <summary>
/// Get Record List.
/// </summary>
/// <returns></returns>
private static
IEnumerable<DataProxy>
GetData()
{
return new List<DataProxy>
{
new
DataProxy
{
FirstName = "Sandeep",
LastName = "Kumar",
Email = "test1@email.com",
City = "Gurgaon"
},
new
DataProxy
{
FirstName = "FName1",
LastName = "Lname1",
Email = "test2@email.com",
City = "New Delhi"
},
new
DataProxy
{
FirstName = "FName4",
LastName = "Lname2",
Email = "test3@email.com",
City = "Mumbai"
},
new
DataProxy
{
FirstName = "FName3",
LastName = "Lname3",
Email = "test4@email.com",
City = "Mumbai"
},
new
DataProxy
{
FirstName = "FName4",
LastName = "Lnam4",
Email = "test5@email.com",
City = "Gurgaon"
}
};
}
|
So whenever I’ll call GetData method it’ll return a
list of “DataProxy” containing 5 elements.
So data is ready now let’s export this data to export file, first of all take one button as:
<asp:Button runat="server" ID="btnExportReport" Text="Export"
OnClick="BtnExportReportClick"
/>
|
In the code write the click event of button as:
protected void
BtnExportReportClick(object sender, EventArgs e)
{
ExportExcelFile();
}
|
So on button click I have called one method ExportExcelFile, and
here is that function which will export the data to excel file:
/// <summary>
/// Export to excel and
download file.
/// </summary>
private void
ExportExcelFile()
{
//Get data you want to export
//here you can use your own list or data table.
var
records = GetData();
var sb = new StringBuilder();
sb.AppendLine("First
Name\tLast Name\tEmail Address\tCity");
foreach (var record in
records)
{
sb.AppendFormat("{0}\t{1}\t{2}\t{3}"
, record.FirstName
, record.LastName
, record.Email
, record.City);
sb.AppendLine();
}
//Get current response
var response = HttpContext.Current.Response;response.BufferOutput = true;
response.Clear();
response.ClearHeaders();
response.ContentEncoding = Encoding.Unicode;
//provide file name.
response.AddHeader("content-disposition", "attachment; filename=Test_Data.xls");
response.ContentType = "application/vnd.ms-excel";
response.Write(sb.ToString());
response.End();
}
|
And we can check output of our work as:
So that’s it for now, In my next article of export series I’ll write
for text, HTML and pdf file exporting one by one.
Tada
ReplyDeleteThis is an excellent component for verifying email addresses:
http://www.kellermansoftware.com/p-37-net-email-validation.aspx
хуй
ReplyDelete