Live-Forum - Die aktuellen Beiträge
Datum
Titel
03.10.2025 22:18:19
03.10.2025 18:57:58
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Daten von Excel in PHP-Formular übernehmen

Forumthread: Daten von Excel in PHP-Formular übernehmen

Daten von Excel in PHP-Formular übernehmen
08.01.2008 16:15:27
Excel
Hallo,
kann jemand helfen bzw. einen Hinweis geben, ob und wie folgendes Problem gelöst werden könnte, wenn es denn gehen sollte.
Ausgangspunkt: es gibt eine Excel-Datei in der befinden sich Daten in Form einer Tabelle. Weiterhin gibt es eine Internetplattform auf der sich ein PHP-Formular befindet welches die in den Formular befindlichen Daten in einer SQL-DB speichert. Nun möchte ich gern die Daten aus dem Excel-Formular in dieses PHP-Formular einlesen lassen. Geht dieses?
Webabfrage ist mir bekann, funktioniert von Web nach Excel, aber ich hätte es gern umgekehrt, wie gesagt, gehe so etwas?
Wo kann man da etwas nachlesen?
Vielen Dank
T.

Anzeige

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Daten von Excel in PHP-Formular übernehmen
08.01.2008 19:25:40
Excel
Hallo,
alles geht. Es gibt verschiedene Möglichkeiten. Du könntest die Daten direkt zum Script senden (z.B. wenn es Daten erwartet, die mit der GET Methode übermittelt werden) oder die Daten durch das Makro direkt in die Webseite eingeben lassen. Dazu muß die Seite aber in einem Browser (im Excel- Formular oder extern) geöffnet sein. Beschreibe mal ein bischen näher, ggf. auch mit Link zur Webseite.
Gruß- Micha
PS: Rückmeldung wäre nett

Anzeige
AW: Daten von Excel in PHP-Formular übernehmen
08.01.2008 20:48:22
Excel
Hallo Micha,
das Thema interessiert mich auch.
Mit der get-Methode müssten die ÜbergabeVariablennamen bekannt sein; es darf nicht mit sessions gearbeitet werden und es kann wahrscheinlich immer nur eine Zeile aus der Tabelle gesendet werden.
Du denkst doch an so was oder?
"http://meinServer.php?var1=123&b=345&c=Mama&variablexx=huhu"
Und eine HTML-Form mit einem VBA-Makro füllen zu lassen und abzusenden ist mir auch noch nicht gelungen. (POST-Methode). Hatte dazu mal eine aufwendige Anwendung außerhalb VBA geschrieben, die mit SendKey und SendMouse arbeitete.
Oder gibt es bestimmte Voraussetzungen oder Kniffe hierfür?
PS: In den PHP und HTML-Foren wird von den Forenmitgliedern immer die "Sicherheitslücke" angeführt, wenn man mir nichts, dir nichts beliebige Daten an beliebige Server senden kann.
viele Grüße
KH

Anzeige
AW: Daten von Excel in PHP-Formular übernehmen
08.01.2008 21:06:13
Excel
Hallo,
1) "http://meinServer.php?var1=123&b=345&c=Mama&variablexx=huhu" ja sowas meinte ich. Die Variablen kannst Du einfach im Quelltext auslesen.
2) guck mal http://www.activevb.de/tutorials/tut_browsertags/browsertags.html
Da findest Du eine Menge darüber. Musst halt nur Zugriff auf einen Browser haben, z.B. mit dem Webbrowser- Objekt. Da steht auch, wie man Formulare abschickt.
Gruß- Micha
PS: Rückmeldung wäre nett.

Anzeige
AW: Daten von Excel in PHP-Formular übernehmen
08.01.2008 22:02:00
Excel
Hallo Micha,
vielen Dank für die Hinweise.
Vielleicht noch mal folgendes:
In einer Exceldatei befindet sich eine Tabelle mit Werten und ein Button. Im IE rufe ich eine Website auf, die über ein Passort geschützt ist. Nach der Eingabe des Passwortes wird im IE ein Formular mit Eingabefeldern angezeigt. Nun möchte ich gern die Werte aus der Exceldatei mittels Betätigung des Button in dieses Formular eingeben. (Dies soll nicht per Hand geschehen). Hoffe hab's etwas verständliche erklärt.
Danke und Gr. T

Anzeige
AW: Daten von Excel in PHP-Formular übernehmen
09.01.2008 18:25:00
Excel
Hallo,
sehr verständlich sogar! Da ich aber den Aufbau der Webseite nicht kenne, mußt Du Dir die Sache anhand der von mir geschriebenen Links selber zusammenbauen, oder mir einen Link zu dieser oder einer ähnlichen, gleich aufgebauten Webseite geben. Du könntest Dich auch in die Webseite einloggen, und danach den Quelltext der Seite mit den Eingabefeldern speichern (Rechte Maustaste-Quelltex anzeigen). Diesen Quelltext schreibst Du dann in Deine Excel- Mappe mit den Werten, und diese Datei lädst Du hier auf den Server. Dann kann man ein kleines Makro schreiben, was Werte in die Eingabefelder einträgt.
Gruß- Micha
PS: Rückmeldung wäre nett.

