ASP.NET(vb.net) & Upload and Import CSV to Database - In this article we will example scripts ASP.NET how to upload CSV to server and import CSV to database.
ShotDev Focus:
- ASP.NET(vb.net) & Upload and Import CSV to Database
Example
AspNetUploadCsvToDatabase.aspx
<%@ Import Namespace="System.Data"%> <%@ Import Namespace="System.Data.OleDb"%> <%@ Page Language="VB" %> <script runat="server"> Sub btnUpload_OnClick(sender As Object, e As EventArgs) Dim strPath As String = "csv/" Dim dt As DataTable If Me.fiUpload.HasFile Then Me.fiUpload.SaveAs(Server.MapPath(strPath & fiUpload.FileName)) '*** Read CSV to DataTable ***' dt = CsvCreateDataTable(strPath,fiUpload.FileName) '*** Insert to Database ***' InsertToDatabase(dt) End IF End Sub '*** Convert CSV to DataTable ***' Function CsvCreateDataTable(ByVal strPath,ByVal strFilesName) As DataTable Dim objConn As New OleDbConnection Dim dtAdapter As OleDbDataAdapter Dim dt As New DataTable Dim strConnString As String strConnString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="&Server.MapPath(strPath) & _ ";Extended Properties='TEXT;HDR=Yes;FMT=Delimited;Format=Delimited(,)'" objConn = New OleDbConnection(strConnString) objConn.Open() Dim strSQL As String strSQL = "SELECT * FROM " & strFilesName dtAdapter = New OleDbDataAdapter(strSQL, objConn) dtAdapter.Fill(dt) dtAdapter = Nothing objConn.Close() objConn = Nothing Return dt '*** Return DataTable ***' End Function Function InsertToDatabase(ByVal dt) Dim objConn As System.Data.OleDb.OleDbConnection Dim objCmd As System.Data.OleDb.OleDbCommand Dim strConnString,strSQL As String Dim i As Integer strConnString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("database/mydatabase.mdb")&";" objConn = New System.Data.OleDb.OleDbConnection(strConnString) objConn.Open() '*** Loop Insert ***' For i = 0 To dt.Rows.Count - 1 Try strSQL = "INSERT INTO customer2 (CustomerID,Name,Email,CountryCode,Budget,Used) " & _ "VALUES ('"&dt.Rows(i)("CustomerID")&"','"&dt.Rows(i)("Name")&"','"&dt.Rows(i)("Email")&"'" & _ " ,'"&dt.Rows(i)("CountryCode")&"','"&dt.Rows(i)("Budget")&"','"&dt.Rows(i)("Used")&"')" objCmd = New System.Data.OleDb.OleDbCommand() With objCmd .Connection = objConn .CommandType = CommandType.Text .CommandText = strSQL End With objCmd.ExecuteNonQuery() Me.lblText.Text = Me.lblText.Text & "["&dt.Rows(i)("CustomerID")&"] Inserted <br>" Catch err As Exception Me.lblText.Text = Me.lblText.Text & "["&dt.Rows(i)("CustomerID")&"] Not Insert <br>" End Try Next objCmd = Nothing objConn.Close() objConn = Nothing End Function </script> <html> <head> <title>ShotDev.Com Tutorial</title> </head> <body> <form id="form1" runat="server"> <asp:FileUpload id="fiUpload" runat="server"></asp:FileUpload> <input id="btnUpload" type="button" OnServerClick="btnUpload_OnClick" value="Upload" runat="server" /> <hr /> <asp:Label id="lblText" runat="server"></asp:Label> </form> </body> </html>
Screenshot