从DataGridView中将数据导出Excel(vb.net)

 

 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

posted @ 2011-04-09 13:49  CharmingDang  阅读(289)  评论(0编辑  收藏  举报