Excel to MySQL

Hi zusammen

Ich möchte bei bestimmten Zellen ein Makro hinterlegen, welches bei Änderung des Inhaltes Verbindung zum Internet aufnimmt, und dort den Wert ebenfalls in einer Datenbank ändert. Vielleicht noch besser wäre ein Speicher-Button, welcher dann gleichzeitig alle Werte von Excel ins Internet speichert.

Z.B. könnte man ja auch nur ein php-skript aufrufen, welches dann das Schreiben in die DB übernimmt.

Ich arbeite auf dem Web mit PHP/MySQL.

Geht das irgendwie?

Gruss,
Janosh

Auch hallo.

Ich möchte bei bestimmten Zellen ein Makro hinterlegen,
welches bei Änderung des Inhaltes Verbindung zum Internet
aufnimmt, und dort den Wert ebenfalls in einer Datenbank
ändert. Vielleicht noch besser wäre ein Speicher-Button,
welcher dann gleichzeitig alle Werte von Excel ins Internet
speichert.

Besser wäre wohl ein automatisches Einschreiben aller Werte in eine csv-Datei. Je nach Resourcen kann man dann via .NET, Perl,… sowie ODBC oder JDBC auf diese zugreifen und die Datenbank im Hintergrund mit den neuen Daten füttern.

Z.B. könnte man ja auch nur ein php-skript aufrufen, welches
dann das Schreiben in die DB übernimmt.

Ja. Dazu könnte man ein browserbasiertes Interface, wie PHPmyadmin, verwenden.

Ich arbeite auf dem Web mit PHP/MySQL.

Geht das irgendwie?

Klar. Aber dazu müsste man auch wissen was auf dem Rechner mit Excel an weiteren Programmiersprachen zur Verfügung steht :wink:

HTH
mfg M.L.

Hallo Markus, danke für deine Antwort.

Besser wäre wohl ein automatisches Einschreiben aller Werte in
eine csv-Datei.

Würde diese CSV-Datei dann auf dem Server liegen? Wie kann das Excel dann in diese Datei schreiben (übers Internet)?

Ja. Dazu könnte man ein browserbasiertes Interface, wie
PHPmyadmin, verwenden.

Die Speicherung sollte automatisiert ablaufen. Der User des Excel-Sheets muss sich nicht darum kümmern, wie die Daten dann genau übers Internet in die Datenbank des Servers gelangen. Mit PHP aus einer CSV-Datei zu lesen und die Werte in die DB zu schreiben, dürfte kein Problem sein.

Klar. Aber dazu müsste man auch wissen was auf dem Rechner mit
Excel an weiteren Programmiersprachen zur Verfügung steht :wink:

Grundsätzlich hat der Excel-User nur Excel (standardmässig mit VBA) auf Win XP. Keine weiteren Programmiersprachen dürfen vorausgesetzt werden.

Wie sollte das via CSV File genau gehen? Ich hab mit VBA leider bis jetzt noch kaum Erfahrung.

Gruss,
Janosh

Hallo nochmal.

danke für deine Antwort.

Bitte :smile: Aber man befasst sich ja zwangsweise mit solchen Sachen…

Würde diese CSV-Datei dann auf dem Server liegen? Wie kann das
Excel dann in diese Datei schreiben (übers Internet)?

‚Datei‘ - ‚speichern unter‘ - .csv auf einem zum Schreiben freigegebenen Netzlaufwerk und Ordner.

Die Speicherung sollte automatisiert ablaufen. Der User des
Excel-Sheets muss sich nicht darum kümmern, wie die Daten dann
genau übers Internet in die Datenbank des Servers gelangen.

Apache oder PHP müssten eine Funktion haben, die nach einer bestimmten Zeit das Auslesen übernimmt. Manuell lässt man einen Browser automatisch starten, der dann den Zugriff auf das PHP Formular eröffnet. Hier findet sich dann nur ein Knopf wie ‚Daten übernehmen‘ (und sollte dieses nach Möglichkeit auch tun :wink: )

HTH
mfg M.L.

Bitte :smile: Aber man befasst sich ja zwangsweise mit solchen
Sachen…

Wieso zwangsweise? Ist nicht alles grundsätzlich freiwillig?

‚Datei‘ - ‚speichern unter‘ - .csv auf einem zum Schreiben
freigegebenen Netzlaufwerk und Ordner.

Die Verbindung sollte übers Internet sein (nicht im LAN), daher möchte ich da keinen Ordner freigeben - falls das überhaupt ginge, hinter der Firewall etc.

HTH

HTH?

Gruss,
Janosh

Ist nicht alles grundsätzlich freiwillig?

Naja, so ein paar Excel Kenntnisse können nicht schaden :wink:

‚Datei‘ - ‚speichern unter‘ - .csv auf einem zum Schreiben
freigegebenen Netzlaufwerk und Ordner.

Die Verbindung sollte übers Internet sein (nicht im LAN),
daher möchte ich da keinen Ordner freigeben - falls das
überhaupt ginge, hinter der Firewall etc.

Da könnte sich ein sog. ‚ftp-upload‘ Programm empfehlen, z.B. ws_ftp oder der Internet Explorer. Wenn man weiss wie man diese Dinge benutzen muss…

