Des excel vers sql 05

Description

Ce petit code permet de tirer des enregistrement dans un classeur Excel et les enregistrer dans une base de donnée Sql 05. Il suffit d'avoir une base de donnee sql avec les meme champs que ceux de excel
(nombre).
avec [achats$] comme le nom de la feuille de ce classeur

Source / Exemple :


Imports System.Data.SqlClient

Public Class Form1
    Public filename As String
    Dim ds As New System.Data.DataSet()
    Private Sub FromExcel()

        Dim cm As New OleDb.OleDbConnection("provider=Microsoft.Jet.OLEDB.4.0;" & _
            "data source=" & filename & ";Extended Properties=""Excel 8.0;HDR=yes;"";")

        Dim SsEx As String = "select * from [achats$]"
        Dim sqlCom As New OleDb.OleDbCommand(SsEx, cm)

        cm.Open()
        Dim reader As OleDb.OleDbDataReader = sqlCom.ExecuteReader

        If reader.HasRows = True Then
            While reader.Read
                Dim newComTo As New SqlConnection("server=JONATHAN-PC;database=FromExcel;user id=sa;password=jonathan")

                Dim SS As String = "INSERT INTO Vente(Date,Bordereau,Devise,BILLET,Cours,CVenFRW,CLIENTVENDEUR,RNR)" & _
                                   "VALUES(@Date,@Bordereau,@Devise,@BILLET,@Cours,@CVenFRW,@CLINTVENDEUR,@RNR)"
                'Try
                Dim NewsqlComTo As New SqlCommand(SS, newComTo)
                With NewsqlComTo.Parameters
                    .Add("@Date", SqlDbType.NVarChar).Value = reader("Date").ToString
                    .Add("@Bordereau", SqlDbType.NVarChar).Value = reader("Bordereau").ToString
                    .Add("@Devise", SqlDbType.NVarChar).Value = reader("Devise").ToString
                    .Add("@BILLET", SqlDbType.Float).Value = reader("BILLET").ToString
                    .Add("@Cours", SqlDbType.Float).Value = reader("COURS").ToString
                    .Add("@CVenFRW", SqlDbType.Float).Value = reader("CVenFRW").ToString
                    .Add("@CLINTVENDEUR", SqlDbType.NVarChar).Value = reader("CLIENTVENDEUR").ToString
                    .Add("@RNR", SqlDbType.NVarChar).Value = reader("RNR").ToString
                End With

                Try
                    newComTo.Open()
                    NewsqlComTo.ExecuteNonQuery()
                Catch ex As Exception
                    MsgBox(ex.Message.ToString)
                    newComTo.Close()
                End Try

                newComTo.Close()
            End While
        End If
        filename = ""
        cm.Close()
    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        FromExcel()
    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        OpenFileDialog1.Title = "Select a File to Import"
        OpenFileDialog1.Multiselect = False
        OpenFileDialog1.Filter = "XLS format(*.xls)|*.xls"
        OpenFileDialog1.FilterIndex = 1
        OpenFileDialog1.FileName = ""
        OpenFileDialog1.ShowDialog()
        filename = OpenFileDialog1.FileName
        TextBox1.Text = OpenFileDialog1.FileName
    End Sub
End Class

Conclusion :


Merci à tous et bon codage.

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.