


Einführung, wie PHPExcel durch PHP_XLSXWriter ersetzt wird (Bild)
PHPExcel ist ein Open-Source-Framework zur Verarbeitung von Excel- und CVS-Dateien. Leider verwaltet PHPExcel dieses Projekt offiziell nicht mehr. Das offizielle Team hat ein neues Projekt auf Github gestartet. In diesem Artikel werden Ihnen daher hauptsächlich Beispiele für die Verwendung von PHP_XLSXWriter anstelle von PHPExcel vorgestellt. Freunde in Not können sich darauf beziehen.
Vorwort
Dieser Artikel stellt Ihnen hauptsächlich die Methode vor, PHP_XLSXWriter als Ersatz für PHPExcel zu verwenden. Ich werde ihn als Referenz und zum Studium mit Ihnen teilen. Ich werde weiter unten nichts sagen. Schauen wir uns die ausführliche Einführung an:
Was ist der Unterschied zwischen den beiden?
PHPExcel ist ein Prozess für Excel, ein Open-Source-Framework für CVS-Dateien, basierend auf dem OpenXML-Standard und der PHP-Sprache von Microsoft. Sie können damit Tabellenkalkulationen in verschiedenen Formaten lesen und schreiben. Dies ist auch das bisher vielseitigste Excel-Verarbeitungstool für PHP, hat aber einen sehr fatalen Nachteil: Es nimmt viel Speicher in Anspruch und ist bei großen Stapeln fast ermüdend Ob Sie es mögen oder nicht, die Verarbeitungsgeschwindigkeit ist sehr langsam, aber es ist sehr funktionsreich und verfügt über viele APIs. Wenn Sie also Excel-Tabellen in komplexe Formate exportieren, müssen Sie es oft verwenden, was wirklich eine Hassliebe ist Beziehung.
Leider verwaltet PHPExcel dieses Projekt offiziell nicht mehr. Das offizielle Team hat auf Github ein neues Projekt namens PHPSpreadsheet gestartet. Das neue Projekt verwendet viele neue PHP-Funktionen, wie z. B. Namespace . PSR-Standard, und seine Leistung ist viel höher als PHPExcel. Das Projekt befindet sich jedoch noch im Entwicklungsstatus (12.07.2017). Es wird geschätzt, dass es noch mehr Fehler geben wird Es wird nicht empfohlen, das Bild unten zu verwenden:
Im Vergleich zu PHPExcel ist PHP_XLSXWriter ein kleines, aber leistungsstarkes Excel-Lese- und Schreib-Plug-in verfügt nicht über so viele erweiterte Funktionen wie PHPExcel. Die Exportgeschwindigkeit ist jedoch sehr hoch, was sich sehr gut für Exportanforderungen mit besonders großen Datenmengen und unkomplizierten Berichtsformaten eignet der offizielle Geschwindigkeits- und Gedächtnistest:
Wie verwende ich PHP_XLSXWriter?
Herunterladen
Dies ist die Github-Adresse von PHP_XLSXWriter. Sie können es natürlich auch lokal herunterladen Klicken Sie hier, um es herunterzuladen. Laden Sie es herunter. Nach der Dekomprimierung können Sie sehen, dass es nur eine Kerndatei gibt: xlswriter.class.php. Es enthält viele Beispiele, auf die Sie verweisen können.
Verwendung
Für die meisten täglichen Berichtsanforderungen ist PHP_XLSXWriter geeignet mit der Verwendung von API vertraut.
Angenommen, wir möchten den Bericht im Bild unten exportieren und über den Browser herunterladen:
Code-Implementierung:
//writer 类 $writer = new XLSXWriter(); //文件名 $filename = "example.xlsx"; //设置 header,用于浏览器下载 header('Content-disposition: attachment; filename="'.XLSXWriter::sanitize_filename($filename).'"'); header("Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); header('Content-Transfer-Encoding: binary'); header('Cache-Control: must-revalidate'); header('Pragma: public'); //导出的数据 $string = array ( 0 => array ( 'payc_bill_time' => '2017-07-12 16:40:44', 'payt_received_date' => '2017-07-12', 'ci_name' => '租金', 'payt_num' => 'YRZB(2012)A0047', 'payt_scsr_name' => '李巧红', 'payt_received' => '300.00', 'paytd_type' => '现金', 'emp_name' => '郑振标', ), 1 => array ( 'payc_bill_time' => '2017-07-12 16:39:55', 'payt_received_date' => '2017-07-12', 'ci_name' => '租金', 'payt_num' => 'YRZB(2012)A0046', 'payt_scsr_name' => '22222', 'payt_received' => '45.00', 'paytd_type' => '现金', 'emp_name' => '郑振标', ) ); //每列的标题头 $title = array ( 0 => '开单时间', 1 => '收款时间', 2 => '开票项目', 3 => '票据编号', 4 => '客户名称', 5 => '实收金额', 6 => '收款方式', 7 => '收款人', ); //工作簿名称 $sheet1 = 'sheet1'; //对每列指定数据类型,对应单元格的数据类型 foreach ($title as $key => $item){ $col_style[] = $key ==5 ? 'price': 'string'; } //设置列格式,suppress_row: 去掉会多出一行数据;widths: 指定每列宽度 $writer->writeSheetHeader($sheet1, $col_style, ['suppress_row'=>true,'widths'=>[20,20,20,20,20,20,20,20]] ); //写入第二行的数据,顺便指定样式 $writer->writeSheetRow($sheet1, ['xxx财务报表'], ['height'=>32,'font-size'=>20,'font-style'=>'bold','halign'=>'center','valign'=>'center']); /*设置标题头,指定样式*/ $styles1 = array( 'font'=>'宋体','font-size'=>10,'font-style'=>'bold', 'fill'=>'#eee', 'halign'=>'center', 'border'=>'left,right,top,bottom'); $writer->writeSheetRow($sheet1, $title,$styles1); // 最后是数据,foreach写入 foreach ($data as $value) { foreach ($value as $item) { $temp[] = $item;} $rows[] = $temp; unset($temp); } $styles2 = ['height'=>16]; foreach($rows as $row){ $writer->writeSheetRow($sheet1, $row,$styles2); } //合并单元格,第一行的大标题需要合并单元格 $writer->markMergedCell($sheet1, $start_row=0, $start_col=0, $end_row=0, $end_col=7); //输出文档 $writer->writeToStdOut(); exit(0);
Jede Codezeile oben ist kommentiert. Sie können sich die Codebeispiele im Beispielordner und die Dokumentation auf der offiziellen Website ansehen. Die Dokumentation ist jedoch relativ kurz 🎜>
Leitfaden zu Sprungfallen:Ich bin bei der Verwendung auch auf einige Fallstricke gestoßen, ich hoffe, sie wird Ihnen hilfreich sein:
Dateiname entspricht nicht dem Klassennamen
Dies ist eigentlich kein Problem bei Verwendung von require oder
require_once
autoload weil beides nicht übereinstimmt, kann es nicht identifiziert werden. Möglicherweise möchten Sie die Datei xlsxwriter.class.php in Ihr Projekt einführen und einen Namespace hinzufügen, damit sie automatisch geladen werden kann. Zu diesem Zeitpunkt müssen Sie den Dateinamen in den Klassennamen XLSXWriter.class.php ändern (hier in TP eingeführt). Wenn ich ihn beispielsweise in das Komponentenverzeichnis einfüge, füge ich den Namensraum Component hinzu Zu diesem Zeitpunkt gibt es auch eine Zip-Klasse in der Datei, die keinen Namespace eingeführt hat. Sie müssen „use ZipArchive“ hinzufügen. Nachdem diese abgeschlossen sind, können Sie sie an anderer Stelle im Projekt verwenden 🎜>Wie formatiere ich Spalten?
use Component; $writer = new XLSXWriter();
Sehen Sie sich den Code oben an. Das Zahlenformat wird tatsächlich in der writeSheetHeader-Methode festgelegt. Wenn Sie andere Formate benötigen, sind die häufig verwendeten Formate auf der Homepage aufgeführt offizielle Website.
Dies ist jetzt noch nicht implementiert und unterstützt keine so feine Granularität. Ein Kompromiss besteht darin, Nullen in die Zellen zu schreiben, die nicht gefüllt werden müssen
Zusammenfassung
Das obige ist der detaillierte Inhalt vonEinführung, wie PHPExcel durch PHP_XLSXWriter ersetzt wird (Bild). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen





