从DataGridView中将数据导出Excel
Public Sub ExportExcel(ByVal dgv As DataGridView, ByVal isonlyvisible As Boolean)
Try
Dim n, i, j, row, col As Integer
Dim excel As New Microsoft.Office.Interop.Excel.Application
excel.Application.Workbooks.Add(True)
col = 1
'记录列名
For n = 0 To dgv.ColumnCount - 1
If isonlyvisible Then
If dgv.Columns(n).Visible Then
excel.Cells(1, col) = dgv.Columns(n).HeaderText
col = col + 1
End If
Else
excel.Cells(1, n + 1) = dgv.Columns(n).HeaderText
End If
Next
row = 2
For i = 0 To dgv.RowCount - 1
col = 1
For j = 0 To dgv.ColumnCount - 1
If isonlyvisible Then
If dgv.Columns(j).Visible Then
excel.Cells(i + 2, col) = dgv.Rows(i).Cells(j).Value
col = col + 1
End If
Else
excel.Cells(i + 2, j + 1) = dgv.Rows(i).Cells(j).Value
End If
Next
Next
excel.Visible = True
Catch ex As Exception
Throw ex
End Try
End Sub