Hello Michael,
brauchst Du noch Hilfe?
<?php
$verbindung = mysql_connect("localhost", "root", "KENNWORT");
$out = '';
if (!$verbindung)
{
$out = 'Fehler bei der Serververbindung';
}
elseif (!mysql_select_db("mein_kundenstamm");
{
$out = 'Fehler bei der Datenbankauswahl';
}
else
{
$query = "SELECT KUST01_firma1,".
" KUST01_strasse,".
" KUST01_plz,
" KUST01_ort,".
" KUST02_nachname,".
" KUST02_telefon1,".
" KUST02_fax,".
" KUST02_mobil,".
" KUST02_email,"
" KUST01_branchenname".
" FROM KUST01, BRANCHE WHERE kust01_adressenart = 'N'".
" and BRANCHE_branche = KUST01_branche";
$result = mysql_query($query);
if ($result)
{
$data = '';
while ($row = mysql_fetch_assoc($result, MYSQL_NUM))
{
$data .= implode("\t",$row)."\r\n";
}
header("Content-type: application/x-msdownload");
header("Content-Disposition: attachment; filename=export.xls");
header("Pragma: no-cache");
header("Expires: 0");
echo $data;
exit;
}
}
echo $out; ## Eventuell auch mit Headern oder vollständiger HTML-Seite
?>
So ungefähr würde ich mir das vorstellen.
1. Wir fragen aus der Datenbank keine Spalten ab, die wir später nicht verwerten
2. Wir fragen die Spalten in der Reihenfolge ab, in der wir sie verwerten wollen
3. Wir lassen die Datenbank die Übersetzung von Schlüsselnummern machen
Dafür richten wir die Tabelle BRANCHE ein, in der diese Nummern
und die Klartexte stehen, wenn es sie nicht sowieso schon gibt.
4. Excel erkennt numerische Felder daran, dass sie ohne Häkchen kommen und
Textfelder daran, dass sie in Häckhen verpackt geliefert werden.
Das muss anstelle eines einfachen Implode() eventuell noch berücksichtigt werden.
5. ich habe für Excel-Webabfragen einen anderen Header:
header("Content-Type: application/vnd.ms-excel");
header("Content-Disposition: inline; filename="export.xls"");
Dann kann man die Abfrage direkt aus Excel heraus anstoßen
Ich bin nur darauf gekommen, dass Du das vielleicht willst, weil du TABS
als Feldtrenner benutzt hast.
Ein harzliches Glückauf
Tom vom Berg