troy1: Daten aus Tabellendatei in xhtml einlesen

Hallo,

ich bin html-Anfänger, daher zerreisst mich bitte nicht gleich, wenn ich eine dumme Frage stelle.

Ich habe folgendes Problem bei meiner privaten Homepage:

Ca. 1 mal in der Woche möchte ich Daten aus 13 Tabellendateien mit je 10 Zeilen und 4 Spalten (Excel) in xhtml (1 Homepage mit 12 Unterseiten) einlesen (aktualisieren).

D.h. ca. 1 mal in der Woche ändert sich der Inhalt der Zellen in der Tabelle (die Anzahl der Spalten und Zeile bleibt gleich). Diese geänderten Daten möchte ich dann bald auch veröffentlichen. Ich will aber nicht alles händisch in xhtml eintragen, sondern das soll möglichst halbautomatisch gehen (ich mag halt keine unnötige Arbeit ;-))!

Dazu habe ich unter anderem das Kapitel "Datenanbindung" gelesen, bin aber jetzt erschlagen von den diversen Möglichkeiten, tendiere aber zu "Datei dynamisch in Tabelle einbinden" gemäß "Beispiel Teil 2 - HTML-Datei mit Datenzugriff" http://de.selfhtml.org/dhtml/modelle/datenanbindung.htm@title=Link.

Nun meine Frage:

Geht das damit?

Diese Lösung basiert auf Active-X-Controls. Sperre ich damit nicht einige Besucher aus oder kann das jeder Browser?

Nochmal sorry für die Anfänger-Frage, aber ich habe wirklich lange gegooglet.

