vb如何导出datagrid内容为excel表格
时间: 2024-05-05 10:17:32 浏览: 14
以下是VB.NET中导出DataGridView内容为Excel表格的示例代码:
```vb
Imports System.IO
Imports Microsoft.Office.Interop
Public Class Form1
Private Sub btnExport_Click(sender As Object, e As EventArgs) Handles btnExport.Click
'创建Excel对象
Dim excelApp As New Excel.Application
excelApp.Visible = False '设置Excel应用程序不可见
'创建工作簿
Dim workbook As Excel.Workbook = excelApp.Workbooks.Add(Type.Missing)
'创建工作表
Dim worksheet As Excel.Worksheet = workbook.ActiveSheet
'设置表头
For i As Integer = 0 To dgvData.Columns.Count - 1
worksheet.Cells(1, i + 1) = dgvData.Columns(i).HeaderText
Next
'填充数据
For i As Integer = 0 To dgvData.Rows.Count - 1
For j As Integer = 0 To dgvData.Columns.Count - 1
worksheet.Cells(i + 2, j + 1) = dgvData.Rows(i).Cells(j).Value.ToString()
Next
Next
'保存为Excel文件
Dim saveFileDialog As New SaveFileDialog()
saveFileDialog.Filter = "Excel文件|*.xlsx"
saveFileDialog.Title = "保存为Excel文件"
saveFileDialog.ShowDialog()
If saveFileDialog.FileName <> "" Then
Dim filePath As String = Path.GetFullPath(saveFileDialog.FileName)
workbook.SaveAs(filePath)
workbook.Close()
excelApp.Quit()
MessageBox.Show("导出成功!")
End If
End Sub
End Class
```
在上述代码中,我们首先创建了一个Excel应用程序对象,并将其设置为不可见。然后,我们创建了一个工作簿和一个工作表,并在工作表中设置表头和填充数据。最后,我们使用SaveFileDialog控件让用户选择保存文件路径,并将工作簿保存为Excel文件。