Скопировать вставить gridview asp.net - PullRequest
1 голос
/ 31 декабря 2010

Как скопировать (щелкнуть правой кнопкой мыши) некоторые столбцы из сетки (asp.net) и вставить их в Excel? Когда я пытаюсь получить одну строку со всеми данными, вставленными в Excel, она должна быть в тех же столбцах и строках, что и gridview.

Спасибо

Ответы [ 3 ]

2 голосов
/ 25 января 2011

Хорошо, спасибо. Я сделал кнопку и экспортировал ее в CSV-файл. Код ниже делает свою работу.

  Private Sub ExportGrid(ByVal gridname As String)
    Dim kolonner As Integer
    If gridname.ToString = GridView1.ToString Then
        kolonner = 5
    Else
        kolonner = 10
    End If

    'Lav DT 
    Dim dtUse As DataTable = New DataTable
    If gridname = "GridView1" Then
        dtUse = dt2.Copy()
    Else
        '  dtUse = dt2.Copy
    End If

    Response.Clear()
    Response.Buffer = True
    Response.AddHeader("content-disposition", "attachment;filename=GridViewExport.csv")
    ' Response.Charset = "System.Text.Encoding.Default"
    Response.Charset = ""
    Response.ContentEncoding = System.Text.Encoding.Default
    'text/html
    'Response.ContentType = "System.Text.Encoding.Default"
    Response.ContentType = "text/html"

    Dim sb As New StringBuilder()
    For Each clm As DataColumn In dtUse.Columns
        sb.Append(clm.ColumnName.ToString + ";"c)
    Next
    'append new line
    sb.Append(vbCr & vbLf)

    Dim tt As String = sb.ToString

    For Each row As DataRow In dtUse.Rows
        For Each CLM2 As DataColumn In dtUse.Columns
            'add separator
            sb.Append(row(CLM2).ToString + ";"c)
        Next
        'append new line
        sb.Append(vbCr & vbLf)
    Next
    Response.Output.Write(sb.ToString())
    Response.Flush()
    Response.End()

End Sub
1 голос
/ 31 декабря 2010

Почему бы вам не попробовать использовать пользовательское контекстное меню, такое как «Экспорт в Excel», и написать для него код.В вашем коде возьмите все значения в строке и разделите их запятой (создание строки в формате csv ), а затем добавьте к каждой строке знак "\r\n".

Данные будут иметь следующий формат.

col1 , col2 , col3 \r\n
data1, data2 data3 \r\n
data1, data2 data3 \r\n
data1, data2 data3 \r\n
data1, data2 data3 \r\n

Таким образом, они будут правильно отформатированы для экспорта в Excel.Просто добавьте финальную строку в буфер обмена.

0 голосов
/ 31 декабря 2010

Люди не копируют, вставляют весь GridView.
Это утомительно и подвержено ошибкам.
Это ваш долг программиста сделать это для них.
Поместите красивую кнопку Экспорт в Excel поверх GridView для этого

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