Einführung -- Wie Excel-Dateien erzeugt werden.
Was ist Spreadsheet_Excel_Writer?
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.
Benutzung
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.
Beispiel 43-1. 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.
In einer Datei speichern
Die Zeile im obigen wird ihnen aufgefallen sein:
// sending HTTP headers
$workbook->send('test.xls'); |
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:
Beispiel 43-2. 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();
?>
|
|
Weitere Informationen
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.
|
Spreadsheet_Excel_Writer (Previous)
|
(Next) Tutorial über Formatierungen
|
|
|
Download Documentation
|
Last updated: Sun, 28 Sep 2008 |
|
Do you think that something on this page is wrong? Please file a bug report or add a note.
|
| User Notes: |
CSVtoXLS.php Program Notes
I am often asked to provide output from the database in a spreadsheet XLS file. I built a shell around spreadsheet-excel-writer to use as a production conversion tool, to accomplish high format XLS file creation from an ASCII CSV file. As a PHP program, it should work on any O/S that you can install PHP 4.3 or better onto.
CSVtoXLS.php is a PHP utility to convert CSV data into business class XLS spreadsheet files, tested as compatible with OpenOffice 2.0 Calc and Excel 2000. It is provides for a high level of spreadsheet formatting and also offers formulas. CSVtoXLS.php takes advantage of those features and provides meaningful formatting and a simple Column SUM automatically generated at the bottom of any Decimal Column.
See Narrative and Download at http://performantsystems.com/CSVtoXLS.html
- Alan Gruskoff
|
|