/ / Comment exporter un asp: les champs TemplateField de GridView pour exceller en c #? - c #, asp.net, gridview

Comment exporter un asp: champs FieldField de GridView pour exceller en c #? - c #, asp.net, gridview

Quelqu'un a-t-il un exemple (code ou lien) qui me permettra d'exporter un champ de modèle gridview pour exceller? Voici un exemple de ce que je veux dire. Supposons que j'ai la déclaration GridView suivante:

<asp:GridView Id="gvResults" runat="server">
<Columns>
<asp:TemplateField HeaderText="Contact Info">
<ItemTemplate>
<b>Name:</b><%# Eval("Name") %><br/>
<b>Address:</b><%# Eval("Address") %><br/>
<b>Phone:</b><%# Eval("Phone") %><br/>
<b>E-mail:</b><%# Eval("Email") %>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>

Lorsque j'exporte vers excel, je souhaite exporter les champs du champ de modèle vers les colonnes du fichier excel afin que cela ressemble à ceci:

Nom Adresse Téléphone E-mail

==== ======= ==== =====

John 123 Rd 40330 J@j.com

Mark 456 St 22039 M@M.com

Réponses:

2 pour la réponse № 1

Je recommanderais vivement à toute personne utilisant des contrôles prêts à l'emploi d'asp asp gridview d'envisager de dépenser de l'argent pour un package tiers (DevExpress est mon préféré)

Cela étant dit, j'ai utilisé ce avant quand je n'avais pas d'autre choix


2 pour la réponse № 2
    For i = 0 To gvExport.Rows.Count - 1
For j = rowsLeftTrimed To cellCount - 1

If gvExport.Rows(i).Cells(j).Text = String.Empty Then
Dim ctl As DataBoundLiteralControl = _
TryCast(gvExport.Rows(i).Cells(j).Controls(0), DataBoundLiteralControl)

If ctl IsNot Nothing Then
sw.Write(Chr(34) & ctl.Text.Trim & Chr(34) & ",")
End If

"Else
"    sw.Write(Chr(34) & gvExport.Rows(i).Cells(j).Text & Chr(34))
End If
Next
sw.WriteLine()
Next