Как экспортировать поля TemplateField asp: GridView, чтобы преуспеть в c #? - PullRequest
0 голосов
/ 17 декабря 2008

Есть ли у кого-нибудь пример (код или ссылка), который позволит мне экспортировать поле шаблона 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, поэтому он будет выглядеть примерно так:

Имя Адрес Телефон E-mail

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

John 123 Rd 40330 J@j.com

Марка 456 St 22039 M@M.com

Ответы [ 2 ]

2 голосов
/ 16 июня 2011
    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
2 голосов
/ 17 декабря 2008

Я очень рекомендую всем, кто использует готовые элементы управления asp gridview, подумать о том, чтобы потратить немного денег на сторонний пакет ( DevExpress - мой любимый)

Как говорится, я использовал это раньше, когда у меня не было другого выбора

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...