Anzeige
AW: Daten von Excel in PHP-Formular übernehmen
09.01.2008 20:02:39
Excel
Hallo Micha,
auch von mir vielen Dank für die Hinweise.
Leider haben wir aneinander vorbei geredet. Ich programmiere schon lange auch html, css, php und js und kenne die Zusammenhänge. VB (kannte ich jetzt nicht ganz so gut) sieht aber in der Tat so ähnlich aus.
Mit den beschriebenen Methoden kann man sich seine eigene
bauen oder eine nachbauen und dann natürlich auch beliebige Daten aus Excel einfügen und an einen Server senden, wenn man weiß, wie das dort hinterlegte php-script die
abarbeitet und es nicht mit sessions arbeitet.
Ich glaube aber nicht, dass Torge dieses so gemeint hat.
Mir ging es um den Export von Excelzeilen in existierende HTML-Seiten anderer Quellen ohne den aufwendigen Nachbau und der (teilweisen nicht möglichen) Überwindung der Sicherheitsmethoden wie sessions oder timestamps. Denn das ist nicht so ohne weiteres möglich.
Nun denn, falls er es doch so gemeint hat, wünsche ich viel Erfolg bei seiner Arbeit.
viele Grüße noch aus Freigericht
KH

Anzeige
Antwort an Volti
09.01.2008 21:19:24
MichaV
Hallo Volti,
weil Du das < FORM > - Tag mit unmaskierten Klammern in Deinen Beitrag geschrieben hast, kann man darauf nicht antworten :o)))
Darum meine Antwort hier:
Hallo Volti,
Du hast doch die Eingangsfrage nicht gestellt, wir haben nicht aneinander vorbeigeredet :o) Vielleicht sollte ich besser immer Hallo +Name schreiben, damit jeder weiß, an wen meine Antwort gerichtet ist.
Trotzdem verstehe ich nicht, was Du meinst. Torge schreibt "In einer Exceldatei befindet sich eine Tabelle mit Werten und ein Button. Im IE rufe ich eine Website auf, die über ein Passort geschützt ist. Nach der Eingabe des Passwortes wird im IE ein Formular mit Eingabefeldern angezeigt. Nun möchte ich gern die Werte aus der Exceldatei mittels Betätigung des Button in dieses Formular eingeben. (Dies soll nicht per Hand geschehen)." und das ist für mich relativ unmißverständlich. Öffne eine HTML-Seite im Browser, kenne die Namen der INPUT-Tags, Füge die Daten ein und schicke das Ding ab. Prinzip:
WebBrowser1.Document.forms("login_form").elements("login").Value = Range("A1") 'Daten eingeben
WebBrowser1.Document.forms("login_form").elements("passwd").Value = Range("A2")
WebBrowser1.Document.forms("login_form").submit 'Formular verschicken
(...übrigens nix mit SendKeys und alles im browsertags- Tutorial nachlesbar)
login_form und passwd sind aber Namen, die nur im HTML Doc gelesen werden können, die kann ich von hier aus nicht ermitteln. Vielleicht verwendet die Seite auch Frames oder was weiß ich. Darum brauche ich den Quelltext genau dieses Dokumentes. Oder er muß es sich selber bauen. Das hat auch nichts mit Sicherheitsmethoden zu tun. Die Session wird durch den Login eröffnet, der im WebBrowser1 per Hand erfolgen kann, oder auch automatisch, wie Du siehst.
Gerade weil ich ihn bitte, mir den Quelltext zu schicken, ist es sicherheitstechnisch okay. Denn mit nur dem Quelltext kann ich mich nicht einloggen und keine Session anfangen, kann also damit eigentlich nichts anfangen, außer die Namen der INPUT Tags lesen.
Gruß- Micha
PS: Rückmeldung wäre nett.

Anzeige
AW: an Volti und Torge
10.01.2008 21:30:56
Volti
Hallo Micha,
danke für die umfangreichen Ausführungen. Habe alles verstanden. Kann leider das Excelbeispiel nicht aufmachen. Vielleicht nur gerade nicht, weiß nicht. Aber der Code ist eindeutig.
Sendkey usw. hatte ich angeführt, weil ich anfangs dachte, man hat eine im Browser angezeigte nicht selbst erstellte "form" mit Eingabefeldern und da sollen jetzt automatisch die Werte aus einer Exceltabelle rein, ohne sich mit dem Quelltext der Site zu befassen.
viele Grüße KH aus Freigericht
Anzeige
;
Anzeige

Infobox / Tutorial

