Heim Backend-Entwicklung PHP-Tutorial Einführung, wie PHPExcel durch PHP_XLSXWriter ersetzt wird (Bild)

Einführung, wie PHPExcel durch PHP_XLSXWriter ersetzt wird (Bild)

May 26, 2018 pm 04:08 PM
php phpexcel xlsxwriter

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);
Nach dem Login kopieren

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

, aber bei Verwendung von

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();
Nach dem Login kopieren
Verschiedene Spalten müssen möglicherweise in unterschiedlichen Formaten angezeigt werden. Die Standardformate sind Textformate, aber manchmal müssen sie als numerische Spalten angezeigt werden, was für die Verwendung von Funktionen in Excel praktischer ist , wie in der Tabelle oben. Die Betragsspalte in muss zwei Dezimalstellen, Tausendstel und ein numerisches Format haben.

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.

Kann ich den Wert einer bestimmten Zelle individuell festlegen?

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!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

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

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

PHP 8.4 Installations- und Upgrade-Anleitung für Ubuntu und Debian PHP 8.4 Installations- und Upgrade-Anleitung für Ubuntu und Debian Dec 24, 2024 pm 04:42 PM

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.

7 PHP-Funktionen, die ich leider vorher nicht kannte 7 PHP-Funktionen, die ich leider vorher nicht kannte Nov 13, 2024 am 09:42 AM

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

So richten Sie Visual Studio-Code (VS-Code) für die PHP-Entwicklung ein So richten Sie Visual Studio-Code (VS-Code) für die PHP-Entwicklung ein Dec 20, 2024 am 11:31 AM

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

Erklären Sie JSON Web Tokens (JWT) und ihren Anwendungsfall in PHP -APIs. Erklären Sie JSON Web Tokens (JWT) und ihren Anwendungsfall in PHP -APIs. Apr 05, 2025 am 12:04 AM

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.

Wie analysiert und verarbeitet man HTML/XML in PHP? Wie analysiert und verarbeitet man HTML/XML in PHP? Feb 07, 2025 am 11:57 AM

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

PHP -Programm zum Zählen von Vokalen in einer Zeichenfolge PHP -Programm zum Zählen von Vokalen in einer Zeichenfolge Feb 07, 2025 pm 12:12 PM

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

Erklären Sie die späte statische Bindung in PHP (statisch: :). Erklären Sie die späte statische Bindung in PHP (statisch: :). Apr 03, 2025 am 12:04 AM

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 PHP Magic -Methoden (__construct, __Destruct, __call, __get, __set usw.) und geben Sie Anwendungsfälle an? Was sind PHP Magic -Methoden (__construct, __Destruct, __call, __get, __set usw.) und geben Sie Anwendungsfälle an? Apr 03, 2025 am 12:03 AM

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.

See all articles