2016-03-23 8 views
0

İki farklı tabloda özet raporu görüntülediğim ve değerleri veritabanından aldığım bir .aspx sayfası oluşturdum.HTML tablosunu ASP.NET kullanarak Excel Sayfasında indirmek istiyorum C#

Bu benim aspx kodudur:

<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server"> 

<div style="text-align:center;" ><asp:Label ID="Label3" runat="server" Text="Summary Report" style="font-size:x-large;"></asp:Label></div>  
<br /> 
<table id="tbl1" style="width: 100%;" border="1"> 
    <tr> 
     <th class="auto-style1" colspan="11" style="text-align:center;padding:10px 10px 10px 10px;">Total Players: <asp:Label ID="lblTotPlayers" runat="server" Text="Label"></asp:Label></th> 
    </tr> 
    <tr> 
     <% string connString = ConfigurationManager.ConnectionStrings["dbConnection"].ConnectionString; 
      System.Data.SqlClient.SqlConnection con = new System.Data.SqlClient.SqlConnection(connString); 
      System.Data.SqlClient.SqlCommand cmd = new System.Data.SqlClient.SqlCommand(); 
      con.Open(); 
      cmd = new System.Data.SqlClient.SqlCommand("select vchSportName from UserSportMapping left outer join tblPWP_Sports on UserSportMapping.SportsID = tblPWP_Sports.intSportId WHERE vchSportName IN (vchSportName) group by vchSportName", con); 
      System.Data.SqlClient.SqlDataReader dr = cmd.ExecuteReader(); 
      while (dr.Read()) 
      {%> 
      <th class="auto-style1" style="padding:10px 10px 10px 10px;"><%=dr["vchSportName"] %></th> 
      <%} 
       dr.Close(); %> 
    </tr> 
    <tr> 
     <% cmd = new System.Data.SqlClient.SqlCommand("select count(vchSportName) as Counts from UserSportMapping left outer join tblPWP_Sports on UserSportMapping.SportsID = tblPWP_Sports.intSportId WHERE vchSportName IN (vchSportName) group by vchSportName", con); 
      System.Data.SqlClient.SqlDataReader dr1 = cmd.ExecuteReader(); 
      while (dr1.Read()) 
      {%> 
      <td style="padding:10px 10px 10px 10px;"><%=dr1["Counts"] %></td> 
      <%} 
      dr1.Close();%> 
    </tr> 
</table> 

<br /><br /><br /> 

<table id="tbl2" style="width: 100%;" border="1"> 
    <tr> 
     <th class="auto-style1" colspan="12" style="text-align:center;padding:10px 10px 10px 10px;">Total Business Partners: <asp:Label ID="lblTotBPs" runat="server" Text="Label"></asp:Label></th> 
    </tr> 
    <tr> 
     <% cmd = new System.Data.SqlClient.SqlCommand("select UserType, COUNT(CompanyName) as Counts from tblUserDetails full outer join Mst_UserType on tblUserDetails.ServiceId = Mst_UserType.UserTypeId where UserType in (UserType) and UserTypeId <> 1 and IsActive=1 group by UserType order by UserType", con); 
      System.Data.SqlClient.SqlDataReader dr2 = cmd.ExecuteReader(); 
      while (dr2.Read()) 
      { 
      %> 
      <th class="auto-style1" style="padding:10px 10px 10px 10px;"><%=dr2["UserType"] %></th> 
      <%} 
      dr2.Close(); %> 
    </tr> 
    <tr> 
     <% cmd = new System.Data.SqlClient.SqlCommand("select UserType, COUNT(CompanyName) as Counts from tblUserDetails full outer join Mst_UserType on tblUserDetails.ServiceId = Mst_UserType.UserTypeId where UserType in (UserType) and UserTypeId <> 1 and IsActive=1 group by UserType order by UserType", con); 
      System.Data.SqlClient.SqlDataReader dr3 = cmd.ExecuteReader(); 
      while (dr3.Read()) 
      { 
      %> 
     <td style="padding:10px 10px 10px 10px;"><%=dr3["Counts"] %></td> 
     <%} 
      dr3.Close(); %> 
    </tr> 
</table> 
<br /><br /> 
<asp:Button ID="Button1" runat="server" Text="Back" OnClick="Button1_Click" /> &nbsp; <asp:Button ID="Button2" runat="server" Text="Download as Excel" OnClick="DownExcel" /> 

tek şey C# kodu yazmak için .aspx sayfadaki <% %> kullanıyorum unutmayın.

Şimdi bu tabloyu aynı tablo biçiminde Excel dosyası olarak indirmek istiyorum. Herhangi bir özel çözüm bulamıyorum, lütfen bana yardım edin.

Şimdiden teşekkürler.

+0

Değerleri bir veri tabanına kaydedip excel'e aktarın (örn. EPPlus kullanarak) –

+0

EPPlus adını okudum ama nasıl kullanacağımı bilmiyorum ve üçüncü parti uygulamalarını projelerde kullanmaya değer. ? Eğer evet ise, lütfen bunun hakkında açıklayınız. –

+0

http://stackoverflow.com/questions/9364107/export-html-table-to-excel-using-asp-net – Vikas

cevap

0

Tablodaki verileri tabloya dışa aktarma yöntemlerinde yerleşik bir csv verme sınıfı kullanabilirsiniz. beni oku dosyasında

https://github.com/jitbit/CsvExport

, adımları bulacaksınız.

+0

Yukarıdaki kodumda gördüğünüz gibi hem veri tabanından hem de veri hücrelerinden veriyi görüntülemek zorundayım. CSV bana nasıl yardımcı olur? –

+0

Csv, Excel tarafından desteklenen bir dosya formatıdır. Tabloları vermek için csv formatını kullanmanın en iyi yolu, sadece doğru bir araca besleyerek kolayca geri yüklemek için kullanılabilir. –

+0

@AzeemShaikh, html tablosundan değil, veritabanından aldığınız verileri dışa aktarır. Tabloyu dışa aktarmak için bu aşamaya ihtiyacınız yoktur. – Lorin