使用彩色单元格更快地导出datagridview以实现卓越

时间:2014-05-26 11:08:11

标签: .net vb.net datagridview

我已经搜索过,并且只能找到将datagridview导出到Excel而没有颜色信息的方法。我想将datagridview导出为ex​​cel,单元格完整着色。现在,我逐个细胞地做,而且非常慢。我正在寻找一种更快的方法吗?

任何建议或指示都会非常有用。

由于 曼索尔

1 个答案:

答案 0 :(得分:0)

Public Shared Sub ExportGridViewToExcelGridView(ByVal Filename As String, ByRef gvr As GridView, ByRef currentPage As Page)

    Dim HtmlForm As System.Web.UI.HtmlControls.HtmlForm = New System.Web.UI.HtmlControls.HtmlForm()
    currentPage.Controls.Add(HtmlForm)
    HtmlForm.Controls.Add(gvr)
    currentPage.Response.Clear()
    currentPage.Response.Buffer = True
    currentPage.Response.AddHeader("Content-Disposition", "attachment; filename=" & Filename)
    currentPage.Response.ContentType = "application/vnd.ms-excel"
    currentPage.Response.ContentEncoding = System.Text.Encoding.UTF8
    currentPage.Response.Charset = ""
    currentPage.EnableViewState = False
    Using strwriter As New StringWriter
        Dim htmlwrt As HtmlTextWriter = New HtmlTextWriter(strwriter)
        HtmlForm.RenderControl(htmlwrt)
        htmlwrt.Flush()
        currentPage.Response.Write(strwriter.ToString)
        currentPage.Response.End()
    End Using
End Sub

您可以使用此功能,确保在包含gridview的页面中将EnableEventValidation设置为False,并将paging属性设置为false。