PHPEXCEL ist eine sehr leistungsstarke Bibliothek der MS Office Excel -Dokumentgenerierung. Wenn es notwendig ist, relativ komplexe Formatdaten auszugeben, ist Phpexcel eine gute Wahl. Die Verwendung ist jedoch relativ kompliziert. Listen Sie es auf, um es aufzunehmen.
Die Codekopie lautet wie folgt:
<?
// Legen Sie den Pfad der Phpexcel -Klassenbibliothek ein
set_include_path ('.'. path_separator.
'D:/zeal/php_libs'. Path_separator.
get_include_path ());
/**
* Das Folgende ist ein Beispiel für die Nutzung. Für Zeilen, die mit //// beginnen, gibt es verschiedene optionale Methoden. Bitte verwenden Sie sie entsprechend den tatsächlichen Bedürfnissen.
* Öffnen Sie den Kommentar zur entsprechenden Zeile.
* Wenn die Verwendung von Excel5 verwendet wird, sollte der Ausgang GBK codiert werden.
*/
required_once 'phpexcel.php';
// Überzeugung
//// fordern_once 'phpexcel/writer/excel5.php'; // verwendet für andere niedrigere Versionen von XLS
// oder
//// fordern_once 'phpexcel/writer/excel2007.php'; // für das Excel-2007-Format
// Erstellen Sie eine Verarbeitungsobjektinstanz
$ objexcel = new PHPexcel ();
// Dateiformat erstellen, um Objektinstanz zu schreiben, in der Überzeugung
//// $ objwriter = new PHPexcel_Writer_excel5 ($ objexcel); // für andere Versionsformate verwendet
// oder
//// $ objwriter = new PHPexcel_Writer_excel2007 ($ objexcel); // für 2007 Format
// $ objwriter-> setOffice2003Compatibilität (true);
//****************************************************
// Grundlegende Dokumenteneigenschaften festlegen
$ objProps = $ objexcel-> getProperties ();
$ objProps-> setCreator ("Zeal li");
$ objProps-> setLastModifiedBy ("Zeal li");
$ objprops-> settitle ("Büro-XLS-Testdokument");
$ objProps-> setSubject ("Office XLS-Testdokument, Demo");
$ objProps-> setDescription ("Testdokument, generiert von phpexcel");
$ objProps-> setKeywords ("Office Excel phpexcel");
$ objProps-> setCategory ("test");
//****************************************************
// Legen Sie den aktuellen Blattindex für nachfolgende Inhaltsvorgänge fest.
// Im Allgemeinen wird der Anruf nur erforderlich, wenn mehrere Blätter verwendet werden.
// standardmäßig erstellt PHPExcel automatisch das erste Blatt und setzt die Blattindex = 0
$ objexcel-> setactiveSheetIndex (0);
$ objactsheet = $ objexcel-> getActiveSheet ();
// Setzen Sie den Namen des aktuellen aktiven Blattes
$ objactsheet-> setitle ('Testblatt');
//****************************************************
// Zellinhalt setzen
//
// phpexcel bestimmt automatisch den Zellinhaltstyp basierend auf dem eingehenden Inhalt
$ objactsheet-> setCellValue ('A1', 'String-Inhalt'); // String -Inhalt
$ objactsheet-> setCellValue ('A2', 26); // Wert
$ objactsheet-> setCellValue ('A3', true); // boolescher Wert
$ objactsheet-> setCellValue ('A4', '= sum (a2: a2)'); // Formel
// Erläuterung Geben Sie den Inhaltstyp an
$ objactsheet-> setCellValueExplicit ('A5', '847475847857487584',,
Phpexcel_cell_datatype :: type_string);
// Zellen zusammenführen
$ objactsheet-> mergecells ('b1: c22');
// getrennte Zellen
$ objactsheet-> unmerGecells ('B1: C22');
//****************************************************
// Zellstil setzen
//
// Breite setzen
$ objactsheet-> getColumnDimension ('B')-> setAutosize (true);
$ objactsheet-> getColumnDimension ('a')-> setwidth (30);
$ objStylea5 = $ objactsheet-> getStyle ('A5');
// Legen Sie das Zahlenformat des Zellinhalts fest.
//
// Wenn phpexcel_writer_excel5 verwendet wird, um Inhalte zu generieren,
// Beachten
// Unter verschiedenen maßgeschneiderten Formatierungsmethoden können andere Typen normal verwendet werden, aber wenn setFormatcode
// Wenn es format_number ist, wird der tatsächliche Effekt nicht auf "0" gesetzt. brauchen
// Ändern Sie die Methode getXf ($ style) im Quellcode der Klasse PHPExcel_Writer_Excel5_Format, Klasse,
// Fügen Sie einen vor if if ($ this-> _ biff_version == 0x0500) {(in der Nähe von Zeile 363) hinzu
// Zeilencode:
// if ($ ifmt === '0') $ ifmt = 1;
//
// Setzen Sie das Format auf phpexcel_style_numberformat :: format_number, um einige große Zahlen zu vermeiden
// Es wird unter Verwendung der wissenschaftlichen Zählmethode angezeigt. In Verbindung mit der folgenden setAutosize -Methode kann der Inhalt jeder Zeile erfolgen
// Alle werden nach dem ursprünglichen Inhalt angezeigt.
$ objStylea5
-> GetNumberFormat ()
-> setFormatcode (phpexcel_style_numberFormat :: format_number);
// Schriftstelle setzen
$ objfonta5 = $ objStylea5-> getfont ();
$ objfonta5-> setName ('Courier New');
$ objfonta5-> setSize (10);
$ objfonta5-> setbold (true);
$ objfonta5-> setunderline (phpexcel_style_font :: Underline_single);
$ objfonta5-> getColor ()-> setargb ('ff9999999');
// Setzen Sie die Ausrichtung
$ objaligna5 = $ objStylea5-> getAlignment ();
$ objaligna5-> sethorizontal (phpexcel_style_alignment :: horizontal_right);
$ objaligna5-> setvertical (phpexcel_style_alignment :: vertical_center);
// Rand setzen
$ objbordera5 = $ objStylea5-> getBorders ();
$ objbordera5-> gettop ()-> setBorderSyle (PHPExcel_Style_Border :: Border_thin);
$ objbordera5-> gettop ()-> getColor ()-> setArgb ('ffff0000'); // Farbe
$ objbordera5-> getbottom ()-> setborderSyle (phpexcel_style_border :: border_thin);
$ objbordera5-> getleft ()-> setBorderSyle (PHPExcel_Style_Border :: Border_thin);
$ objbordera5-> getRight ()-> setborderSyle (phpexcel_style_border :: border_thin);
// Füllfarbe einstellen
$ objfilla5 = $ objStylea5-> getFill ();
$ objfilla5-> setfilltype (phpexcel_style_fill :: fill_solid);
$ objfilla5-> getStartColor ()-> setargb ('ffeeeee');
// Stilinformationen aus der angegebenen Zelle kopieren.
$ objactsheet-> duplicatestyle ($ objstylea5, 'b1: c22');
//****************************************************
// Bilder hinzufügen
$ objdrawing = new PHPexcel_worksheet_drawing ();
$ objdrawing-> setName ('Zealimg');
$ objdrawing-> setDescription ('Bild von Eifer eingefügt');
$ objdrawing-> setPath ('./seali.net.logo.gif');
$ objdrawing-> Seteight (36);
$ objdrawing-> setCoordinaten ('C23');
$ objdrawing-> setOffsetX (10);
$ objdrawing-> setRotation (15);
$ objdrawing-> getShadow ()-> setvisible (true);
$ objdrawing-> getShadow ()-> setDection (36);
$ objdrawing-> setworksheet ($ objactsheet);
// fügen Sie ein neues Arbeitsblatt hinzu
$ objexcel-> createsheet ();
$ objexcel-> getsheet (1)-> settitle ('test 2');
// die Zelle schützen
$ objexcel-> getsheet (1)-> getProtection ()-> setsheet (true);
$ objexcel-> getsheet (1)-> protectcells ('a1: c22', 'phpexcel');
//****************************************************
// Inhalt ausgeben
//
$ outputFileName = "output.xls";
// zur Datei
//// $ objwriter-> speichern ($ outputFileName);
//oder
// zum Browser
//// Header ("Content-Type: Application/Force-Download");
//// Header ("Content-type: application/octet-Stream");
//// Header ("Content-Typ: Anwendung/Download");
////header('Content-Disposition:Inline;FileName="'.$OutputFileName. '"');
//// Header ("Content-transfer-coding: binär");
//// Header ("Ausgelassen: Mon, 26. Juli 1997 05:00:00 GMT");
//// Header ("Last-Modified:". Gmdate ("D, D, myh: i: s"). "GMT");
//// Header ("cache-control: must-revalidat, postcheck = 0, precheck = 0");
//// Header ("Pragma: no-cache");
//// $ objwriter-> speichern ('php: // output');
?>