Solved

asp.net vb.net export dataset to excel

Posted on 2009-04-15
4
2,586 Views
Last Modified: 2012-05-06
How can in asp.net export a dataset to excel.
0
Comment
Question by:rflorencio
  • 2
4 Comments
 
LVL 14

Expert Comment

by:GiftsonDJohn
ID: 24146917
You have to bind the DataSet to DataGrid or GridView. Then you can use the following code to download as excel sheet.
DataGrid dg = new DataGrid();

                    dg.HeaderStyle.HorizontalAlign = HorizontalAlign.Center;

                    dg.HeaderStyle.Font.Bold = true;
 

                    dg.DataSource = ds.Tables[0];

                    dg.DataBind();
 

                    Response.Clear();

                    Response.Buffer = true;

                    Response.ContentType = "application/vnd.ms-excel";

                    Response.AddHeader("Content-Disposition", "attachment; filename=Consolidated Report.xls");

                    Response.Charset = "";

                    this.EnableViewState = false;

                    System.IO.StringWriter oStringWriter = new System.IO.StringWriter();

                    System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter);

                    dg.RenderControl(oHtmlTextWriter);

                    Response.Write(oStringWriter.ToString());

                    Response.End();

Open in new window

0
 
LVL 14

Expert Comment

by:GiftsonDJohn
ID: 24146922
Here is the VB.net equivalent
Dim dg As New DataGrid()

dg.HeaderStyle.HorizontalAlign = HorizontalAlign.Center

dg.HeaderStyle.Font.Bold = True
 

dg.DataSource = ds.Tables(0)

dg.DataBind()
 

Response.Clear()

Response.Buffer = True

Response.ContentType = "application/vnd.ms-excel"

Response.AddHeader("Content-Disposition", "attachment; filename=Consolidated Report.xls")

Response.Charset = ""

Me.EnableViewState = False

Dim oStringWriter As New System.IO.StringWriter()

Dim oHtmlTextWriter As New System.Web.UI.HtmlTextWriter(oStringWriter)

dg.RenderControl(oHtmlTextWriter)

Response.Write(oStringWriter.ToString())

Response.End()

Open in new window

0
 
LVL 69

Expert Comment

by:Éric Moreau
ID: 24146937
are you using VB2008? In this case, see how easy it is to generate a CSV or XML document from a dataset: http://www.emoreau.com/Entries/Articles/2009/04/Using-LINQ-and-XML-Literals-to-transform-a-DataTable-into-a-HTML-table.aspx
0
 
LVL 6

Accepted Solution

by:
badalpatel earned 500 total points
ID: 24147438
You dont need to bind your dataset to the datagrid.
You can directy export to excel.
Code is below

 Sub exportToexCEl()

        Dim sSQL As String

        sSQL = "select * from t_user where suserType='n'"

        Dim ds As DataSet = CommonMethods.GetDataset(sSQL)

        Dim dt As DataTable = ds.Tables(0)

        Dim attachment As String = "attachment; filename=userlist.xls"

        Response.ClearContent()

        Response.AddHeader("content-disposition", attachment)

        Response.ContentType = "application/vnd.ms-excel"

        Dim tab As String = ""

        For Each dc As DataColumn In dt.Columns

            Response.Write(tab + dc.ColumnName)

            tab = vbTab

        Next

        Response.Write(vbLf)

        Dim i As Integer

        For Each dr As DataRow In dt.Rows

            tab = ""

            For i = 0 To dt.Columns.Count - 1

                Response.Write(tab + dr(i).ToString().Replace(vbCrLf, " "))

                tab = vbTab

            Next

            Response.Write(vbLf)

        Next

        Response.End()

    End Sub

Open in new window

0

Featured Post

How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

Join & Write a Comment

It’s quite interesting for me as I worked with Excel using vb.net for some time. Here are some topics which I know want to share with others whom this might help. First of all if you are working with Excel then you need to Download the Following …
IntroductionWhile developing web applications, a single page might contain many regions and each region might contain many number of controls with the capability to perform  postback. Many times you might need to perform some action on an ASP.NET po…
Excel styles will make formatting consistent and let you apply and change formatting faster. In this tutorial, you'll learn how to use Excel's built-in styles, how to modify styles, and how to create your own. You'll also learn how to use your custo…
This video shows how to remove a single email address from the Outlook 2010 Auto Suggestion memory. NOTE: For Outlook 2016 and 2013 perform the exact same steps. Open a new email: Click the New email button in Outlook. Start typing the address: …

762 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

23 Experts available now in Live!

Get 1:1 Help Now