title: Fast Way To Export DataSet To Excel in VB.Net
body: <p>I need to export a lot (nearly a million) of data everyday from SQLServer to Excel. The data is being processed through a stored procedure then I put them on the DataSet and tried to export using this code:</p>
  
  <p>`
  Private Sub ExportToExcel(ByVal dtTemp As System.Data.DataTable, ByVal filepath As String)
          Dim strFileName As String = filepath</p>
  
  <pre><code>    Dim _excel As New Excel.Application
      Dim wBook As Excel.Workbook
      Dim wSheet As Excel.Worksheet
  
      wBook = _excel.Workbooks.Add()
      wSheet = wBook.ActiveSheet()
  
      Dim dt As System.Data.DataTable = dtTemp
      Dim dc As System.Data.DataColumn
      Dim dr As System.Data.DataRow
      Dim colIndex As Integer = 0
      Dim rowIndex As Integer = 0
  
      For Each dc In dt.Columns
          colIndex = colIndex + 1
          wSheet.Cells(1, colIndex) = dc.ColumnName
      Next
  
      For Each dr In dt.Rows
          rowIndex = rowIndex + 1
          colIndex = 0
          For Each dc In dt.Columns
              colIndex = colIndex + 1
              wSheet.Cells(rowIndex + 1, colIndex) = dr(dc.ColumnName)
          Next
      Next
      wSheet.Columns.AutoFit()
      wBook.SaveAs(strFileName)
  
      ReleaseObject(wSheet)
      wBook.Close(False)
      ReleaseObject(wBook)
      _excel.Quit()
      ReleaseObject(_excel)
      GC.Collect()
  End Sub`
  </code></pre>
  
  <p>Is there any faster way for this? 
  How about DataSet to Clipboard then paste it to excel?</p>