Click here to Skip to main content
15,886,026 members
Articles / Web Development / IIS
Article

Excel reporting in ASP.NET using C# and DataGrid

Rate me:
Please Sign up or sign in to vote.
1.21/5 (20 votes)
31 Mar 2005 122.9K   50   11
This article demonstrates Excel report generation in ASP.NET using C# and DataGrid.

Sample Image - Excel_Report_ASPNET_C_.jpg

Introduction

Excel is a very powerful tool for data analysis and reporting. People who work in the financial industry know that one way or the other Excel spreadsheets are used heavily. The focus of this article is on exposing a few techniques and concepts when dealing with ASP.NET and MS Excel.

Report Generation:

The following sample code explains about Excel report generation from a DataGrid, and also how to add HTML code in that report:

C#
private void btnExcelReport_Click(object sender, System.EventArgs e)
{
  DataSet dsExport = GetData();
  System.IO.StringWriter tw = new System.IO.StringWriter();
  System.Web.UI.HtmlTextWriter hw = 
     new System.Web.UI.HtmlTextWriter(tw);
  DataGrid dgGrid = new DataGrid();
  dgGrid.DataSource = dsExport;

  //Report Header
  hw.WriteLine("<b><u><font size='5'>" + 
     "Report for the Fiscal year: " + txtFY.Text + 
     "</font></u></b>");
  hw.WriteLine("<br>&mp;nbsp;");
  // Get the HTML for the control.
  dgGrid.HeaderStyle.Font.Bold = true; 
  dgGrid.DataBind();
  dgGrid.RenderControl(hw);

  // Write the HTML back to the browser.
  Response.ContentType = "application/vnd.ms-excel";
  this.EnableViewState = false;
  Response.Write(tw.ToString());
  Response.End();
}

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here


Written By
Web Developer
United States United States
Amalorpavanathan Yagulasamy (AMAL) is a Software Engineer for Protech Solution Inc. and has designed and implemented projects for Arkansas Child Support, Arkansas Budgetting, Michigan Child Support , Massachusetts Child Support, National Informatics Center-India and Indian Oil Corporation. His background is in developing relational databases and n-tier applications on Windows platforms in CMM Level Standards. He can be reached at amal_forum@hotmail.com

Comments and Discussions

 
GeneralMy vote of 1 Pin
Clifford Nelson14-May-12 11:36
Clifford Nelson14-May-12 11:36 
GeneralProblems with some characters Pin
angel_java9-Feb-11 20:14
angel_java9-Feb-11 20:14 
QuestionHow to export excel with multiple sheets respectively with the data tables in a dataset Pin
siva gangadhar6-Apr-10 3:15
siva gangadhar6-Apr-10 3:15 
AnswerRe: How to export excel with multiple sheets respectively with the data tables in a dataset Pin
CikaPero19-Apr-11 22:34
CikaPero19-Apr-11 22:34 
GeneralTEMPLATES Pin
Peter Sanders26-Feb-07 4:38
Peter Sanders26-Feb-07 4:38 
GeneralReading CSV file and load in to ASP.NET Data Set Pin
Sivakumar_Ramadoss1-Sep-06 23:49
Sivakumar_Ramadoss1-Sep-06 23:49 
GeneralRe: Reading CSV file and load in to ASP.NET Data Set Pin
Amalorpavanathan Yagulasamy(AMAL)6-Sep-06 5:46
Amalorpavanathan Yagulasamy(AMAL)6-Sep-06 5:46 
try this,

private void LoadBooks ()
{
string delimiter = ",";
string tableName = "BooksTable";
string fileName = Server.MapPath("books.csv");

DataSet dataset = new DataSet();
StreamReader sr = new StreamReader(fileName);

dataset.Tables.Add(tableName);
dataset.Tables[tableName].Columns.Add("product");
dataset.Tables[tableName].Columns.Add("price");

string allData = sr.ReadToEnd();
string[] rows = allData.Split("\r\n".ToCharArray());

foreach(string r in rows)
{
string[] items = r.Split(delimiter.ToCharArray());
dataset.Tables[tableName].Rows.Add(items);
}
}



Regards,
Amal

GeneralRe:Reporting of ms-excel useing c# Pin
sanjay307845-Apr-08 3:13
sanjay307845-Apr-08 3:13 
GeneralFile Unreadable Error Pin
Anonymous11-May-05 10:54
Anonymous11-May-05 10:54 
GeneralSystem.Web.HttpException Pin
brnwdrng21-Mar-05 12:21
brnwdrng21-Mar-05 12:21 
GeneralRe: System.Web.HttpException Pin
Knut Hamang23-Aug-05 2:03
Knut Hamang23-Aug-05 2:03 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.