Хто-небудь має приклад (код або посилання), що дозволить мені експортувати поле шаблону gridview до Excel? Ось приклад того, що я маю на увазі. Припустимо, у мене є наступна декларація GridView:
<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>
Коли я експортую в Excel, я хочу експортувати поля в полі шаблону до стовпців у файлі excel, тому він буде виглядати так:
Назва Адреса Телефон Електронна пошта
==== ======= ==== =====
Джон 123 Rd 40330 J@j.com
Марк 456 St 22039 M@M.com
Відповіді:
2 для відповіді № 1Дуже рекомендую всім, хто користується елементами керування asp gridview, розглянути можливість витрачати гроші на пакет третьої сторони (DevExpress мій улюблений)
Це, як кажуть, я використав це раніше, коли у мене не було іншого вибору
2 для відповіді № 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