• Hello Guest! Welcome to ConsoleCrunch, to help support our site check out the premium upgrades HERE! to get exclusive access to our hidden content.
  • Unable to load portions of the website...
    If you use an ad blocker addon, you should disable it because it interferes with several elements of the site and blocks more than just adverts.
  • Read Rules Before Posting Post Virus Scans with every program.

[VB.NET] Import Excel Spreadsheet to Data Table

1UP

Member
This was something I came up with when I had to update a table from a spreadsheet.



This does not take into account of parameterizing your inputs or sanitizing them. This was just a quick and dirty way of importing data from a spreadsheet to a SQL database
I dumped the data into a table originally so I could get the column names. In my case they were F1 and F2
excelDataTable.png


Code:
Imports System.Data.OleDb
Imports System.Data.SqlClient
Public Class frm_Main


  Private Sub frm_Main_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  Dim excelDataTable As New DataTable
  excelDataTable = ImportExcelToDataTable("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=.\spread.xls;Extended Properties=""Excel 12.0;HDR=No;IMEX=1""")
  grdview_Excel.DataSource = excelDataTable




  End Sub

  Private Function ImportExcelToDataTable(excelConnString As String) As DataTable
  ImportExcelToDataTable = New DataTable
  Dim excelConn As OleDbConnection = New OleDbConnection(excelConnString)
  Dim oldbDataAdaptor As OleDbDataAdapter = New OleDbDataAdapter("SELECT * FROM [Sheet1$]", excelConn)

  excelConn.Open()
  oldbDataAdaptor.Fill(ImportExcelToDataTable)
  excelConn.Close()

  End Function

  Private Sub importDataToSQL(excelDataTabe As DataTable)
  Dim ConnectionString As String = "Data Source=sqlServer;Initial Catalog=HUB;User ID=USENAME;Password=PASSWORD providerName=System.Data.SqlClient"
  Dim sql As String = ""
  Dim dbConn As SqlConnection
  dbConn = New SqlConnection(ConnectionString)
  dbConn.Open()

  For Each row In excelDataTabe.Rows
   
  'F1 and F2 just happen to be the column names that we got from excel. This can be seen in the Datagrid that is on the form
  SQL = "INSERT INTO TABLE VALUES('" & row.Item("F1") & "')"
  Dim sqlcommand As SqlCommand = New SqlCommand(SQL, dbConn)
  sqlcommand.CommandText = SQL
  sqlcommand.ExecuteNonQuery()

   
  Next
  dbConn.Close()
  End Sub
End Class
 
This was something I came up with when I had to update a table from a spreadsheet.



This does not take into account of parameterizing your inputs or sanitizing them. This was just a quick and dirty way of importing data from a spreadsheet to a SQL database
I dumped the data into a table originally so I could get the column names. In my case they were F1 and F2
excelDataTable.png


Code:
Imports System.Data.OleDb
Imports System.Data.SqlClient
Public Class frm_Main


  Private Sub frm_Main_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  Dim excelDataTable As New DataTable
  excelDataTable = ImportExcelToDataTable("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=.\spread.xls;Extended Properties=""Excel 12.0;HDR=No;IMEX=1""")
  grdview_Excel.DataSource = excelDataTable




  End Sub

  Private Function ImportExcelToDataTable(excelConnString As String) As DataTable
  ImportExcelToDataTable = New DataTable
  Dim excelConn As OleDbConnection = New OleDbConnection(excelConnString)
  Dim oldbDataAdaptor As OleDbDataAdapter = New OleDbDataAdapter("SELECT * FROM [Sheet1$]", excelConn)

  excelConn.Open()
  oldbDataAdaptor.Fill(ImportExcelToDataTable)
  excelConn.Close()

  End Function

  Private Sub importDataToSQL(excelDataTabe As DataTable)
  Dim ConnectionString As String = "Data Source=sqlServer;Initial Catalog=HUB;User ID=USENAME;Password=PASSWORD providerName=System.Data.SqlClient"
  Dim sql As String = ""
  Dim dbConn As SqlConnection
  dbConn = New SqlConnection(ConnectionString)
  dbConn.Open()

  For Each row In excelDataTabe.Rows
  
  'F1 and F2 just happen to be the column names that we got from excel. This can be seen in the Datagrid that is on the form
  SQL = "INSERT INTO TABLE VALUES('" & row.Item("F1") & "')"
  Dim sqlcommand As SqlCommand = New SqlCommand(SQL, dbConn)
  sqlcommand.CommandText = SQL
  sqlcommand.ExecuteNonQuery()

  
  Next
  dbConn.Close()
  End Sub