Gruß - troy1.

  1. Hi,
    dein gelesener Artikel bezieht sich nur auf den IE.

    Ich würde es Serverseitig nutzen, mit PHP.
    Ob du Excel Dateien einlesen kannst das kann ich dir nicht sagne, aber du kannst die Datei auch als *.csv Abspeichern und dann einlesen, und verarbeiten.

  2. Hi,

    ich bin html-Anfänger, daher zerreisst mich bitte nicht gleich, wenn ich eine dumme Frage stelle.

    wir haben alle mal klein angefangen. :-)

    Ca. 1 mal in der Woche möchte ich Daten aus 13 Tabellendateien mit je 10 Zeilen und 4 Spalten (Excel) in xhtml (1 Homepage mit 12 Unterseiten) einlesen (aktualisieren).
    D.h. ca. 1 mal in der Woche ändert sich der Inhalt der Zellen in der Tabelle (die Anzahl der Spalten und Zeile bleibt gleich). Diese geänderten Daten möchte ich dann bald auch veröffentlichen. Ich will aber nicht alles händisch in xhtml eintragen, sondern das soll möglichst halbautomatisch gehen (ich mag halt keine unnötige Arbeit ;-))!

    Tja, wenn das halbwegs komfortabel und halbautomatisch geschehen soll, wirst du mit HTML allein nicht mehr weiterkommen. Dann brauchst du eine Scriptsprache, die auf dem Server ausgeführt wird und den Seiteninhalt dynamisch generiert.
    Die populärste ist wohl PHP. Damit ist es leicht möglich, CSV-Dateien zu lesen und eine HTML-Tabelle daraus zu generieren. Dann müsstest du deine Rohdaten aus Excel nur noch als CSV speichern und hochladen. Der nächste Besucher deiner Website sieht dann schon die aktuellen Daten.

    Dazu habe ich unter anderem das Kapitel "Datenanbindung" gelesen, bin aber jetzt erschlagen von den diversen Möglichkeiten, tendiere aber zu "Datei dynamisch in Tabelle einbinden" gemäß "Beispiel Teil 2 - HTML-Datei mit Datenzugriff" http://de.selfhtml.org/dhtml/modelle/datenanbindung.htm@title=Link.

    Keine gute Idee.

    Diese Lösung basiert auf Active-X-Controls. Sperre ich damit nicht einige Besucher aus oder kann das jeder Browser?

    Die von dir verlinkte Seite in SELFHTML erwähnt nicht umsonst gleich in der Überschrift: "Datenanbindung (nur Microsoft)". Ja, da wird ein ActiveX-Control verwendet, das nur der IE unterstützt, außerdem HTML-Attribute, die auch nur der IE kennt.
    Du beschränkst deinen Nutzerkreis damit nicht nur auf IE-User, sondern sogar auf solche, die die Ausführung von ActiveX auf Webseiten zulassen (wird aus Sicherheitsgründen oft gesperrt).

    Nochmal sorry für die Anfänger-Frage, aber ich habe wirklich lange gegooglet.

    Kein Wunder. Du willst mit HTML ein Problem lösen, das mit HTML nicht lösbar ist.

    So long,
     Martin

    --
    Niemand ist überflüssig: Er kann immer noch als schlechtes Beispiel dienen.
    1. Martin, danke für die rasenschnelle Antwort!

      Danke für die Erklärung zu den Active-X-Controls, die ich nun natürlich nicht verwenden werde!

      Aber zum Thema Tabellenaktualisierung habe ich nochmal eine Nachfrage.

      Tja, wenn das halbwegs komfortabel und halbautomatisch geschehen soll, wirst du mit HTML allein nicht mehr weiterkommen. Dann brauchst du eine Scriptsprache, die auf dem Server ausgeführt wird und den Seiteninhalt dynamisch generiert.
      Die populärste ist wohl PHP. Damit ist es leicht möglich, CSV-Dateien zu lesen und eine HTML-Tabelle daraus zu generieren. Dann müsstest du deine Rohdaten aus Excel nur noch als CSV speichern und hochladen. Der nächste Besucher deiner Website sieht dann schon die aktuellen Daten.

      Eigentlich würde ich gerne ohne PHP oder andere serverseitige Scriptsprachen auskommen (weil ich mich damit - noch - nicht auskenne!). Kann ich nicht stattdessen die geänderten Tabellendaten lokal ändern und dann die geänderte Site hochladen? Sorry wenn ich nicht locker lasse, aber ich suche noch nach einer - einfachen - Lösung.

      Gruß - troy1.

      1. Hallo,

        Tja, wenn das halbwegs komfortabel und halbautomatisch geschehen soll, wirst du mit HTML allein nicht mehr weiterkommen. Dann brauchst du eine Scriptsprache, die auf dem Server ausgeführt wird und den Seiteninhalt dynamisch generiert.
        Die populärste ist wohl PHP. Damit ist es leicht möglich, CSV-Dateien zu lesen und eine HTML-Tabelle daraus zu generieren. Dann müsstest du deine Rohdaten aus Excel nur noch als CSV speichern und hochladen. Der nächste Besucher deiner Website sieht dann schon die aktuellen Daten.
        Eigentlich würde ich gerne ohne PHP oder andere serverseitige Scriptsprachen auskommen (weil ich mich damit - noch - nicht auskenne!).

        naja, das Noch-Unwissen ließe sich ja sukzessive ausbessern. ;-)

        Kann ich nicht stattdessen die geänderten Tabellendaten lokal ändern und dann die geänderte Site hochladen?

        Hmm. Möglich, vielleicht. Wahrscheinlich.
        Ehrlich gesagt, ich verstehe nicht eindeutig, was du nun meinst.
        Soweit ich weiß, kann Excel eine Tabelle aber auch in HTML speichern. Naja, der erzeugte Quellcode ist grauenhaft und hat nur entfernte Ähnlichkeit mit HTML, aber das wäre eine Möglichkeit.
        Mit VBA in Excel kannst du natürlich auch die Tabelle in "sauberes" HTML exportieren und die so erzeugte Datei hochladen.

        Ob das einfach ist? Ansichtssache. Ansonsten präzisiere deine Vorstellungen doch mal mit ein, zwei Beispielen.

        So long,
         Martin

        --
        You say, it cannot be love if it isn't for ever.
        But let me tell you: Sometimes, a single scene can be more to remember than the whole play.
        1. Hallo Martin,

          naja, das Noch-Unwissen ließe sich ja sukzessive ausbessern. ;-)

          Ja, sicher. Nur kämpfe ich noch genug mit html :( und möchte auf eine neue Baustelle erstmal verzichten.

          Kann ich nicht stattdessen die geänderten Tabellendaten lokal ändern und dann die geänderte Site hochladen?

          Hmm. Möglich, vielleicht. Wahrscheinlich.
          Ehrlich gesagt, ich verstehe nicht eindeutig, was du nun meinst.
          Soweit ich weiß, kann Excel eine Tabelle aber auch in HTML speichern.
          Naja, der erzeugte Quellcode ist grauenhaft und hat nur entfernte Ähnlichkeit mit HTML, aber das wäre eine Möglichkeit.

          Hatte ich schon probiert, aber ich brauche höchstens 1 % des von Excel erzeugten Codes. Und ich müsste einen Weg finden, die relevanten Daten auszulesen. Daher habe ich diese Lösung nicht weiter verfolgt.

          Mit VBA in Excel kannst du natürlich auch die Tabelle in "sauberes" HTML exportieren und die so erzeugte Datei hochladen.

          Ob das einfach ist? Ansichtssache. Ansonsten präzisiere deine Vorstellungen doch mal mit ein, zwei Beispielen.

          Bei VBA beschränkt sich mein Wissensstand auf das gleiche Niveau wie bei PHP (0,00).

          Auch habe ich schon versucht, die Daten per Copy and Paste aus Excel in meinen Editor einzufügen, was jedoch an der dann zerschossenen Formatierung scheiterte.

          Aber hier mal ein Beispiel:

          Ich möchte 1 mal wöchentlich 13 CSV- oder TXT- oder WASAUCHIMMER-Dateien erstellen, z.B. die Dateien beispiel_1.csv bis beispiel_13.csv. Die Datei beispiel_1.csv sähe so aus:

          Zelle11;Zelle12;Zelle13;Zelle14;
          Zelle21;Zelle22;Zelle23;Zelle24;
          ...
          Zelle101;Zelle102;Zelle103;Zelle104;

          Aus dieser Datei soll sich die folgende html-Datei die Werte holen:

            
          	  <table>  
                        <td>hier soll der Wert von Zelle11 eingefügt werden</td>  
                        <td>hier soll der Wert von Zelle12 eingefügt werden</td>  
                        <td>hier soll der Wert von Zelle13 eingefügt werden</td>  
                        <td>hier soll der Wert von Zelle14 eingefügt werden</td>  
                      </tr>  
            
          ... jede Menge weitere Zellen ...  
            
                        <td>hier soll der Wert von Zelle101 eingefügt werden</td>  
                        <td>hier soll der Wert von Zelle102 eingefügt werden</td>  
                        <td>hier soll der Wert von Zelle103 eingefügt werden</td>  
                        <td>hier soll der Wert von Zelle104 eingefügt werden</td>  
                      </tr>  
                    </table  
          
          

          So, ich hoffe ich habe mich verständlich genug ausgedrückt.

          Gruß - Frank.

          1. Hallo Frank,

            naja, das Noch-Unwissen ließe sich ja sukzessive ausbessern. ;-)
            Ja, sicher. Nur kämpfe ich noch genug mit html :( und möchte auf eine neue Baustelle erstmal verzichten.

            okay, verstehe.

            Soweit ich weiß, kann Excel eine Tabelle aber auch in HTML speichern.
            Naja, der erzeugte Quellcode ist grauenhaft und hat nur entfernte Ähnlichkeit mit HTML, aber das wäre eine Möglichkeit.
            Hatte ich schon probiert, aber ich brauche höchstens 1 % des von Excel erzeugten Codes.

            Ja, das meinte ich unter anderem mit "grauenhaft".

            Bei VBA beschränkt sich mein Wissensstand auf das gleiche Niveau wie bei PHP (0,00).

            Also legen wir das auch mal beiseite.

            Auch habe ich schon versucht, die Daten per Copy and Paste aus Excel in meinen Editor einzufügen, was jedoch an der dann zerschossenen Formatierung scheiterte.

            Naja, Excel bildet in so einem Fall die Tabelle durch eine Primitiv-Formatierung mit Leerzeichen nach, wenn ich mich recht erinnere.

            Aber hier mal ein Beispiel:
            [...]
            So, ich hoffe ich habe mich verständlich genug ausgedrückt.

            Durchaus, ja. Aber ich merke schon: Wie man sich auch dreht, der A**** bleibt immer hinten. In diesem Fall: Du willst eine Textdatei (ich bezeichne der Einfachheit halber sowohl CSV als auch HTML mal als Text) von einer Form in eine andere transformieren. Da du das aus verständlichen Gründen nicht von Hand machen möchtest, brauchst du an irgendeiner Stelle etwas "Intelligentes", also irgendeine Programmiersprache, Scriptsprache, whatever. Vielleicht hast du sogar einen Editor, der benutzerdefinierte Macros bietet? Denn aus

            Zelle11;Zelle12;Zelle13;Zelle14;
               Zelle21;Zelle22;Zelle23;Zelle24;
               ...
               Zelle101;Zelle102;Zelle103;Zelle104;

            kann man durch eine Folge von Search&Replace-Operationen einfach die HTML-Darstellung machen:
            1. Ersetze alle Vorkommen von ";\n" durch "</td></tr>\n<tr><td>"
            2. Ersetze alle Vorkommen von ";"   durch "</td><td>"
            3. Füge "<table>\n<tr>\n<td> am Dateianfang ein
            4. Ersetze das letzte "<tr><td>" am Dateiende durch "</table>"

            Mit einem pfiffigen Editor wären das also zweimal S&R übers gesamte Dokument, und zwei explizite Änderungen. Das als Macro hinterlegt ...

            Nochmal: Irgendwo muss ein Automatismus rein. Ohne den geht's nicht. In irgendeinen sauren Apfel musst du also wohl beißen.

            So long,
             Martin

            --
            F: Was ist schlimmer: Alzheimer oder Parkinson?
            A: Parkinson. Lieber mal ein Bier vergessen zu zahlen, als eins verschütten.
            1. Hallo ihr beiden,

              wie wäre es wenn man sich statt mit Excel einfach viel mehr mit HTML beschäftigt?
              Irgendwie kommen die Daten ja in die Excel-Tabelle. Wie wär es wenn man dort ansetzt?
              Stattdessen kann man die Daten doch gleich in eine HTML-Datei schreiben.
              Automatisch oder per Hand und zur Not mit einem WYSIWYG-Editor.

              Ich versteh das Problem irgendwie nicht.
              Klärt mich doch bitte auf wenn ich was überlesen habe!

              Grüße, Matze

              1. Hallo Matze,

                Irgendwie kommen die Daten ja in die Excel-Tabelle. Wie wär es wenn man dort ansetzt?
                Stattdessen kann man die Daten doch gleich in eine HTML-Datei schreiben.
                Automatisch oder per Hand und zur Not mit einem WYSIWYG-Editor.

                Ich versteh das Problem irgendwie nicht.
                Klärt mich doch bitte auf wenn ich was überlesen habe!

                Aaaaalso, die Sache fängt an mit einer umfangreichen Excel-Tabelle (200 Zeilen, 100 Spalten, Tendenz steigend), aus der ich eine Ergebnistabelle mit 10 x 4 Zellen erstellen lasse. Aus letzterer sollen dann die 40 Werte in mein html-Dokument eingelesen werden. Und das ganze dann jeweils nochmal für die 12 Unterseiten. Ist also ein großer Datenwust, den ich kompakt auf der Website darstellen möchte.

                Hoffe jetzt ists klarer?

                Gruß - Frank.

                1. Hallo,

                  Hoffe jetzt ists klarer?

                  jap, danke!

                  Grüße, Matze

            2. Hallo Martin,

              kann man durch eine Folge von Search&Replace-Operationen einfach die HTML-Darstellung machen:

              1. Ersetze alle Vorkommen von ";\n" durch "</td></tr>\n<tr><td>"
              2. Ersetze alle Vorkommen von ";"   durch "</td><td>"
              3. Füge "<table>\n<tr>\n<td> am Dateianfang ein
              4. Ersetze das letzte "<tr><td>" am Dateiende durch "</table>"

              Mit einem pfiffigen Editor wären das also zweimal S&R übers gesamte Dokument, und zwei explizite Änderungen. Das als Macro hinterlegt ...

              Interessanter Ansatz, werde ich mal weiter verfolgen, danke! Habe jedenfalls durch deine Antworten schon mehr gelernt als durch einen halben Tag googlen (was aber nicht unbedingt an Google liegen muss ;-) ).

              Vielen Dank und Gruß - Frank.

            3. @@Der Martin:

              nuqneH

              kann man durch eine Folge von Search&Replace-Operationen einfach die HTML-Darstellung machen:

              1. Ersetze alle Vorkommen von ";\n" durch "</td></tr>\n<tr><td>"
              2. Ersetze alle Vorkommen von ";"   durch "</td><td>"
              3. Füge "<table>\n<tr>\n<td> am Dateianfang ein
              4. Ersetze das letzte "<tr><td>" am Dateiende durch "</table>"

              Und genau das könnte man auch von PHP erledigen lassen.

              Qapla'

              --
              Alle Menschen sind klug. Die einen vorher, die anderen nachher. (John Steinbeck)
              1. Hallo.

                Und genau das könnte man auch von PHP erledigen lassen.

                Ich finde den Ansatz, sich erst dann mit weiterführenden Techniken zu befassen, wenn man mit den grundlegenden hinreichend vertraut ist, eigentlich lobenswert. Wegen einer solchen Kleinigkeit die Sicherheitsaspekte serverseitiger Programmierung durchzuarbeiten, halte ich jedenfalls für nicht pragmatisch.
                MfG, at

      2. Hallo.

        Martin, danke für die rasenschnelle Antwort!

        Ja, der ist manchmal wirklich so schnell wie Gras wächst.
        MfG, at