SIGN UP MEMBER LOGIN:    
ARTICLE

Export Panel in ASP.NET

Posted by Krishna Garad Articles | ASP.NET Controls in C# January 18, 2012
In this article I'll show you how we can export a panel containing controls like Labels, Textboxes etc.
Reader Level:
Download Files:
 

Introduction

In this article I'll show you how we can export a panel containing controls like Labels, Textboxes etc. In many cases we need to export our GridView to Excel and some other controls on the page to Excel.

Background

For exporting our page content in this article I'm using a third party DLL which contains same panel like ASP.Net panel. Doing a Google search I found this DLL and I'm willing to share it with you. This export panel can be exported in various formats like Excel, Word, HTML, PowerPoint and WordPerfect. By simply using just two or three lines of code we can export our panel in th above mentioned format.

In so many cases we need to prepare reports; normally these reports we are displayed in a GridView which you can export to Excel format with lots of stuff but in this case you are able to export only GridView and only in Excel format. But using this export panel control you can export anything in the panel to various formats and with little stuff. So let's see this export panel control.

Step 1:

Start a new web site and add a reference to the ExportPanel.dll file given with the upload in the bin directory.

Step 2:

Register tagprefix to ExportPanel.dll on Default.aspx page like below.

<%@ Register TagPrefix="cc1" Namespace="ControlFreak" Assembly="ExportPanel" %> 

Step 3:

After registering tagprefix you can use this Exportpanel control like below.

<cc1:exportpanel id="ExportPanel1" runat="server" Height="207px" Width="688px" BorderWidth="1px" BorderStyle="Dotted" ScrollBars="Both"></cc1:exportpanel>

Step 4:

In this panel you can keep any control with data which you want to export in Excel Word, HTML etc. I'm keeping GridView and label. 

<cc1:exportpanel id="ExportPanel1" runat="server" Height="207px" Width="688px" BorderWidth="1px"
                                                            BorderStyle="Dotted" ScrollBars="Both">
        <table class="style1">
            <tr>
                <td>
                    <asp:GridView ID="GridView1" runat="server" BackColor="LightGoldenrodYellow"
                        BorderColor="Tan" BorderWidth="1px" CellPadding="2" ForeColor="Black"
                        GridLines="None">
                        <AlternatingRowStyle BackColor="PaleGoldenrod" />
                        <FooterStyle BackColor="Tan" />
                        <HeaderStyle BackColor="Tan" Font-Bold="True" />
                        <PagerStyle BackColor="PaleGoldenrod" ForeColor="DarkSlateBlue"
                            HorizontalAlign="Center" />
                        <SelectedRowStyle BackColor="DarkSlateBlue" ForeColor="GhostWhite" />
                        <SortedAscendingCellStyle BackColor="#FAFAE7" />
                        <SortedAscendingHeaderStyle BackColor="#DAC09E" />
                        <SortedDescendingCellStyle BackColor="#E1DB9C" />
                        <SortedDescendingHeaderStyle BackColor="#C2A47B" />
                    </asp:GridView>
                </td>
                <td valign="top">
                    Some Thing Here like controls or any text also.</td>
            </tr>
            <tr>
                <td>
                    <asp:Label ID="Label1" runat="server" Font-Bold="True" ForeColor="#0000CC"
                        Text="I'm Lable"></asp:Label>
                </td>
                <td bgcolor="#99FFCC">
                    <strong>This is Table Cell</strong></td>
            </tr>
        </table>
                                                           
                                                </cc1:exportpanel>

Put one RadioButtonList to specify the format in which te user wants to export the panel.

<asp:RadioButtonList ID="RadioButtonList1" runat="server">
<asp:ListItem Value="HTML" Selected="True">HTML</asp:ListItem>
                                                            <asp:ListItem Value="Excel">Excel</asp:ListItem>
                                                            <asp:ListItem Value="Word">Word</asp:ListItem>
                                                            <asp:ListItem Value="Powerpoint">Powerpoint</asp:ListItem>
                                                            <asp:ListItem Value="WordPerfect">WordPerfect</asp:ListItem>
    </asp:RadioButtonList>