‚Hope this helps‘ -> Hoffend das das hilft
mfg M.L.

Da könnte sich ein sog. ‚ftp-upload‘ Programm empfehlen, z.B.
ws_ftp oder der Internet Explorer. Wenn man weiss wie man
diese Dinge benutzen muss…

Ok, das würde gehen. Andererseits ist es für den User etwas umständlich. Ich würde es benutzerfreundlicher finden, wenn ein VBA-Skript in Excel selber die Änderungen per POST-methode an ein php-Skript im Web sendet. Und dieses PHP-Skript schreibt dann die erhaltenen Daten in die DB. Durch diese Möglichkeit muss der User nur innerhalb des Excel-Sheets auf [Speichern] klicken und fertig.

Weisst du, ob es sich mit diesem Ansatz ebenfalls realisieren liesse?

Grüsse,
Janosh

Und dieses PHP-Skript
schreibt dann die erhaltenen Daten in die DB. Durch diese
Möglichkeit muss der User nur innerhalb des Excel-Sheets auf
[Speichern] klicken und fertig.

Weisst du, ob es sich mit diesem Ansatz ebenfalls realisieren
liesse?

Hier werden ja Fragen gestellt, die einen richtig ins Schwitzen kommen lassen :wink: Aber der Taskplaner von Windows könnte weiterhelfen indem man diesen die Kopieraktion vom Client-PC zum Server z.B. alle 10 Minuten durchführen lässt. Ebenso den Aufruf der php-Funktion.

…aber wie das jetzt im Konkreten vor sich geht ?

HTH
mfg M.L.

Hier werden ja Fragen gestellt, die einen richtig ins
Schwitzen kommen lassen :wink:

Tut mir leid. :smiley:

Aber der Taskplaner von Windows…

Gute Idee mit dem Taskplaner! Ich denke aber eher noch an ein VBA-Script innerhalb von Excel, welches dann gleich im Excel-Sheet integriert ist. Kennst du dich (oder sonst jemand hier im Forum) aus damit, wie man das per VBA machen könnte?

Gruss,
Janosh

Gute Idee mit dem Taskplaner! Ich denke aber eher noch an ein
VBA-Script innerhalb von Excel, welches dann gleich im
Excel-Sheet integriert ist. Kennst du dich (oder sonst jemand
hier im Forum) aus damit, wie man das per VBA machen könnte?

VBA existiert doch nur innerhalb von Excel, oder ? FAQ:1614
Aber der Taskplaner soll auch eine Batch Datei aurufen, die die Exceldatei auch auf den Server kopiert. Das wäre z.B. der Befehl ‚copy /pfad/zur/excel/datei.xls /pfad/zum/bearbeiten‘
Nur als .bat abgespeichert und immer mal via TP aufgerufen

HTH
mfg M.L.

Also der Tipp mit der csv Datei war ja schon mal ned schlecht…

aber tendentiell - warum keine Tab-Separierten Textfiles und diese dann mit php auslesen…?

Zum übermitteln:
http://www.bygsoftware.com/Excel/VBA/ftp.htm
http://www.herber.de/tutorial/2003/office5.htm
http://www.vb-fun.de/cgi-bin/loadframe.pl?ID=vb/proj…

http://www.google.de/search?hl=de&q=ftp+mit+vba&btnG…

Warum läuft das am besten über FTP?

Geht das nicht auch ohne Speicherung in ein File? Ich hab mir eher vorgestellt, dass es letztlich ein Excel-Sheet ist, welches die Funktionalität eines WebForms hat: Also man füllt die Zellen, klickt auf einen Submit-Button und die Daten werden dann an ein php-Skript gesendet.

Kann das mit VBA in Excel nicht funktionieren? *?*

Gruss,
Janosh

Warum läuft das am besten über FTP?

weil Du dann nicht extra in eine Datenbank schreiben musst.

Geht das nicht auch ohne Speicherung in ein File?

Doch - aber ist mir zu kompliziert Dir das zu machen :wink:

Ich hab mir
eher vorgestellt, dass es letztlich ein Excel-Sheet ist,
welches die Funktionalität eines WebForms hat: Also man füllt
die Zellen, klickt auf einen Submit-Button und die Daten
werden dann an ein php-Skript gesendet.

Dann versuch mal ein Formular zu erzeugen, das mit POST Daten überträgt
Für GET wird es nämlich schnell zu viel input…
Ausserdem hast Du bei Datenbanken dann immernoch das Problem der identifizierung - Du hast nämlich in Excel keine id’s - in Datenbanken ist das fast unabdingbar.

Kann das mit VBA in Excel nicht funktionieren? *?*

Mit entsprechendem Enthusiasmus vielleicht…

Dann versuch mal ein Formular zu erzeugen, das mit POST Daten
überträgt

OK, das scheint der Knackpunkt zu sein. Das geht in Excel ja vermutlich nur mit VBA, nicht? Und ich hab eigentlich nicht wirklich viel Ahnung davon. Hast du sowas schon mal versucht oder irgendwo gesehen?

Grüsse,
Janosh

nie gemacht - nie versucht…
sorry

OK, trotzdem vielen Dank für eure Mühen und Ideen, MunichFreak und M.L.

Grüsse,
Janosh