PHP 8.4 bringt mehrere neue Funktionen, Sicherheitsverbesserungen und Leistungsverbesserungen mit einer beträchtlichen Menge an veralteten und entfernten Funktionen. In dieser Anleitung wird erklärt, wie Sie PHP 8.4 installieren oder auf PHP 8.4 auf Ubuntu, Debian oder deren Derivaten aktualisieren. Obwohl es möglich ist, PHP aus dem Quellcode zu kompilieren, ist die Installation aus einem APT-Repository wie unten erläutert oft schneller und sicherer, da diese Repositorys in Zukunft die neuesten Fehlerbehebungen und Sicherheitsupdates bereitstellen.

Wenn Sie ein erfahrener PHP-Entwickler sind, haben Sie möglicherweise das Gefühl, dass Sie dort waren und dies bereits getan haben. Sie haben eine beträchtliche Anzahl von Anwendungen entwickelt, Millionen von Codezeilen debuggt und eine Reihe von Skripten optimiert, um op zu erreichen

Visual Studio Code, auch bekannt als VS Code, ist ein kostenloser Quellcode-Editor – oder eine integrierte Entwicklungsumgebung (IDE) –, die für alle gängigen Betriebssysteme verfügbar ist. Mit einer großen Sammlung von Erweiterungen für viele Programmiersprachen kann VS Code c

