Insertion de données excel dans une table

Insertion de données excel dans une table - SQL/NoSQL - Programmation

Marsh Posté le 17-12-2005 à 19:22:04    

Hello,
 
Je voudrais ajouter des données à mes tables fraichement créées, à partir de données EXCEL.
C'est-a-dire que j'ai les données stockées sous excel mais que je veux automatiser leur insertion grace à des ordres SQL.
 
Qqun peut m'éclairer ? :)

Reply

Marsh Posté le 17-12-2005 à 19:22:04   

Reply

Marsh Posté le 17-12-2005 à 20:33:05    

C'est quoi la base de données ?

Reply

Marsh Posté le 17-12-2005 à 22:15:18    

mrbebert a écrit :

C'est quoi la base de données ?


Base de donnée oracle 10g pardon :)

Reply

Marsh Posté le 17-12-2005 à 23:30:36    

Je connais pas.
Mais il peut peut être lire des fichiers "texte". Excel est capable d'enregistrer au format ".csv", c'est à dire des champs séparés par un ";" et des enregistrements par un retour à la ligne "\r\n".
Il y a peut être moyen de passer par là [:figti]

Reply

Marsh Posté le 18-12-2005 à 20:38:27    

j'vais rechercher de ce coté, merci :)

Reply

Marsh Posté le 19-12-2005 à 16:33:43    

Une petite macro, un pont OLE DB ou ODBC, et vas-y ma poule, tu parcourres les cellules de ton fichier Excel pour générer la requête d'insertion.
 
Propre, rapide et efficace.

Reply

Marsh Posté le 21-12-2005 à 17:40:30    

Arjuna a écrit :

Une petite macro, un pont OLE DB ou ODBC, et vas-y ma poule, tu parcourres les cellules de ton fichier Excel pour générer la requête d'insertion.
 
Propre, rapide et efficace.


tu m'explique ? :D

Reply

Marsh Posté le 21-12-2005 à 20:08:43    

Se connecter à une base de données depuis Excel :
 
-> Référence : Ajouter "Microsoft Data Access Compononents dernière version"
 

Code :
  1. Option Explicit
  2. Dim cnx as ADODB.Connection
  3. Dim rs as ADODB.RecordSet
  4. Set cnx = New ADODB.Connection
  5. cnx.Open(cnxstring) ' Fait une recherche sur "OLEDB DSN-LESS ORACLE" dans google
  6. ' Insertion de lignes dans une table (on peut faire aussi des update et des delete via cette méthode)
  7. cnx.Execute "insert into pouet (toto) values ('la vie est belle')"
  8. cnx.Execute "insert into pouet (toto) values ('Excel c''est génial')"
  9. ' Lecture de données dans la base
  10. Set rs.ActiveConnection = cnx
  11. rs.Open("select toto from pouet" )
  12. Do While Not rs.EOF
  13.     MsgBox(rs("toto" ))
  14.     rs.MoveNext
  15. Loop
  16. rs.Close
  17. Set rs = Nothing
  18. cnx.Close
  19. Set cnx = Nothing


 
Se balader dans la feuille Excel et écrire/récupérer les données :
 

Code :
  1. Option Explicit
  2. Public Sub Macro1()
  3.     Dim i As Integer
  4.     Dim j As Integer
  5.    
  6.     For i = 1 To 4
  7.         For j = 1 To 4
  8.             ActiveSheet.Cells(i, j).Value = CStr(i + j)
  9.             If i = 1 Then
  10.                 ActiveSheet.Cells(5, j).Formula = "=SUM(R1C" & j & ":R4C" & j & " )"
  11.             End If
  12.         Next
  13.         ActiveSheet.Cells(i, 5).Formula = "=SUM(R" & i & "C1:R" & i & "C4)"
  14.     Next
  15.     ActiveSheet.Cells(5, 5).Formula = "=AVERAGE(R1C1:R4C4)"
  16.     MsgBox (ActiveSheet.Cells(5, 5).Formula & " = " & CStr(ActiveSheet.Cells(5, 5).Value))
  17. End Sub

Reply

Marsh Posté le 21-12-2005 à 20:09:12    

Pas terrible le nouvel analyser de code du forum :D

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed