Bonjour je suis en train de travailler sur la copie d'un tableau Excel vers une database SQL dans un fichier mdf.
J'ai réussi à adapter un code qui copie copie bien les données.
Dans le fichier Excel, j'ai la ligne 1 qui sert de menu mais cela n'est pas gênant pour le fichier mdf, qui lui aussi a la premier ligne servant de menu.
La ligne 2 du fichier Excel correspond bien à la ligne 2 du fichier mdf.
Par contre, pour les colonnes j'ai un problème que je n'arrive pas à résoudre.
Le contenu de la colonne A du fichier Excel n’apparaît pas dans la première colonne du fichier mdf puis que celui-ci est remplacé par les numéros de ID.
Seul le titre indiqué dans la cellule A1 du fichier Excel va se placer dans la seconde colonne de la Database.
Au final j'ai donc un décalage entre les titres et le contenu des données dans la Database.
Quelqu'un pourrait-il me donner des explications ?
Merci d'avance.
Voici le code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33 Public Sub MajSP() Dim SPxls As New System.Data.OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source='" & Form1.TextBox1.Text & "';Extended Properties=""Excel 12.0 Xml;HDR=Yes""") SPxls.Open() Dim query_excel As String = "Select * from [SP$]" Dim cmd As OleDbCommand = New OleDbCommand(query_excel, SPxls) Dim rd As OleDbDataReader Dim SP As New SqlConnection() Dim SPDatabase As String = "Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=" & Application.StartupPath & "\List_B3.mdf;Integrated Security=True" SP.ConnectionString = SPDatabase SP.Open() Using bulkcopy As SqlBulkCopy = New SqlBulkCopy(SP) bulkcopy.DestinationTableName = "dbo.tb_SP" Try rd = cmd.ExecuteReader bulkcopy.WriteToServer(rd) rd.Close() SP.Close() MsgBox("Mise à jour de la SP réussie", MsgBoxStyle.Information, "SP") Form1.TextBox1.Text = "" Catch ex As Exception MsgBox("Mise à jour de la SP impossible") End Try End Using End Sub
Partager