Asp.net 使用EPPlus将GridView导出到Excel

Asp.net 使用EPPlus将GridView导出到Excel,asp.net,vb.net,epplus,Asp.net,Vb.net,Epplus,我正在尝试将gridview导出到excel,并将gridview转换为datatable。我在datatable中的值为nothing。下面是我的代码: Private Sub ExportToExcel() FormatUtility.DateFormat(Date.Today.Month, dateMM) FormatUtility.DateFormat(Date.Today.Day, dateDD) ' Dim dvExWrd As New DataView

我正在尝试将gridview导出到excel,并将gridview转换为datatable。我在datatable中的值为nothing。下面是我的代码:

Private Sub ExportToExcel()
    FormatUtility.DateFormat(Date.Today.Month, dateMM)
    FormatUtility.DateFormat(Date.Today.Day, dateDD)
    ' Dim dvExWrd As New DataView
    Response.Clear()
    Response.Charset = ""
    Response.ContentEncoding = System.Text.Encoding.UTF8
    Response.Cache.SetCacheability(HttpCacheability.NoCache)
    Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
    Response.AddHeader("content-disposition", "attachment;filename=GridData.xlsx")
    FormatExcelTransfer()
    Dim GV As GridView = CType(Session("GridView"), GridView) ' I checked, I have the value in GV
    Dim dt As DataTable = TryParse(GV.DataSource, DataTable) 'I have a value of nothing in dt

    Using pck As New ExcelPackage()

        Dim wsDt As ExcelWorksheet = pck.Workbook.Worksheets.Add("Sheet1")
        wsDt.Cells("A1").LoadFromDataTable(dt, True, TableStyles.None)
        wsDt.Cells(wsDt.Dimension.Address).AutoFitColumns()

        Response.BinaryWrite(pck.GetAsByteArray())
    End Using

    Response.Flush()
    Response.End()
End Sub
Dim GV As GridView=CType(会话(“GridView”),GridView)“我选中了,我有GV中的值 Dim dt As DataTable=TryParse(GV.DataSource,DataTable)'我在dt中的值为零


我不确定我做错了什么,或者是否有其他方法将Gridview转换为DataTable,并且我使用的方法是错误的

您不应该转换Gridview。GridView是一个UI控件。您可以直接导出数据表。无论如何,除非您显示相关代码,即
TryParse
函数,否则我们无法告诉您出了什么问题。我在gridview上应用了很多格式化功能,我希望这些内容导出到gridview,例如行颜色和标题。我只是把TryParse放进去,这不是一个函数。基本上如何将gridview转换为datatableGridView是HTML,格式不直接适用于Excel。他们有不同的风格设计方法。同样,忘记GridView。只需使用EPPlus提供的API直接设置Excel工作表的样式。好的,我会这样做。谢谢。事实上,我可以把行的颜色,但我也需要把gridview标题。我想,我需要合并Excel单元格。你不应该转换gridview。GridView是一个UI控件。您可以直接导出数据表。无论如何,除非您显示相关代码,即
TryParse
函数,否则我们无法告诉您出了什么问题。我在gridview上应用了很多格式化功能,我希望这些内容导出到gridview,例如行颜色和标题。我只是把TryParse放进去,这不是一个函数。基本上如何将gridview转换为datatableGridView是HTML,格式不直接适用于Excel。他们有不同的风格设计方法。同样,忘记GridView。只需使用EPPlus提供的API直接设置Excel工作表的样式。好的,我会这样做。谢谢。实际上,我可以把行的颜色,但我也需要把gridview标题。我想,我需要合并Excel单元格。