gelöst Probleme bei Daten aus mysql nach excel exportieren (nicht über phpmyadmin)
hundertwasser (Level 1) - Jetzt verbinden
24.09.2009, aktualisiert 12:46 Uhr, 7642 Aufrufe, 2 Kommentare
Hallo Gemeinde,
hier erstmal der Code:
Nun mein Problem.
Ich habe in einer Spalte sehr lange Zeichenfolgen, diese können auch nur aus Nummern bestehen.
Wenn ich nun das Ergebnis aus der Mysql-Datenbank nach excel portiere,
gibt mir excel die Zeichenkette (die nur aus Nummern besteht) als exponentialzahl aus.
Kann ich dies Verhindern?
Bei phpmysqladmin funktioniert das ja auch dort werden die zeichenfolgen richtig dargestellt.
Kann mir da jemand helfen
Danke im vorraus !!
-> Wieso kann ich nicht auf die Antwort antworten? Wollte Auf die Antwort Antworten aber geht nicht.
Dann halt so:
Es ist mir klar das ich von PHP nicht Excel manipulieren kann (schonmal nicht mit einfachen PHP mitteln).
Bei Mysqladmin funktioniert es ... wie machen die das?
01.
$erg = $db->query_daten($sql);
02.
$tsv = array();
03.
foreach($erg as $row){
04.
$tsv[] = implode("\t", $row);
05.
}
06.
$tsv = implode("\r\n", $tsv);
07.
08.
$fileName = 'mysql-to-excel.xls';
09.
header("Content-type: application/vnd.ms-excel");
10.
header("Content-Disposition:inline; filename=$fileName");
11.
12.
echo $tsv;
Ich habe in einer Spalte sehr lange Zeichenfolgen, diese können auch nur aus Nummern bestehen.
Wenn ich nun das Ergebnis aus der Mysql-Datenbank nach excel portiere,
gibt mir excel die Zeichenkette (die nur aus Nummern besteht) als exponentialzahl aus.
Kann ich dies Verhindern?
Bei phpmysqladmin funktioniert das ja auch dort werden die zeichenfolgen richtig dargestellt.
Kann mir da jemand helfen
Danke im vorraus !!
-> Wieso kann ich nicht auf die Antwort antworten? Wollte Auf die Antwort Antworten aber geht nicht.
Dann halt so:
Es ist mir klar das ich von PHP nicht Excel manipulieren kann (schonmal nicht mit einfachen PHP mitteln).
Bei Mysqladmin funktioniert es ... wie machen die das?
2 Antworten
- LÖSUNG nxclass schreibt am 24.09.2009 um 09:27:54 Uhr
- LÖSUNG Guenni schreibt am 25.09.2009 um 08:00:43 Uhr
LÖSUNG 24.09.2009 um 09:27 Uhr
Ich schätze in der xls Datei sind keine Informationen zum Datentyp vorhanden !? - da kann Excel natürlich nur raten.
Evtl. reicht es schon nach dem Import die Datenfeld Typen in Excel anzupassen.
Evtl. reicht es schon nach dem Import die Datenfeld Typen in Excel anzupassen.
LÖSUNG 25.09.2009 um 08:00 Uhr
Hi hundertwasser,
du kannst Excel zwar nicht manipulieren, aber du kannst eine CSV-Datei mit
MySQL formatieren und ausgeben:
Die Datei nicht mit Excel öffnen, sondern importieren. In der Regel öffnet sich dann ein
Dialog, wo du die mit MySQL festgelegten Trennzeichen angeben und Zellen entsprechend
formatieren kannst.
Stichworte für Google: excel csv importieren
Gruß
Günni
PS.: In Excel Zellen nachträglich als Text zu formatieren bringt nix: da werden die
Exponentialzahlen lediglich links ausgerichtet.
du kannst Excel zwar nicht manipulieren, aber du kannst eine CSV-Datei mit
MySQL formatieren und ausgeben:
01.
<?php
02.
03.
/*
04.
Feldnamen auswählen(oder alle mit *) und Verzeichnispfad/Datei angeben.
05.
06.
Das Verzeichnis muß von jedem beschreibbar sein dürfen.
07.
08.
Alternativ: $query="select * into outfile 'tab2.csv'" . . . ohne Verzeichnispfad.
09.
10.
Dann wird die Datei in das Datenbankverzeichnis geschrieben
11.
*/
12.
13.
$query="select * into outfile '/home/tmp/tab2.csv'"
14.
15.
/* Trennzeichen für die Datenfelder angeben. */
16.
17.
18.
." fields terminated by ';'"
19.
20.
21.
/* Festlegen, dass Felder mit " eingeschlossen werden */
22.
23.
24.
." enclosed by '\"'"
25.
26.
27.
/* Datenquelle angeben */
28.
29.
30.
." from tabelle2";
31.
32.
33.
mysql_query($query) or die(mysql_error());
34.
?>
Dialog, wo du die mit MySQL festgelegten Trennzeichen angeben und Zellen entsprechend
formatieren kannst.
Stichworte für Google: excel csv importieren
Gruß
Günni
PS.: In Excel Zellen nachträglich als Text zu formatieren bringt nix: da werden die
Exponentialzahlen lediglich links ausgerichtet.
Ähnliche Inhalte
Neue Wissensbeiträge
Heiß diskutierte Inhalte