1. Einführung
  2. Tutorial über
    Formatierungen
  3. Workbook::close
  4. Workbook::&addWorksheet
  5. Workbook::&addFormat
  6. Workbook::&setTempDir
  7. Workbook::setCustomColor
  8. Worksheet::getName
  9. Worksheet::
    setInputEncoding
  10. Worksheet::select
  11. Worksheet::activate
  12. Worksheet::setFirstSheet
  13. Worksheet::protect
  14. Worksheet::setColumn
  15. Worksheet::setSelection
  16. Worksheet::freezePanes
  17. Worksheet::thawPanes
  18. Worksheet::setPortrait
  19. Worksheet::setLandscape
  20. Worksheet::setPaper
  21. Worksheet::setHeader
  22. Worksheet::setFooter
  23. Worksheet::
    centerHorizontally
  24. Worksheet::
    centerVertically
  25. Worksheet::setMargins
  26. Worksheet::setMargins_LR
  27. Worksheet::setMargins_TB
  28. Worksheet::setMarginLeft
  29. Worksheet::
    setMarginRight
  30. Worksheet::setMarginTop
  31. Worksheet::
    setMarginBottom
  32. Worksheet::repeatRows
  33. Worksheet::repeatColumns
  34. Worksheet::printArea
  35. Worksheet::hideGridlines
  36. Worksheet::
    printRowColHeaders
  37. Worksheet::fitToPages
  38. Worksheet::
    setHPagebreaks
  39. Worksheet::
    setVPagebreaks
  40. Worksheet::setZoom
  41. Worksheet::setPrintScale
  42. Worksheet::write
  43. Worksheet::writeNumber
  44. Worksheet::writeString
  45. Worksheet::writeNote
  46. Worksheet::writeBlank
  47. Worksheet::writeFormula
  48. Worksheet::writeUrl
  49. Worksheet::setRow
  50. Worksheet::mergeCells
  51. Worksheet::insertBitmap
  52. Worksheet::setOutline
  53. Spreadsheet_Excel_Writer
  54. send
  55. rowcolToCell
  56. Format::setAlign
  57. Format::setVAlign
  58. Format::setHAlign
  59. Format::setMerge
  60. Format::setBold
  61. Format::setBottom
  62. Format::setTop
  63. Format::setLeft
  64. Format::setRight
  65. Format::setBorder
  66. Format::setBorderColor
  67. Format::setBottomColor
  68. Format::setTopColor
  69. Format::setLeftColor
  70. Format::setRightColor
  71. Format::setFgColor
  72. Format::setBgColor
  73. Format::setColor
  74. Format::setPattern
  75. Format::setUnderline
  76. Format::setItalic
  77. Format::setSize
  78. Format::setTextWrap
  79. Format::setTextRotation
  80. Format::setNumFormat
  81. Format::setStrikeOut
  82. Format::setOutLine
  83. Format::setShadow
  84. Format::setScript
  85. Format::setFontFamily

Einführung

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.

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(00'Name');
$worksheet->write(01'Age');
$worksheet->write(10'John Smith');
$worksheet->write(1130);
$worksheet->write(20'Johann Schmidt');
$worksheet->write(2131);
$worksheet->write(30'Juan Herrera');
$worksheet->write(3132);

// 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:

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(00'Name');
$worksheet->write(01'Age');
$worksheet->write(10'John Smith');
$worksheet->write(1130);
$worksheet->write(20'Johann Schmidt');
$worksheet->write(2131);
$worksheet->write(30'Juan Herrera');
$worksheet->write(3132);

// 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) Wie Zellen in einem Spreadsheet formatiert werden. (Next)
Last updated: Sun, 19 Dec 2010 — Download Documentation
Do you think that something on this page is wrong? Please file a bug report or add a note.
View this page in:

User Notes:

Note by: daniel-jj@gmx.de
If you have issues with this PEAR package check this out: http://phpexcel.codeplex.com/
Note by: info@joomla-r-us.com
Thanks for improving the original spreadsheet-excel-writer!

I have integrated the PEAR spreadsheet-excel-writer into a Joomla component. The component allows you to define Worksheets which are populated with data from the database, by specifying your own custom SQL queries. One or more Worksheets can then be assembled into a Workbook - all in a nice user friendly UI within the Joomla framework.

If you have a Joomla website, or can set one up, please check out:
http://joomla-r-us.com

Note by: holubecml@gmail.com
Is it possible to let the script generate an xls file from html form and send it automatically as an attachement in an email?
Thans a lot,
Miro, Slovakia
Note by: fatrandy13@yahoo.com (Mike M.)
A simple chart/graph function would be great... You specify the rows and columns for the chart and chart type (bar, line, pie, etc...)


// make it a worksheet of its own
$chart_worksheet =& $workbook->addWorksheet($my_chart);

// add it to an existing worksheet...
$worksheet->addGraph(int $startCol, int $endCol, int $startRow, int $endRow, mixed $graphType);
Note by: chris@pineconehill.com
As of PHP5, all objects are passed as reference, so there's no need to use '=&'.
Note by: alangrus
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