Hallo,
kennt jemand ein Tool, möglichst kostenfrei, das eine Excel-Tabelle in eine HTML-Tabelle konvertiert. Und das möglichst ohne Formatierung. Der direkte Export aus Excel überzeugt da wohl nicht.
Vielen Dank,
ujk
Hallo,
kennt jemand ein Tool, möglichst kostenfrei, das eine Excel-Tabelle in eine HTML-Tabelle konvertiert. Und das möglichst ohne Formatierung. Der direkte Export aus Excel überzeugt da wohl nicht.
Vielen Dank,
ujk
was passt daran denn nicht?
Der direkte Export aus Excel
überzeugt da wohl nicht.
vielleicht geht das was Du willst/brauchst ja auch einfach nicht mit html?
Also was brauchts, was Excel nicht macht?
Hallo ujk,
das steht zZ ein paar Bretter weiter unten. http://www.haserodt.de/ejh_do/ex_jean_info.php
Für einen freiwilligen Beitrag bekommst Du die Registriernummer.
Oliver
Hallo ihr beiden
Hallo,
danke für die Antworten, aber es geht um folgendes:
Wir haben hier einen Internetauftritt, der zur Zeit barrierefrei gemacht wird. Dadurch sind im HTML Layouttabellen verboten, Datentabellen aber weiterhin erlaubt, wenn sie bestimmten Vorgaben entsprechen.
Anstatt jede Tabelle händisch in meinen HTML-Editor einzugeben, dachte ich daran, Tabellen, die ich im Excel-Format bekomme, nach HTML zu wandeln, einige Anpassungen vorzunehmen und in unser ContentManagementSystem einzufügen. Wenn ich bei jeder Tabelle aber viel überflüssigen Code entfernen muß, ist es einfacher, die Tabelle direkt einzugeben. Ich brauche nur die -, - und -Tags mit Inhalt, aber ohne Attribute.
Ich schaue mal, ob ich das in VBA in Excel hinbekomme: Bereich markieren, Zelle für Zelle und Reihe für Reihe auslesen und mit HTML zusammen in einen String schreiben und den zum Schluß in die Zwischenablage kopieren. VBA kenn ich schon von Access und wenn ich nicht weiter weiss, weiss ich ja, wo ich Hilfe bekomme. 
Danke,
ujk
Sub makehtmltable()
Dim ret As String
all = Selection.Address
ret = "
"
lastline = 0
For Each cell In Range(all)
thisline = cell.Row
If Not lastline = thisline Then
If Not lastline = 0 Then ret = ret & „“
ret = ret & „“
End If
lastline = thisline
content = cell.Value
If content = „“ Then content = " "
ret = ret & „“ & content & „“
Next cell
ret = ret & „“
ausgabe = Application.InputBox(„Dein HTML-Code“, , ret)
End Sub
Anwendung: Bereich markieren - Makro starten. Ausgabe in der Inputbox kopieren und beliebig einfügen…
Hallo und besten Dank!
Ich hatte inzwischen auch schon was zusammen gebastelt:
Sub test()
Dim stAusgabe As String
Dim stName As String
Dim intLänge As Integer
Dim intZeilen As Integer
Dim intSpalten As Integer
Dim intZähler1 As Integer
Dim intZähler2 As Integer
stName = ActiveWorkbook.Name
intLänge = Len(stName)
stName = Left$(stName, (intLänge - 4))
Worksheets("Tabelle1").Activate
intZeilen = Selection.Rows.Count
intSpalten = Selection.Columns.Count
stAusgabe = "[
" & vbCrLf
stAusgabe = stAusgabe & vbTab & „“ & stName & „“ & vbCrLf
stAusgabe = stAusgabe & vbTab & „“ & vbCrLf
stAusgabe = stAusgabe & vbTab & vbTab & „“ & vbCrLf
'Tabellenkopf ausgeben
For intZähler1 = 1 To 1
For intZähler2 = 1 To intSpalten
stAusgabe = stAusgabe & vbTab & vbTab & vbTab & „“ & Worksheets(„Tabelle1“).Cells(intZähler1, intZähler2) & „“ & vbCrLf
Next intZähler2
Next intZähler1
stAusgabe = stAusgabe & vbTab & vbTab & „“ & vbCrLf
stAusgabe = stAusgabe & vbTab & „“ & vbCrLf
stAusgabe = stAusgabe & vbTab & „“ & vbCrLf
'Tabellenkörper ausgeben
For intZähler1 = 2 To intZeilen
stAusgabe = stAusgabe & vbTab & vbTab & „“ & vbCrLf
For intZähler2 = 1 To intSpalten
stAusgabe = stAusgabe & vbTab & vbTab & vbTab & „“ & Worksheets(„Tabelle1“).Cells(intZähler1, intZähler2) & „“ & vbCrLf
Next intZähler2
stAusgabe = stAusgabe & vbTab & vbTab & „“ & vbCrLf
Next intZähler1
stAusgabe = stAusgabe & vbTab & „“ & vbCrLf
stAusgabe = stAusgabe & „]“ & vbCrLf
Call ClipBoard_SetData(stAusgabe)
stAusgabe = stAusgabe & vbCrLf & vbCrLf & „Der Text wurde in die Zwischenablage kopiert.“
MsgBox (stAusgabe)
End Sub
ClipBoard_SetData ist eine API-Funktion von MS zum in die Zwischenablage kopieren.
Ich werde meinen Code morgen anhand Deines Codes morgen optimieren.
Vielen Dank,
ujk
Kein Integer bei Zeilenzählern benutzen.
Hallo ujk,
Integer geht nur bis 32…, Zeilen aber bis 65536.
Deshalb Zeilenzähler als Long dimensionieren.
Gruß
Reinhard
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]