Spreadsheet_Excel_Writer ist ein Werkzeug zur Erzeugung von Excel-Dateien ohne Rückgriff auf COM-Komponenten. Die erzeugten Dateien entsprechen dem Excel 5-Format (BIFF5). Damit stehen alle Funktionen bis zu dieser Version zur Verfügung.
Der typische Einsatz von Spreadsheet_Excel_Writer ist die Ausgabe von Daten in Form eines Spreadsheets, das von den meisten Spreadsheet-Programmen gelesen werden kann, wie z.B. Excel oder OpenOffice.
Der praktische Einsatz wird im Folgenden gezeigt.
Typische Anwendung
<?php
require_once 'Spreadsheet/Excel/Writer.php';
// Creating a workbook
$workbook = new Spreadsheet_Excel_Writer();
// sending HTTP headers
$workbook->send('test.xls');
// Creating a worksheet
$worksheet =& $workbook->addWorksheet('My first worksheet');
// The actual data
$worksheet->write(0, 0, 'Name');
$worksheet->write(0, 1, 'Age');
$worksheet->write(1, 0, 'John Smith');
$worksheet->write(1, 1, 30);
$worksheet->write(2, 0, 'Johann Schmidt');
$worksheet->write(2, 1, 31);
$worksheet->write(3, 0, 'Juan Herrera');
$worksheet->write(3, 1, 32);
// Let's send the file
$workbook->close();
?>
Als erstes wird im Beispiel zuerst ein Workbook erzeugt, bevor Worksheets ergänzt werden können. Alle Worksheets sind Bestandteil eines Workbook, und ein Workbook kann viele Worksheets enthalten.
Wichtig bei der Programmierung mit Spreadsheet_Excel_Writer, ist das Kaufmanns-Und (&) bei der Erzeugung eines Worksheets. Das Zeichen bedeutet das eine Referenz auf das Worksheet-Objekt übergeben wird, anstatt es zu kopieren. Wenn Sie das nicht vollständig verstehen, ist das nicht weiter schlimm, achten Sie nur darauf, immer das Kaufmanns-Und zu benutzen, wenn Sie die Methode addWorksheet() aufrufen zur Erzeugung eines Worksheets, oder die Methode addFormat() um ein Format zu erzeugen.
Die Zeile im obigen wird ihnen aufgefallen sein:
Hier wird das Spreadsheet an den Browser geschickt. Aber wie wird das Spreadsheet direkt auf einem Computer gespeichert. Dazu muss nur diese Zeile entfernt werden und ein gültiger Dateiname im Konstruktor des Workbooks angegeben werden.
Soll das Spreadsheet in der Datei test.xls gespeichert werden, muss das obige Beispiel so aussehen:
In Datei speichern
<?php
require_once 'Spreadsheet/Excel/Writer.php';
// We give the path to our file here
$workbook = new Spreadsheet_Excel_Writer('test.xls');
$worksheet =& $workbook->addWorksheet('My first worksheet');
$worksheet->write(0, 0, 'Name');
$worksheet->write(0, 1, 'Age');
$worksheet->write(1, 0, 'John Smith');
$worksheet->write(1, 1, 30);
$worksheet->write(2, 0, 'Johann Schmidt');
$worksheet->write(2, 1, 31);
$worksheet->write(3, 0, 'Juan Herrera');
$worksheet->write(3, 1, 32);
// We still need to explicitly close the workbook
$workbook->close();
?>
Wenn Sie mehr über die Formatierungen mit Spreadsheet_Excel_Writer lernen wollen, wie Schriften, Zellfarben, Text-Ausrichtung usw., dann schauen Sie sich das Formatierungstutorial an.