Seite 1 von 1
Datenbank - Excel - auslesen - speichern
Verfasst: 26.06.2005 10:04
von emily
Morgen,
vorab, die Frage hat nichts mit dem Forum zu tun
Mich würde es interessieren ob es möglich ist, Daten aus der Datenbank auslesen, bei Klick auf einen Link, öffnet sich Excel - man kann die Daten bearbeiten und bei speichern werden die Sachen wieder in der Datenbank gespeichert?
Geht das? Oder zuviel verlangt?
Danke schon mal!
LG, Emy
Re: Datenbank - Excel - auslesen - speichern
Verfasst: 30.06.2005 01:22
von CKoenig
emily hat geschrieben:Geht das? Oder zuviel verlangt?
Wow, das ist schon was hart - kann mir aber vorstellen, dass es (wenn auch nicht einfach) möglich ist.
Jetzt aber mal ohne was ausprobiert zu haben: Du kannst ja aus der Datenbank Daten in eine CSV Datei extrahieren - diese sollte unter Windows standardmäßig mit Excel geöfnet werden - also wenn der Browser den Datentyp richtig verknüft hat, kann ich mir noch ziemlich einfach vorstellen, dass man es mit zwei (Web-)Klicks schafft:
1.) erster Klick (im Webinterface): Daten extrahieren, in einer CSV Datei speichern und dann mit Excel aufrufen lassen
2.) in Excel bearbeiten und speichern
3.) zweiter Klick (im Webinterface): CSV Datei auslesen und in Datenbank übernehmen
Nur frag mich jetzt nicht nach dem Code... hoffe aber mal es ist nen Ansatz, mit dem Du vielleicht was anfangen kannst.
Andere Möglichkeit wäre vielleicht eine ODBC Anbindung der (My)SQL Datenbank an Excel - dann ging es wirklich mit einem Klick - innerhalb von Excel. - Nur leider hab ich von ODBC, bzw. den Fähigkeiten der Office Produkte diesbezüglich keine Ahnung - müsste man (mal wieder) nachlesen... - sorry.
Viele Grüsse,
Carsten
Verfasst: 30.06.2005 09:54
von emily
Deine Vorschläge sind klasse, da lässt sich was draus machen. Danke!
Aber mir kam da ein Gedanke, der mich noch abhält. Wie kann ich Excel denn sagen, wenn die Leute auf speichern klicken, das das dann auf dem Server gespeichert wird, und nicht auf deren Festplatte? *grübel*
Oder steh ich gerade auf'm Schlauch?
LG, Emy
Verfasst: 30.06.2005 13:01
von Blutgerinsel
PHP ist eine serverseitige Scriptsprache und keine clientseitige.
Ergo du führst die Änderungen komplett online mithilfe eines Webinterfaces durch oder lädst vom Client modifizierte Clientdatei wieder hoch. Welche dann serverseitig ausgewertet und ggf. entsprechende DB Statements generiert.
CSV ist kommasepariert und folglich die PHP Funktion fgetcsv(); eine Möglichkeit
Verfasst: 01.07.2005 02:45
von CKoenig
emily hat geschrieben: Wie kann ich Excel denn sagen, wenn die Leute auf speichern klicken, das das dann auf dem Server gespeichert wird, und nicht auf deren Festplatte? *grübel*
Gar nicht, wenn ich das nicht falsch weiss. Aber über ein Standardverzeichnis des Nutzers sollte das doch zu schaffen sein - Problem ist natürlich der Transfer Client -> Server... aber da man den Dateinamen vorgeben kann, und ja (per Standardverzeichnis) auch den Pfad weiss, sollte es denke ich möglich sein ein Uploadscript zu basteln, das das hinbekommt - Also Upload, Auslesen und dann ab in die Datenbank... Die Frage ist natürlich, ob man den Upload mit reinem PHP hinbekommt...
Wobei ich sagen muss, dass ich im nachhinein denke, der ODBC Ansatz ist eleganter - dazu ist ODBC ja da...
Viele Grüsse,
Carsten
Verfasst: 01.07.2005 03:44
von webfan
Mich würde es interessieren ob es möglich ist, Daten aus der Datenbank auslesen, bei Klick auf einen Link, öffnet sich Excel -
Ich habe da ein kleines Tool:
www.webfan.de/mysql2excel.zip
und bei speichern werden die Sachen wieder in der Datenbank gespeichert?
Das kann dieses Tool zwar nicht (speichern), aber das wäre gewiss möglich.
Wie kann ich Excel denn sagen, wenn die Leute auf speichern klicken, das das dann auf dem Server gespeichert wird, und nicht auf deren Festplatte?
Da mußt Du ein serverseitiges Script schreiben.
emily hat folgendes geschrieben:
Wie kann ich Excel denn sagen, wenn die Leute auf speichern klicken, das das dann auf dem Server gespeichert wird, und nicht auf deren Festplatte? *grübel*
Gar nicht, wenn ich das nicht falsch weiss.
Ich denke schon das das geht.
Die Frage ist allerdings was genau Du vorhast, und welche Datenbank Du nutzen willst.
Viele Grüße,
Till
Verfasst: 01.07.2005 11:21
von emily
Ich denke schon das das geht.
Die Frage ist allerdings was genau Du vorhast, und welche Datenbank Du nutzen willst.
Also momentan hab ich eine stinknormale mySQL DB.
Was ich vorhabe? Kurz gesagt, User melden sich an, klicken z.B. auf einen Link, da geht dann Excel auf, sie können ihre Zahlen reinschreiben, dann speichern und gut ist, andere sollten dann auch noch zugreifen können, aber das ist ja nicht das Problem!
Da mußt Du ein serverseitiges Script schreiben.
Kannst du mir da einen kleinen Anhaltspunkt sagen?
Das script schaue ich mir heute Abend mal an, danke schön!
LG, Emy
Verfasst: 01.07.2005 11:54
von emily
Habs mir doch jetzt schon angesehen, allerdings kam ich nicht weit, da mein Server keine .exe zulässt.
Wo ich es einstelle ist mir auch klar, nur hab ich keinen blassen Schimmer, auf welche Datei ich da verlinken muss, also den Pfad? Jemand schlauer als ich?

