0% ont trouvé ce document utile (0 vote)
11 vues3 pages

Transfert périodique Excel vers SQL Server

Ce programme démarre un thread pour transférer périodiquement les données d'un fichier Excel vers une base de données SQL Server. Il ouvre le classeur Excel, récupère les données ligne par ligne et les insère dans la base de données. Entre chaque transfert, il attend un intervalle de temps défini.

Transféré par

AGBOGBE William
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
11 vues3 pages

Transfert périodique Excel vers SQL Server

Ce programme démarre un thread pour transférer périodiquement les données d'un fichier Excel vers une base de données SQL Server. Il ouvre le classeur Excel, récupère les données ligne par ligne et les insère dans la base de données. Entre chaque transfert, il attend un intervalle de temps défini.

Transféré par

AGBOGBE William
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd

Imports [Link].

SqlClient

Imports [Link]

Imports [Link]

Public Class Form1

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles [Link]

' Démarrer un thread pour exécuter le transfert périodique

Dim thread As New Thread(AddressOf TransferData)

[Link]()

End Sub

Private Sub TransferData()

' Chemin d'accès du fichier Excel

Dim excelFilePath As String = "C:\Chemin\vers\votre\[Link]"

' Chaîne de connexion à la base de données SQL Server

Dim connectionString As String = "Data Source=VotreServeur;Initial


Catalog=VotreBaseDeDonnees;Integrated Security=True"

' Interval de temps entre chaque transfert (en millisecondes)

Dim transferInterval As Integer = 60000 ' 1 minute

' Boucle infinie pour transférer périodiquement les données

While True

Try

' Créer une application Excel

Dim excelApp As New Application()

' Ouvrir le classeur Excel

Dim workbook As Workbook = [Link](excelFilePath)

' Sélectionner la première feuille de calcul

Dim worksheet As Worksheet = [Link](1)


' Récupérer la dernière ligne utilisée dans la feuille de calcul

Dim lastRow As Integer = [Link]([Link]).Row

' Créer une connexion à la base de données SQL Server

Using connection As New SqlConnection(connectionString)

[Link]()

' Boucler à travers les lignes du fichier Excel et insérer dans la table SQL Server

For i As Integer = 2 To lastRow ' Commencer à la deuxième ligne pour éviter les en-têtes

Dim commandText As String = "INSERT INTO MaTable (Colonne1, Colonne2, Colonne3)


VALUES (@Value1, @Value2, @Value3)"

Dim command As New SqlCommand(commandText, connection)

[Link]("@Value1", [Link](i, 1).Value)

[Link]("@Value2", [Link](i, 2).Value)

[Link]("@Value3", [Link](i, 3).Value)

[Link]()

Next

End Using

' Fermer le classeur Excel et l'application Excel

[Link](False)

[Link]()

' Libérer les ressources COM

ReleaseComObject(worksheet)

ReleaseComObject(workbook)

ReleaseComObject(excelApp)

Catch ex As Exception

' Gérer les erreurs

[Link]("Erreur: " & [Link])

End Try
' Attendre avant le prochain transfert

[Link](transferInterval)

End While

End Sub

' Fonction pour libérer les ressources COM

Private Sub ReleaseComObject(ByVal obj As Object)

Try

If obj IsNot Nothing Then

[Link](obj)

obj = Nothing

End If

Catch ex As Exception

obj = Nothing

Finally

[Link]()

End Try

End Sub

End Class

Vous aimerez peut-être aussi