Tuesday, October 30, 2012

Export To Excel From Datagrid View



Imports System
Imports System.Data
Imports System.Data.DataTable
Imports System.Data.SqlClient
Imports System.Data.SqlClient.SqlDataAdapter
Imports System.Windows.Forms.DataGridView
Imports Microsoft.Office.Interop.Excel

Public Class Form1
    Dim con As SqlConnection
    Dim cmd As SqlCommand
    Dim da As SqlDataAdapter
    Dim dr As SqlDataReader
    Dim ds As DataSet
    Dim dt As System.Data.DataTable
    Dim sql As String
    Dim i As Integer = 0

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        )
        Try
            con = New SqlConnection("Data Source=KPPLSERVER\STEEL;Initial Catalog=PERDB;Persist Security Info=True;User ID=sa;Password=sa")
            con.Open()
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try

    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        dt = New System.Data.DataTable
        dt.Clear()
        sql = "select * from emp_rsgn order by emp_num"
        da = New System.Data.SqlClient.SqlDataAdapter(sql, con)
        da.Fill(dt)
        Me.DataGridView1.DataSource = dt
        con.Close()

    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

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        MsgBox("CONFIRM???")
        Dim xlApp As Microsoft.Office.Interop.Excel.Application
        Dim xlWorkBook As Microsoft.Office.Interop.Excel.Workbook
        Dim xlWorkSheet As Microsoft.Office.Interop.Excel.Worksheet
        Dim misValue As Object = System.Reflection.Missing.Value
        Dim i As Integer
        Dim j As Integer

        xlApp = New Microsoft.Office.Interop.Excel.ApplicationClass
        xlWorkBook = xlApp.Workbooks.Add(misValue)
        xlWorkSheet = xlWorkBook.Sheets("sheet1")


        For i = 0 To DataGridView1.RowCount - 2
            For j = 0 To DataGridView1.ColumnCount - 1
                For k As Integer = 1 To DataGridView1.Columns.Count
       xlWorkSheet.Cells(1, k) = DataGridView1.Columns(k - 1).HeaderText
       xlWorkSheet.Cells(i + 2, j + 1) = DataGridView1(j, i).Value.ToString()
                Next
            Next
        Next

        xlWorkSheet.SaveAs("D:\vbexcel.xls")
        xlWorkBook.Close()
        xlApp.Quit()

        releaseObject(xlApp)
        releaseObject(xlWorkBook)
        releaseObject(xlWorkSheet)
        MsgBox("You can find the file in D:\vbexcel.xls")

        'System.Diagnostics.Process.Start("excel")

        xlApp = New Microsoft.Office.Interop.Excel.Application
        xlApp.Visible = True
        xlWorkBook = xlApp.Workbooks.Open("D:\vbexcel.xls")
        xlWorkSheet = xlWorkBook.Worksheets(1)

    End Sub
End Class

No comments:

Post a Comment