Imports System
Imports System.Data
Imports System.Windows.Forms
Imports System.Data.SqlClient
Imports Excel = Microsoft.Office.Interop.Excel
Namespace WindowsFormsApplication1
Public Partial Class Form1
Inherits Form
Public Sub New()
InitializeComponent()
End Sub
Private Sub button1_Click(sender As Object, e As EventArgs)
Dim connectionString As String = "Data Source=.;Initial Catalog=pubs;Integrated Security=True"
Dim sql As String = "SELECT * FROM Authors"
Dim connection As New SqlConnection(connectionString)
Dim dataadapter As New SqlDataAdapter(sql, connection)
Dim ds As New DataSet()
connection.Open()
dataadapter.Fill(ds, "Authors_table")
connection.Close()
dataGridView1.DataSource = ds
dataGridView1.DataMember = "Authors_table"
End Sub
Private Sub button2_Click(sender As Object, e As EventArgs)
Dim xlApp As Excel.Application
Dim xlWorkBook As Excel.Workbook
Dim xlWorkSheet As Excel.Worksheet
Dim misValue As Object = System.Reflection.Missing.Value
Dim i As Int16, j As Int16
xlApp = New Excel.ApplicationClass()
xlWorkBook = xlApp.Workbooks.Add(misValue)
xlWorkSheet = DirectCast(xlWorkBook.Worksheets.get_Item(1), Excel.Worksheet)
For i = 0 To dataGridView1.RowCount - 2
For j = 0 To dataGridView1.ColumnCount - 1
xlWorkSheet.Cells(i + 1, j + 1) = dataGridView1(j, i).Value.ToString()
Next
Next
xlWorkBook.SaveAs("c:\csharp.net-informations.xls", Excel.XlFileFormat.xlWorkbookNormal, misValue, misValue, misValue, misValue, _
Excel.XlSaveAsAccessMode.xlExclusive, misValue, misValue, misValue, misValue, misValue)
xlWorkBook.Close(True, misValue, misValue)
xlApp.Quit()
releaseObject(xlWorkSheet)
releaseObject(xlWorkBook)
releaseObject(xlApp)
End Sub
Private Sub releaseObject(obj As Object)
Try
System.Runtime.InteropServices.Marshal.ReleaseComObject(obj)
obj = Nothing
Catch ex As Exception
obj = Nothing
MessageBox.Show("Exception Occured while releasing object " & ex.ToString())
Finally
GC.Collect()
End Try
End Sub
End Class
End Namespace