Daten von Excel in ein PHP-Formular übertragen


Schritt-für-Schritt-Anleitung

  1. Vorbereitung der Excel-Datei: Stelle sicher, dass deine Excel-Datei die benötigten Daten in einer klaren Struktur enthält. Zum Beispiel sollten die Werte, die du in dein PHP-Formular einfügen möchtest, in separaten Zellen stehen.

  2. Erstelle ein Makro in Excel: Öffne den VBA-Editor (Alt + F11) und erstelle ein neues Modul. Füge den folgenden Code ein, um die Daten aus der Excel-Tabelle an das PHP-Formular zu übergeben:

    Sub DatenAnPHP()
        Dim ie As Object
        Set ie = CreateObject("InternetExplorer.Application")
    
        ' URL des PHP-Formulars
        ie.Navigate "http://deinserver.de/php_form.php"
        ie.Visible = True
    
        ' Warte bis die Seite geladen ist
        Do While ie.Busy Or ie.ReadyState <> 4
            DoEvents
        Loop
    
        ' Daten einfügen
        ie.Document.Forms("dein_formular").elements("input1").Value = Range("A1").Value
        ie.Document.Forms("dein_formular").elements("input2").Value = Range("A2").Value
    
        ' Formular absenden
        ie.Document.Forms("dein_formular").submit
    End Sub
  3. Eingabefelder im PHP-Formular identifizieren: Achte darauf, die richtigen Namen der Eingabefelder im PHP-Formular zu verwenden. Diese kannst du im Quelltext der Seite finden (Rechtsklick -> „Seitenquelltext anzeigen“).

  4. Makro ausführen: Führe das Makro aus, um die Daten von Excel an das PHP-Formular zu senden.


Häufige Fehler und Lösungen

  • Problem: Das PHP-Formular wird nicht gefunden.

    • Lösung: Überprüfe die URL des Formulars und stelle sicher, dass du die richtige Adresse verwendest.
  • Problem: Die Daten werden nicht korrekt eingefügt.

    • Lösung: Stelle sicher, dass die Namen der Formularelemente im VBA-Code mit denen im PHP-Formular übereinstimmen.
  • Problem: Internet Explorer öffnet sich nicht.

    • Lösung: Stelle sicher, dass du die richtigen Berechtigungen hast und dass der Internet Explorer korrekt installiert ist.

Alternative Methoden

  • Direkte HTTP-Anfrage: Anstatt den Internet Explorer zu verwenden, kannst du auch die XMLHTTP-Objekte in VBA nutzen, um Daten direkt via POST an das PHP-Formular zu senden.

    Sub DatenPosten()
        Dim http As Object
        Set http = CreateObject("MSXML2.XMLHTTP")
    
        ' URL des PHP-Formulars
        http.Open "POST", "http://deinserver.de/php_form.php", False
        http.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
    
        ' Daten senden
        http.send "input1=" & Range("A1").Value & "&input2=" & Range("A2").Value
    End Sub
  • Verwendung von PHP und Excel zusammen: Nutze php_excel-Bibliotheken, um Excel-Daten direkt in PHP auszulesen. Das kann besonders nützlich sein, wenn du regelmäßig Daten importieren musst.


Praktische Beispiele

  • Beispiel 1: Ein einfaches Bestellformular, das Kundendaten von Excel an ein PHP-Script sendet. Vergewissere dich, dass du die Struktur der Excel-Tabelle und die Eingabefelder des PHP-Formulars anpasst.

  • Beispiel 2: Ein Login-System, das die Eingaben in Excel speichert und diese automatisch in die Login-Maske eines PHP-Formulars einfügt. Hierbei ist es wichtig, die Session-Management-Methoden der PHP-Seite zu beachten.


Tipps für Profis

  • Nutze Fehlerbehandlung: Implementiere Fehlerbehandlungsmechanismen in deinem VBA-Code, um bei Problemen sofortige Rückmeldungen zu erhalten.

  • Sicherheitsüberlegungen: Achte darauf, dass die Daten, die du sendest, sicher sind und keine sensiblen Informationen enthalten, wenn du mit Formularen arbeitest, die öffentlich zugänglich sind.

  • Browser-Optionen: Wenn du mit verschiedenen Browsern arbeitest, könnte es hilfreich sein, ein Browser-Automatisierungstool wie Selenium zu verwenden.


FAQ: Häufige Fragen

1. Kann ich Daten aus Excel an mehrere Formulare gleichzeitig senden?
Ja, du kannst mehrere HTTP-Anfragen oder Makros erstellen, um die Daten an unterschiedliche Formulare zu übermitteln.

2. Was mache ich, wenn ich keine Zugriff auf das PHP-Formular habe?
In diesem Fall kannst du die Struktur des Formulars analysieren und einen eigenen HTML-Formular-Wrapper erstellen, den du mit den Excel-Daten füllst.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige