VBS - CSV zu HTML
Im Auftrag eines langjährigen Browsergames Alliierten, die Aufgabenstellung war sehr simple: Kann man aus Excel HTML exportieren?
Excel bietet zwar einen Webseitenexport an, aber dieser war nicht angenehm und ist auch in meinen Augen für schnellen und einfachen Einbau in Webseiten nicht optimal, daher der Entschluss über CSV zu HTML zu wandeln, dabei gibt es 2 Dateien, eine Formatdatei und eine Inputdatei.
Die Formatdatei setzt das Format vor, das für die einzelnen Spalten verwendet werden soll, dabei wird auf VB.Net verzichtet und WShell verwendet. Dadurch kann man das Script jederzeit ohne Compiler bearbeiten und direkt ausführen. (Unter Windows).
Direkt zum
Download mit Beispieldateien ;)
Beispiel Unten: (Spitzklammern gegen {} getauscht wegen HTML)
Dim fso,Zeile,Spalte,i,wshell,j,k
Dim htmlOben, htmlUnten, DateiInput, DateiFormat, DateiOutput
Dim DateiInputInhalt, DateiFormatInhalt, DateiOutputInhalt
Dim DateiInputInhaltSplitvbcrlf, DateiFormatInhaltSplitSemi,DateiInputInhaltSplitSemi
htmlOben = "{!DOCTYPE HTML PUBLIC ""-//W3C//DTD HTML 4.01//EN""}" & vbcrlf & "{html}" & vbcrlf & "{head}" & _
vbcrlf & "{title}Lamda-T.de_-_CSV_to_HTML{/title}" & vbcrlf & "{/head}" & vbcrlf & "{body}" & _
vbcrlf & "{table width=""100%""}" & vbcrlf & "{tbody}"
htmlUnten = "{/tbody}" & vbcrlf & "{/table}" & vbcrlf & "{/body}" & vbcrlf & "{/html}"
DateiInput = "DateiInput.csv"
DateiFormat = "DateiFormat.csv"
DateiOutput = "DateiOutput.html"
on error resume next
set fso = CreateObject("Scripting.FileSystemObject")
if fso.fileExists(DateiInput) and fso.fileExists(DateiFormat) then
set DateiPuffer = fso.opentextfile(DateiFormat)
DateiFormatInhalt = DateiPuffer.readall
DateiPuffer.close
DateiFormatInhaltSplitSemi = Split(DateiFormatInhalt, ";")
set DateiPuffer = fso.opentextfile(DateiInput)
DateiInputInhalt = DateiPuffer.readall
DateiPuffer.close
DateiInputInhaltSplitvbcrlf = Split(DateiInputInhalt, Chr(10))
DateiOutputInhalt = htmlOben & vbcrlf
for j = 0 to Ubound(DateiInputInhaltSplitvbcrlf)
DateiInputInhaltSplitSemi = Split(DateiInputInhaltSplitvbcrlf(j), ";")
i = 0
DateiOutputInhalt = DateiOutputInhalt & "{tr}"
for k = 0 to Ubound(DateiFormatInhaltSplitSemi)
DateiOutputInhalt = DateiOutputInhalt & "{td}"
DateiOutputInhalt = DateiOutputInhalt &_
Replace(DateiFormatInhaltSplitSemi(k),"[X]",DateiInputInhaltSplitSemi(i))
i=i+1
DateiOutputInhalt = DateiOutputInhalt & "{/td}"
next
DateiOutputInhalt = DateiOutputInhalt & "{/tr}" & vbcrlf
next
DateiOutputInhalt = DateiOutputInhalt & htmlUnten
set DateiPuffer =fso.opentextfile(DateiOutput, 2, true,0)
DateiPuffer.writeline DateiOutputInhalt
DateiPuffer.close
set wshell = CreateObject("Wscript.shell")
wshell.run DateiOutput
set wshell = Nothing
set DateiPuffer = Nothing
else
msgbox("Dateien sind unvollständig")
end if
set fso = Nothing
Der Quellcode ist relativ einfach, viel Spass bei der Verwendung ;)