JWT ist ein offener Standard, der auf JSON basiert und zur sicheren Übertragung von Informationen zwischen Parteien verwendet wird, hauptsächlich für die Identitätsauthentifizierung und den Informationsaustausch. 1. JWT besteht aus drei Teilen: Header, Nutzlast und Signatur. 2. Das Arbeitsprinzip von JWT enthält drei Schritte: Generierung von JWT, Überprüfung von JWT und Parsingnayload. 3. Bei Verwendung von JWT zur Authentifizierung in PHP kann JWT generiert und überprüft werden, und die Funktionen und Berechtigungsinformationen der Benutzer können in die erweiterte Verwendung aufgenommen werden. 4. Häufige Fehler sind Signaturüberprüfungsfehler, Token -Ablauf und übergroße Nutzlast. Zu Debugging -Fähigkeiten gehört die Verwendung von Debugging -Tools und Protokollierung. 5. Leistungsoptimierung und Best Practices umfassen die Verwendung geeigneter Signaturalgorithmen, das Einstellen von Gültigkeitsperioden angemessen.

Dieses Tutorial zeigt, wie XML -Dokumente mit PHP effizient verarbeitet werden. XML (Extensible Markup-Sprache) ist eine vielseitige textbasierte Markup-Sprache, die sowohl für die Lesbarkeit des Menschen als auch für die Analyse von Maschinen entwickelt wurde. Es wird üblicherweise für die Datenspeicherung ein verwendet und wird häufig verwendet

Eine Zeichenfolge ist eine Folge von Zeichen, einschließlich Buchstaben, Zahlen und Symbolen. In diesem Tutorial wird lernen, wie Sie die Anzahl der Vokale in einer bestimmten Zeichenfolge in PHP unter Verwendung verschiedener Methoden berechnen. Die Vokale auf Englisch sind a, e, i, o, u und sie können Großbuchstaben oder Kleinbuchstaben sein. Was ist ein Vokal? Vokale sind alphabetische Zeichen, die eine spezifische Aussprache darstellen. Es gibt fünf Vokale in Englisch, einschließlich Großbuchstaben und Kleinbuchstaben: a, e, ich, o, u Beispiel 1 Eingabe: String = "TutorialPoint" Ausgabe: 6 erklären Die Vokale in der String "TutorialPoint" sind u, o, i, a, o, ich. Insgesamt gibt es 6 Yuan

Statische Bindung (statisch: :) implementiert die späte statische Bindung (LSB) in PHP, sodass das Aufrufen von Klassen in statischen Kontexten anstatt Klassen zu definieren. 1) Der Analyseprozess wird zur Laufzeit durchgeführt.

Was sind die magischen Methoden von PHP? Zu den magischen Methoden von PHP gehören: 1. \ _ \ _ Konstrukt, verwendet, um Objekte zu initialisieren; 2. \ _ \ _ Destruct, verwendet zur Reinigung von Ressourcen; 3. \ _ \ _ Call, behandeln Sie nicht existierende Methodenaufrufe; 4. \ _ \ _ GET, Implementieren Sie den dynamischen Attributzugriff; 5. \ _ \ _ Setzen Sie dynamische Attributeinstellungen. Diese Methoden werden in bestimmten Situationen automatisch aufgerufen, wodurch die Code -Flexibilität und -Effizienz verbessert werden.
