Télécharger ang ADO : Lire un fichier "excel sans excel"

VBS
Avatar de bbil
Responsable Visual Basic
Mise à jour le : 15/01/2011  ·   Licence : Gratuit  ·   Téléchargé 326 fois   ·   2 Ko  +
Présentation
Suite à une question sur le forum VBScript,

un code permettant la lecture d'une feuille excel, organisée en table ( 1° ligne = entête, et les autre lignes données)

ce code utilise Microsoft.Jet, et permet d'afficher le contenu d'une feuille d'un classeur Excel version 2000...

vous pourrez vous inspirer de l'article :
Lire et écrire dans les classeurs fermés
pour par exemple l'adapter à d'autre versions d'excel...

Téléchargement :
Compatibilité :
Windows  






		
  1. Option Explicit
  2. Dim strConnection, oConn, oRst
  3. Dim iCol
  4. Dim stLg
  5. Dim stFicExcel
  6. Const adOpenStatic = 3
  7. Set oConn = CreateObject("ADODB.Connection")
  8. If Not ADO_OuvreClasseurExcel( oConn, "D:\tmp\liste.xls") then
  9. msgBox "Erreur ouverture classeur"
  10. Wscript.Quit
  11. else
  12. Wscript.Echo "classeur ouvert"
  13. end if
  14.  
  15. set oRst = CreateObject("ADODB.Recordset")
  16. If Not ADO_rstFeuille(oConn,oRst,"feuille1") then
  17. msgBox "Erreur ouverture feuille"
  18. Wscript.Quit
  19. else
  20. Wscript.Echo "feuille ouverte"
  21. end if
  22.  
  23.  
  24. if oRst.fields.count > 0 then
  25. 'Affiche ent?te ( dans le cas ou la premi?re ligne contient bien les ent?te"
  26. Wscript.Echo "-----------------------------------------------------------------------------------------------------"
  27. stLg = ""
  28. For iCol = 0 To oRst.Fields.Count - 1
  29. stLg = stLg & oRst.Fields(iCol).Name & vbTab ' rempalcer vbTab par ";" pour un fichier csv...
  30. Next
  31. Wscript.Echo stLg
  32. 'affiche les lignes
  33. While not oRst.EOF
  34. stLg = ""
  35. For iCol = 0 To oRst.Fields.Count - 1
  36. stLg = stLg & oRst.Fields(iCol).value & vbTab ' rempalcer vbTab par ";" pour un fichier csv...
  37. Next
  38. Wscript.Echo stLg
  39. oRst.MoveNext
  40. Wend
  41.  
  42. else
  43. msgBox "table introuvable"
  44. end if
  45.  
  46. ' Fonction ADO d'ouverture classeur Excel
  47. '
  48. Function ADO_OuvreClasseurExcel ( mConn, stFichier) ' as booelan
  49. Dim strConnection
  50. On Error resume next
  51. mConn.Provider = "Microsoft.Jet.OLEDB.4.0"
  52. strConnection = "Data Source=" & stFichier & ";Extended Properties=Excel 8.0;" 'A voir rajout s?lection version
  53. mConn.ConnectionString = strConnection
  54. mConn.open
  55. if Err.Number = 0 then
  56. ADO_OuvreClasseurExcel = true
  57. else
  58. Wscript.Echo "[ADO_OuvreClasseurExcel] : Erreur, ouverture fichier " & stFichier & " n? " & Err.Number & vbCrlf & Err.Description
  59. ADO_OuvreClasseurExcel = false
  60. end if
  61. End function
  62. '
  63. ' OuvreFeuille
  64. '
  65. Function ADO_rstFeuille (byRef mConn,byRef mRst, stFeuille )
  66.  
  67. mRst.Open "SELECT * FROM [" & stFeuille & "$]", mConn, adOpenStatic
  68.  
  69.  
  70. if Err.Number = 0 then
  71. ADO_rstFeuille = true
  72. else
  73. Wscript.Echo "[ADO_rstFeuille] : Erreur, ouverture feuille " & stFeuille & " n? " & Err.Number & vbCrlf & Err.Description
  74. ADO_rstFeuille = false
  75. end if
  76. end function
  77.  


Poster une réponse Retrouver la discussion sur le forum

Avatar de ThierryAIM ThierryAIM
Responsable Visual Basic
le 15/01/2011
tu l'as testé sur une machine qui n'a pas Excel ?
Avatar de bbil bbil
Responsable Visual Basic
le 15/01/2011
j'ai pas excel sur ma machine
Avatar de ThierryAIM ThierryAIM
Responsable Visual Basic
le 15/01/2011
Dans ce cas, OK.
J'avais un doute, mais pas possible de tester, j'ai Excel partout


Developpez.com décline toute responsabilité quant à l'utilisation des différents éléments téléchargés.

Connexion

Identifiant
Mot de passe
S'inscrireMot de passe oublié ?
 
 
 
 
Partenaires

Hébergement Web