End Class
What can i exactly do with this?
 
This was something I came up with when I had to update a table from a spreadsheet.



This does not take into account of parameterizing your inputs or sanitizing them. This was just a quick and dirty way of importing data from a spreadsheet to a SQL database
I dumped the data into a table originally so I could get the column names. In my case they were F1 and F2
excelDataTable.png


Code:
Imports System.Data.OleDb
Imports System.Data.SqlClient
Public Class frm_Main


  Private Sub frm_Main_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  Dim excelDataTable As New DataTable
  excelDataTable = ImportExcelToDataTable("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=.\spread.xls;Extended Properties=""Excel 12.0;HDR=No;IMEX=1""")
  grdview_Excel.DataSource = excelDataTable




  End Sub

  Private Function ImportExcelToDataTable(excelConnString As String) As DataTable
  ImportExcelToDataTable = New DataTable
  Dim excelConn As OleDbConnection = New OleDbConnection(excelConnString)
  Dim oldbDataAdaptor As OleDbDataAdapter = New OleDbDataAdapter("SELECT * FROM [Sheet1$]", excelConn)

  excelConn.Open()
  oldbDataAdaptor.Fill(ImportExcelToDataTable)
  excelConn.Close()

  End Function

  Private Sub importDataToSQL(excelDataTabe As DataTable)
  Dim ConnectionString As String = "Data Source=sqlServer;Initial Catalog=HUB;User ID=USENAME;Password=PASSWORD providerName=System.Data.SqlClient"
  Dim sql As String = ""
  Dim dbConn As SqlConnection
  dbConn = New SqlConnection(ConnectionString)
  dbConn.Open()

  For Each row In excelDataTabe.Rows
  
  'F1 and F2 just happen to be the column names that we got from excel. This can be seen in the Datagrid that is on the form
  SQL = "INSERT INTO TABLE VALUES('" & row.Item("F1") & "')"
  Dim sqlcommand As SqlCommand = New SqlCommand(SQL, dbConn)
  sqlcommand.CommandText = SQL
  sqlcommand.ExecuteNonQuery()

  
  Next
  dbConn.Close()
  End Sub
End Class
Nice post very helpful.
 
What can i exactly do with this?
This does not take into account of parameterizing your inputs or sanitizing them. This was just a quick and dirty way of importing data from a spreadsheet to a SQL database
Already stated what it is for. Maybe not a good example but let's say you just created a new database and had some data already and you wanted a quick way to import it. Well this could be that solution.
 
Already stated what it is for. Maybe not a good example but let's say you just created a new database and had some data already and you wanted a quick way to import it. Well this could be that solution.
oh ok, i get it now :p, i just needed it noob terms :okay:
 
General chit-chat
Help Users
  • Chat Bot:
    QM|T_JinX has joined the room.
  • Chat Bot:
    Keonhacai5vip11 is our newest member. Welcome!
  • Chat Bot:
    smoore99 is our newest member. Welcome!
  • Chat Bot:
    Pagliosa is our newest member. Welcome!
  • Chat Bot:
    QM|T_JinX has joined the room.
  • Chat Bot:
    prototypefox is our newest member. Welcome!
  • Chat Bot:
    maogege is our newest member. Welcome!
  • Chat Bot:
    ShadowPsy974 is our newest member. Welcome!
  • Chat Bot:
    Ghost8099 is our newest member. Welcome!
  • @ Ghost8099:
    Yurrrrrr
  • @ Ghost8099:
    Can we get a new link here brotha
  • Chat Bot:
    Mason Fo has left the room.
  • Chat Bot:
    QM|T_JinX has joined the room.
  • Chat Bot:
    wzxcvcv is our newest member. Welcome!
  • Chat Bot:
    cnood is our newest member. Welcome!
  • Chat Bot:
    zoumar is our newest member. Welcome!
  • Chat Bot:
    bestsmmlike is our newest member. Welcome!
  • Chat Bot:
    josuelton silva is our newest member. Welcome!
  • Chat Bot:
    josuelton silva has posted a new reply in the thread "Console ID #8671".
  • Chat Bot:
    ideasforlifetv is our newest member. Welcome!
  • Chat Bot:
    QM|T_JinX has joined the room.
  • Chat Bot:
    Christo has joined the room.
  • Chat Bot:
    QM|T_JinX has joined the room.
  • Chat Bot:
    MATthewN is our newest member. Welcome!
      Chat Bot: MATthewN is our newest member. Welcome!
      Back
      Top