Schnittstelle zu Excel

Moritz123

Erfahrenes Mitglied
Hallo,

ich suche eine Möglichkeit meine Daten aus einer MySQL-DB in eine Excel-Datei zu exportieren (ich meine nicht, eine CVS zu erstellen und diese dann in Excel zu laden, sondern vielmehr, dass bei einem Klick auf einen Link Excel geöffnet und dort dann die entsprechenden Daten aus der DB drin stehen).
Was gibt es da für Möglichkeiten ?

Ich habe bereits die Suche benutzt, dort auch einen Verweis auf einen entsprechenden Eintrag in der FAQ gefunden, diesen Eintrag jedoch vergeblich gesucht.

Kann mir da jemand weiterhelfen?

Vielen Dank.
 
Ich würde sagen, dass ist nur möglich, wenn du vom Server einen Dump der DB erzeugst und dann das ganze in einer xls Datei speicherst und die an den Client schickst. Denn nur so wird Excel beim Client gestartet, vorausgesetzt er hats drauf. Anders geht das, denke ich, nicht.
 
1. Auf http://www.wotsit.org/ eine passende Dateiformatspezifikation suchen (z.B. die hier)
2. Durchlesen
3. MySQL->Excel Exporter schreiben


//edit:
Alternative:
PHP:
<?
header("Content-Type: application/vnd.ms-excel");
header("Content-Disposition: attachment; filename=\"dateiname.csv\"");
// zeile 1:
echo "A1\tB1\tC1\tD1\tE1\n";
// zeile 2:
echo "A2\tB2\tC2\tD2\tE2\n";
// usw...
?>
Ist halt dann doch CSV, aber wegen des Headers wird die Datei direkt mit Excel geöffnet. Mit den Trennzeichen musst du etwas rumspielen, hängt glaub ich von den Importeinstellungen für CSV in Excel ab...
 
Zuletzt bearbeitet:
Hallo,
vielen dank für eure antworten!
Ich habe derweil mal etwas bei sourceforge rumgesucht und siehe da:
ich habe was passendes gefunden.

ich habe aber noch ne frage:
und zwar möchte ich die daten noch auf einer ,,normalen'' php-seite ausgeben lassen.
Ich möchte, dass sich die Hintergrundfarbe der Zellenreihe des Datensatzes von einem zum anderen DS immer abwechselt.
also 1. reihe blau - 2. reihe weiß - 3. reihe blau - usw.

wie kann ich das lösen?

Vielen Dank!
 
Hallo,

ok, jetzt bin ich wahrscheinlich der "Kugschei***" hier aber ich denke, ich muss es sagen :)

Wenn eine Datei nicht als xls. sondern als cvs. benutzt wird, dann müssen die Spalten nicht mit \r\n\t oder sonst was getrennt werden, sondern mit einem Komma - wie der Name ja vermuten läßt.
.csv = comma separated value
Eine "ordentliche" Zeile sieht dann so aus:
echo "A1, B1, C1 \r\n";

Besser ist aber der Umgang mit COM-Objekten, da so nicht garantiert werden kann, das der Browser unsere "Vormacherei" nicht bemerkt.

Gruß
crAte

PS: Anstelle des Attachments kann die Datei auch direkt im Browser als inline angeboten werden!
 
@Create:
Wie gesagt: "Mit den Trennzeichen musst du etwas rumspielen, hängt glaub ich von den Importeinstellungen für CSV in Excel ab..."
Ich hab's zunächst auch mit Kommas probiert, und es wollte nicht funktionieren (Excel 2000).
 
Hey Moritz123,
könntest du wohl einen Link zu der von dir entdeckten Lösung posten?
Oder das ganze kurz hier ausführen?
Dann hätten wir alle was davon... ;)
Danke
 
So, das mit dem Export klappt jetzt ganz gut.
ich will nur noch dem User die möglichkeit geben, die DB-Felder auszuzwählen, die er exportieren möchte.
Das wollte ich mit per check-felder machen, weiß aber nicht, wie ich dass dann den feldern zuordnen soll.
weiß jemand rat?

Vielen Dank!
 
Zurück