...

View Full Version : Export data in excel



newbb
05-17-2011, 05:43 AM
Hi programmers,

I need help on how i can export my data in excel using ASP.net. I already search for tutorials but it makes me more confused on how to do things out....
Can somebody give me a link in a simple tutorial?

Thanks!:)

dcwm
05-18-2011, 12:03 PM
Your problem is not very well defined, but if you want to export the contents of a database table to an Excel worksheet then you can look at http://www.3bbb3.ru.com

newbb
05-19-2011, 07:40 AM
Hi dcwm,

Sorry for that. This is what I want to do:

1. I have a data grid where I have 3 columns. Let's name it colum1, colum2 and column3.
2. This data came from the database that is displayed in my web page.
3. There is a part in my page where you can export all the data in the datagrid to an excel file.

Problem:
I don't have any idea how to do it or if what i am thinking is possible.

By the way, thanks for the link I am still studying it. I be much careful next time in posting problems...
:)

newbb
05-24-2011, 09:39 AM
hi dcwm!!

It is quite a hard lesson to learn and luckily I was able to export data from my datagrid to excel. For my first trial(it is just a simpel aspx page where in i create a datagrid where i display all the data that I want to export in excel), it all works fine. I was able to do save an excel file with all the data.

Know when I do the coding in my original page, an error occur after clicking the export button:

sys.webforums.PagerequestManagerParserErrorException
Details: error parsing near <div> <table cells'

this is my sample codes:
this is for my .aspx.cs


protected void Button1_Click(object sender, EventArgs e)
{
PrepareGridViewForExport(GridView1);
ExportGridView();
}
private void ExportGridView()
{
string attachment = "attachment; filename=logs.xlsx";
Response.ClearContent();
Response.AddHeader("content-disposition", attachment);
Response.ContentType = "application/ms-excel";
StringWriter sw = new StringWriter();
HtmlTextWriter htw = new HtmlTextWriter(sw);
GridView1.RenderControl(htw);
Response.Write(sw.ToString());
Response.End();
}
public override void VerifyRenderingInServerForm(Control control)
{
}
private void PrepareGridViewForExport(Control gv)
{
LinkButton lb = new LinkButton();
Literal l = new Literal();
string name = String.Empty;
for (int i = 0; i < gv.Controls.Count; i++)
{
if (gv.Controls[i].GetType() == typeof(LinkButton))
{
l.Text = (gv.Controls[i] as LinkButton).Text;
gv.Controls.Remove(gv.Controls[i]);
gv.Controls.AddAt(i, l);
}
else if (gv.Controls[i].GetType() == typeof(DropDownList))
{
l.Text = (gv.Controls[i] as DropDownList).SelectedItem.Text;
gv.Controls.Remove(gv.Controls[i]);
gv.Controls.AddAt(i, l);
}
else if (gv.Controls[i].GetType() == typeof(CheckBox))
{
l.Text = (gv.Controls[i] as CheckBox).Checked ? "True" : "False";
gv.Controls.Remove(gv.Controls[i]);
gv.Controls.AddAt(i, l);
}
if (gv.Controls[i].HasControls())
{
PrepareGridViewForExport(gv.Controls[i]);
}
}
}

this is from my .aspx page


<%@ Page Language="c#" MasterPageFile="~/Master.master" AutoEventWireup="false" CodeFile="systemlogs.aspx.cs" Inherits="DeleteConfirm" title="Untitled Page" %>
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
<div id="bodycontent" class="divStyl">
<div class="divfloatloading" style="left: 407px; top: 179px">
<AjaxExtension:UpdateProgress id="UpdateProgress1" runat="server">
<progresstemplate>
<div>
<img src="images/loading/loading2.gif" alt="" width="40" height="40" />
</div>
</progresstemplate>
</AjaxExtension:UpdateProgress>
</div>
<AjaxExtension:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<table class="tbl_titlebar_border">
<tr>
<td class="titlebar">
System Logs
</td>
</tr>
<tr>
<td class="data_row_height">
<div>
<table>
<tr>
<td>
Date from
<asp:TextBox ID="txtDateAppliedFrom" runat="server" Font-Names="Tahoma" Font-Size="8pt" Width="85px"></asp:TextBox>
<a id="anchor2" onclick="l_date.select('ctl00_ContentPlaceHolder1_txtDateAppliedFrom','anchor2','MM/dd/yyyy'); return false;" href="javascript:void(0);"><img src="images/icons/calendar.gif" style="height:16; border:0" alt="" />
</a>
&nbsp;&nbsp;&nbsp; to &nbsp;&nbsp;&nbsp;
<asp:TextBox ID="txtDateApplied" runat="server" Font-Names="Tahoma" Font-Size="8pt" Width="85px"></asp:TextBox>
<a id="anchor1" onclick="l_date.select('ctl00_ContentPlaceHolder1_txtDateApplied','anchor1','MM/dd/yyyy'); return false;" href="javascript:void(0);"><img src="images/icons/calendar.gif" style="width:16; height:16; border:0" alt="" />
</a>
&nbsp;&nbsp;<asp:ImageButton ID="ImgBtnGo" runat="server" ImageUrl="../petc_lts/images/icons/go.gif" />
<asp:Button>
<br/>
Click here to <a target="_blank" href="systemlogs.aspx"><u>export</u></a> to excel.
</td>
</tr>
<tr>
<td style="width: 100px">
<div id="tbl-container" style="height: 233px">
<strong><span style="font-size: small; font-family: Arial; text-decoration: underline">
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Export To Excel" /></span></strong><br />
<br />
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataKeyNames="usr"
DataSourceID="SqlDataSource1" EmptyDataText="There are no data records to display." style="font-size: small; font-family: Arial" BackColor="White" BorderColor="#DEDFDE" BorderStyle="None" BorderWidth="1px" CellPadding="4" ForeColor="Black" GridLines="Vertical">
<Columns>
<asp:BoundField DataField="dt" HeaderText="Date" SortExpression="dt" />
<asp:BoundField DataField="usr" HeaderText="User badge number" SortExpression="usr" />
<asp:BoundField DataField="trans" HeaderText="Transaction" SortExpression="trans" />
</Columns>
<FooterStyle BackColor="#CCCC99" />
<RowStyle BackColor="#E3EAEB" />
<SelectedRowStyle BackColor="#C5BBAF" Font-Bold="True" ForeColor="White" />
<PagerStyle BackColor="#666666" ForeColor="Black" HorizontalAlign="Right" />
<HeaderStyle BackColor="#1C5E55" Font-Bold="True" ForeColor="White" />
<AlternatingRowStyle BackColor="White" />
</asp:GridView>
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:petc_ltsConnectionString %>"
SelectCommand="SELECT * from logs">
</asp:SqlDataSource>
<br />
</div>
</td>
</tr>
</table>
</div>
</td>
</tr>
</table>
</ContentTemplate>
</AjaxExtension:UpdatePanel>
</div>
</asp:Content>




do you have any idea, why this error occur?



EZ Archive Ads Plugin for vBulletin Copyright 2006 Computer Help Forum