Verfasst: 01.07.2005 14:22
von itst
Es gibt von MS ein Produkt namens Office Server Extensions, das es erlaubt, MS Office Dokumente im Browser zu editieren. Wenn es um ein Intranet geht, sollte das die beste Lösung sein:
http://office.microsoft.com/en-us/assis ... 81033.aspx
Verfasst: 01.07.2005 17:42
von webfan
Habs mir doch jetzt schon angesehen, allerdings kam ich nicht weit, da mein Server keine .exe zulässt.
Das ist deshalb so, da mein 'script' eine Windows Applikation und ein php script ist. Die Windows Applikation läuft auf Deinem Server natürlich nicht!
Ich wollte nur die Möglichkeiten verdeutlichen, aber ich gebe zu ich habe mich mißverständlich asgedrückt, war ja schon spät...
Also:
Kannst du mir da einen kleinen Anhaltspunkt sagen?
Ja:
Du hast zwei Möglichkeiten:
A: Du löst die Augabe serverseitig
B: Du löst die Aufgabe client- und serverseitig
Nachteil B: User benötigt eine Clientapplikation (das will keiner).
Der Harken: Du möchtest aber die Daten zwischendurch in Excel bearbeiten (also auf einem Clientrechner)
Möglichkeit B:
- Eine Clientanwendung
postet die Daten an ein script, welches diese abspeichert
- oder die Anwendung lädt die Daten per ftp hoch (zu unsicher!!!)
Möglichkeit A:
Du "bearbeitest" die Daten nicht wirklich in Excel!
Sondern:
Du bearbeitest die Daten per php-Interface und erstellst per php eine Excel-Datei.
Viele Grüße,
Till