VB.NET2005中DataGridView导出Excel格式控件代码实现

以下是关于在VB.NET2005中实现DataGridView导出Excel并保持格式的代码示例。在这个示例中,我们将展示如何将DataGridView中的数据导出到Excel,并保留其格式,包括单元格颜色、字体和边框。代码如下:

Imports System.Data
Imports System.IO
Imports Excel = Microsoft.Office.Interop.Excel

Public Class ExportToExcel
    Public Sub ExportDataGridViewToExcel(ByVal dgv As DataGridView, ByVal filePath As String)
        Dim excelApp As New Excel.Application
        Dim excelWorkbook As Excel.Workbook = excelApp.Workbooks.Add
        Dim excelWorksheet As Excel.Worksheet = excelWorkbook.Sheets(1)

        For col As Integer = 0 To dgv.Columns.Count - 1
            excelWorksheet.Cells(1, col + 1) = dgv.Columns(col).HeaderText
            excelWorksheet.Cells(1, col + 1).Interior.Color = dgv.Columns(col).HeaderCell.Style.BackColor.ToArgb
        Next

        For row As Integer = 0 To dgv.Rows.Count - 1
            For col As Integer = 0 To dgv.Columns.Count - 1
                excelWorksheet.Cells(row + 2, col + 1) = dgv(col, row).Value.ToString()
                excelWorksheet.Cells(row + 2, col + 1).Interior.Color = dgv(col, row).Style.BackColor.ToArgb
            Next
        Next

        excelWorkbook.SaveAs(filePath)
        excelWorkbook.Close()
        excelApp.Quit()

        ReleaseObject(excelWorksheet)
        ReleaseObject(excelWorkbook)
        ReleaseObject(excelApp)
    End Sub

    Private Sub ReleaseObject(ByVal obj As Object)
        Try
            System.Runtime.InteropServices.Marshal.ReleaseComObject(obj)
            obj = Nothing
        Catch ex As Exception
            obj = Nothing
        Finally
            GC.Collect()
        End Try
    End Sub
End Class

以上代码创建了一个新的Excel工作簿,并将DataGridView中的数据导出到第一个工作表中,同时保持单元格的格式。

rar 文件大小:249.93KB