Forum de discussion
Forum « Programmation ASP » (archives)
Re: importer du excel vers access via ASP
Envoyé: 7 janvier 2004, 7h00 par Oznog
Si tu débute tu va avoir beaucoup de dificulté, ce n'est pas quelque chose qui se fait en deux lignes de code.
On ne donne pas de solution complète ici, tu devra le faire étape par étape et revenir poser tes questions quand tu aura un problème. Tu n'a pas de problème pour l'instant.
Il y a plusieurs embuche, la première est que le document original (Excel) doit se retrouver sur le serveur pour cette manipulation, le ASP ne peut, ni même un autre langage serveur, maniupuler un document qui n,est pas sur le serveur (à moins d,être accessible via une adresse absolue, sur un autre serveur donc).
1. Pour déposer sur le serveur tu devra utiliser une composante comme "AspUpload" (http://www.aspupload.com/) j'aime bien "fileUp" (http://www.softartisans.com/)
2. Tu peux ensuite lire le document comme un simple document texte et extraire l'information mais c'est toute une affaire. Je te conseil plutôt de te connecter au document Excel avec ADO, et oui c'est possible (pour Excel 97 ou 2000) :
En VB
Dim oConn As New ADODB.Connection
With oConn
.Provider = "Microsoft.Jet.OLEDB.4.0"
.Properties("Extended Properties").Value = "Excel 8.0"
.Open "C:\cheminVersleDocument\SurleServeurBienSur\document.xls"
'....
.Close
End With
En ASP
Dim oConn As New ADODB.Connection
oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=C:\cheminVersleDocument\SurleServeurBienSur\document.xls;" & _
"Extended Properties=""Excel 8.0;"""
oConn.Close
Ensuite c'est sensiblement comme avec une base de données.
' [Sheet1$] c,Est le nom de la feuille.
oRS.Open "Select * from [Sheet1$]", oConn, adOpenStatic
' Avec une table
oRS.Open "Select * from Table1", oConn, adOpenStatic
' Pour une adresse spécifique
oRS.Open "Select * from [Sheet1$A1:B10]", oConn, adOpenStatic
3. Enfin, tu peuple ta base Access comme d'habitude avec les données. Dans la section ASP il y a l'information pour te connecter. Quand il ne restera plus que l'"update" tu reviendra poser la question.
Comme tu vois c'est plusieurs chose et j'ai passé sous silence beaucoup d'détail trop important pour expliquer dans un forum.
C'est des bénévole à ton service ici alors fait un petit effort s.t.p.
Ciao
Oznog
Réponses
|