Step 5:

Populate the GridView; here I'm creating a simple datatable with some rows and binding it to the GridView.

DataTable dt = new DataTable("RunnerUp");
            DataColumn dc1=new DataColumn("Name",typeof(string));
            DataColumn dc2 = new DataColumn("Points", typeof(int));
            dt.Columns.Add(dc1);
            dt.Columns.Add(dc2);
            DataRow dr1 = dt.NewRow();
            dr1[0] = "Vulpes";
            dr1[1] = 235;
            DataRow dr2 = dt.NewRow();
            dr2[0] = "SP Nayak";
            dr2[1] = 135;
            DataRow dr3 = dt.NewRow();
            dr3[0] = "Krishna";
            dr3[1] = 40;
            dt.Rows.Add(dr1);
            dt.Rows.Add(dr2);
            dt.Rows.Add(dr3);
            GridView1.DataSource = dt;
            GridView1.DataBind();

Step 6:

In the Export button click event, write the following code to export the panel in the user selected format.

switch (RadioButtonList1.SelectedValue.ToString())
        {
            case "HTML":
                  ExportPanel1.ExportType = ExportPanel.AppType.HTML;
                break;
            case "Excel":
                ExportPanel1.ExportType = ExportPanel.AppType.Excel;
                break;
            case "Word":
                ExportPanel1.ExportType = ExportPanel.AppType.Word;
                break;
            case"Powerpoint":
                ExportPanel1.ExportType = ExportPanel.AppType.PowerPoint;
                break;
            case"WordPerfect":
                ExportPanel1.ExportType = ExportPanel.AppType.WordPerfect;
                break;
        }

Step 7:

Run the application and export the panel in Excel, Word, WordPerfect, PowerPoint and HTML.

Conclusion:

In this way we can export anything in panel in various formats using a little bit code.

Login to add your contents and source code to this article
share this article :
post comment
 

Ah Ok!!! well, I need it for office 2007, I will still look for it!!! Thanks a lot!!! Regards!!!

Posted by Elicela Zuniga Mar 13, 2012

I think so u are using office 7 it won't work in office 7 needs 2003

Posted by Krishna Garad Mar 13, 2012

switch (RadioButtonList1.SelectedValue.ToString()) { case "HTML": ExportPanel1.ExportType = ExportPanel.AppType.HTML; break; case "Excel": ExportPanel1.ExportType = ExportPanel.AppType.Excel; break; case "Word": ExportPanel1.ExportType = ExportPanel.AppType.Word; break; case "Powerpoint": ExportPanel1.ExportType = ExportPanel.AppType.PowerPoint; break; case "WordPerfect": ExportPanel1.ExportType = ExportPanel.AppType.WordPerfect; break; }

Posted by Elicela Zuniga Mar 13, 2012

When I press the radio button Powerpoint and click the button, it open the presentation but nothing appear, the presentation is without nothing, and the other documents works fine!!!, they show that the export panel has.... :(

Posted by Elicela Zuniga Mar 13, 2012

Hi Elicela What is the problem can you explain it's work with powerpoint also.

Posted by Krishna Garad Mar 13, 2012
Become a Sponsor
PREMIUM SPONSORS
  • ceTE software specializes in components for dynamic PDF generation and manipulation. The DynamicPDF™ product line allows you to dynamically generate PDF documents, merge PDF documents and new content to existing PDF documents from within your applications. Visit DynamicPDF here
    The leading .NET charting control now features PDF, Flash and Silverlight export, visualization of large datasets and more. Deliver true charting functionality to your BI, Scorecard, Presentation or Scientific apps. Download evaluation now.
Nevron Gauge for SharePoint
Become a Sponsor