Экспорт DataGridView в Excel в VB.NET: методы и примеры кода

Чтобы экспортировать DataGridView в Excel в VB.NET, вы можете использовать несколько методов. Вот несколько примеров с кодом:

Метод 1: использование Microsoft.Office.Interop.Excel

Imports Microsoft.Office.Interop.Excel
Public Sub ExportToExcel(dataGridView As DataGridView)
    ' Create a new Excel application
    Dim excelApp As New Application()
    ' Create a new workbook and add a worksheet
    Dim excelWorkbook As Workbook = excelApp.Workbooks.Add(Type.Missing)
    Dim excelWorksheet As Worksheet = excelWorkbook.ActiveSheet
    ' Export the DataGridView data to Excel
    For i As Integer = 0 To dataGridView.Rows.Count - 1
        For j As Integer = 0 To dataGridView.Columns.Count - 1
            excelWorksheet.Cells(i + 1, j + 1) = dataGridView.Rows(i).Cells(j).Value.ToString()
        Next
    Next
    ' Save the workbook and close Excel
    excelWorkbook.SaveAs("C:\path\to\exported\file.xlsx")
    excelWorkbook.Close()
    excelApp.Quit()
End Sub

Метод 2: использование библиотеки EPPlus

Imports OfficeOpenXml
Public Sub ExportToExcel(dataGridView As DataGridView)
    ' Create a new Excel package
    Using excelPackage As New ExcelPackage()
        ' Add a new worksheet to the package
        Dim excelWorksheet As ExcelWorksheet = excelPackage.Workbook.Worksheets.Add("Sheet1")
        ' Export the DataGridView data to Excel
        For i As Integer = 0 To dataGridView.Rows.Count - 1
            For j As Integer = 0 To dataGridView.Columns.Count - 1
                excelWorksheet.Cells(i + 1, j + 1).Value = dataGridView.Rows(i).Cells(j).Value
            Next
        Next
        ' Save the package to a file
        Dim file As New FileInfo("C:\path\to\exported\file.xlsx")
        excelPackage.SaveAs(file)
    End Using
End Sub

Метод 3. Использование формата CSV

Public Sub ExportToCSV(dataGridView As DataGridView)
    ' Create a new string builder
    Dim sb As New StringBuilder()
    ' Export the DataGridView data to CSV
    For i As Integer = 0 To dataGridView.Rows.Count - 1
        For j As Integer = 0 To dataGridView.Columns.Count - 1
            sb.Append(dataGridView.Rows(i).Cells(j).Value.ToString())
            sb.Append(",")
        Next
        sb.AppendLine()
    Next
    ' Save the string builder to a CSV file
    File.WriteAllText("C:\path\to\exported\file.csv", sb.ToString())
End Sub

Это всего лишь несколько примеров того, как можно экспортировать DataGridView в Excel в VB.NET. Вы можете выбрать метод, который лучше всего соответствует вашим требованиям.