Get Adobe Flash player

Excel Datei per PHP erstellen

Überall im Web sieht man Tabellen oder sonstige Daten, welche man gerne per Knopfdruck exportieren möchte.

Ob Tasklisten oder Projekttermine, ein Knopfdruck auf ein Icon und Excel geht auf und zeigt die Daten an.

Das dies möglich ist, muss entweder ein spezieller Excel Generierer installiert werden, oder mit einem Trick gearbeitet werden.

Der Trick ist einfach, man generiere eine HTML-Tabelle und gebe dies als XLS aus, Excel liest das Format und konvertiert es, ohne das der Benutzer dies mitbekommt.

ls erstes müssen wir unserem Server seitigen PHP File mitteilen, das die Ausgabe als XLS erfolgen soll:

header("Content-type: application/vnd-ms-excel");
header("Content-Disposition: attachment; filename=Dateiname.xls");

Anschliessend holen wir die Daten:

$db = mysql_connect('localhost','username','password');
$abfrage = mysql_query("SELECT * FROM `database`.`table` WHERE `oeffentlich`='1'",$db);
if (mysql_num_rows($abfrage) >= '1')
{
	echo "<table width=\"100%\" cellpadding=\"1\" cellspacing=\"1\">";
	while($row = mysql_fetch_assoc($abfrage))
	{
		echo "<tr>".
			"<td>".$row['id']."</td>".
			"<td>".$row['name']."</td>".
			"<td>".$row['bearbeiter']."</td>".
			"<td>".$row['status']."</td>".
		"</tr>";
	}
	echo "</table>";
}

Das PHP Generiert eine einfache HTML Tabelle, welche als “Dateiname.xls” dem Client zugeschickt wird (trotz er eine PHP Datei aufruft im Web), welche dann gespeichert oder direkt per Excel aufgemacht werden kann.

Weitere interessante Beiträge:

Kommentieren

This Blog will give regular Commentators DoFollow Status. Implemented from IT Blögg

eMail-Benachrichtigung bei weiteren Kommentaren.
Auch möglich: Abo ohne Kommentar.