[VBS] Lire un fichier excel

Lire un fichier excel [VBS] - VB/VBA/VBS - Programmation

Marsh Posté le 17-03-2010 à 17:43:51    

Bonjour
 
Je travaille actuellement sur la réalisation d'un script qui genere un fichier html contenant un tableau à partir d'une feuille excel .xls .
 
J'ai produit ce code :
 
 

Dim xlsFile, filePath, strPage
 
Const ForWriting = 2
 
xlsFile = "monplaning.xls"
filePath = Replace(WScript.ScriptFullName, WScript.ScriptName, "" )
 
Set conn = Wscript.CreateObject("ADODB.Connection" )
Set rs = Wscript.CreateObject("ADODB.Recordset" )
 
str = "Driver={Microsoft Excel Driver (*.xls)}; DBQ=" & filePath  & xlsFile
conn.Open str
 
sNameSheet = "Feuil1"
sCells = "A1:H3"
 
SQL = "SELECT * from `" & sNameSheet & "$" & sCells & "`"
rs.Open SQL, conn
 
strPage = "<html>" & vbCrLf & _
    "    <head>" & vbCrLf & _
    "        <title>Planing 2010</title>" & vbCrLf & _
    "        <style type=""text/css"">" & vbCrLf & _
    "            table { border: 1px solid black; border-collapse:collapse; }" & vbCrLf & _
    "            td { border: 1px solid black; width: 30px; text-align: center; }" & vbCrLf & _
    "        </style>" & vbCrLf & _
    "    </head>" & vbCrLf & _
    "    <body>" & vbCrLf & _
    "        <table>" & vbCrLf
 
do while not rs.eof
    strPage = strPage & "            <tr>" & vbCrLf
    for each field in rs.fields
        If IsNull(field.value) Then
            strPage = strPage & "                <td></td>" & vbCrLf
        Else
            strPage = strPage & "                <td>" & field & "</td>" & vbCrLf
        End If
    next
    strPage = strPage & "            </tr>" & vbCrLf
    rs.moveNext()
loop
strPage = strPage & "        </table>" & vbCrLf
strPage = strPage & "    </body>" & vbCrLf
strPage = strPage & "</html>" & vbCrLf
 
Set fso = CreateObject("Scripting.FileSystemObject" )
Set f = fso.OpenTextFile(PATH & "index.html", ForWriting, true)
f.write(strPage)
 
rs.close
conn.close
f.close
set rs=nothing
set conn=nothing


 
 
Si on test mon code avec la feuille excel ci dessous :
http://img138.imageshack.us/img138/1222/bugado.jpg
 
On arrive à un resultat comme celui la :
http://img146.imageshack.us/img146/6076/bugado2.jpg
 
On s'aperçoit que seul les colonnes avec les cellules de même type (text ou entier) s'affichent.
 
Exist-il un remede contre ce probleme ?
 
Merci d'avance pour vos réponses.


---------------
Une femme c'est temporaire - une ex c'est pour la vie.
Reply

Marsh Posté le 17-03-2010 à 17:43:51   

Reply

Sujets relatifs:

Leave a Replay

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