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.
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.