


So importieren und exportieren Sie Daten in PHP mit Excel-Grafiken und Textcode-Sharing im XML-Format
1 Einführung
1.1 Export
Bei tatsächlichen Arbeitsprojekten ist es häufig erforderlich, in einigen wichtigen Datenbanken gespeicherte Daten nach Excel zu exportieren, z. B. beim Exportieren von Anwesenheitsberichten, beim Exportieren von Finanzberichten usw Leistungsberichte, Exportverkaufsberichte usw. CleverCode verwendete PHPExcel zwei Jahre lang, um Excel-Exportdaten zu erstellen, stellte jedoch fest, dass die Verwendung von PHPExcel zum Generieren von Excel zu mühsam war, insbesondere die Steuerung der Zellenfarbe, das Zusammenführen von Zellen, das Festlegen von Zellenlängen usw. Normalerweise dauert es einen Tag, eines davon in Excel zu entwerfen. Später entdeckte CleverCode eine einfache Methode, Excel mit PHP ins XML-Format zu exportieren. Früher dauerte es einen Tag, aber jetzt ist es in einer halben Stunde erledigt. Das ist wirklich das Doppelte des Ergebnisses mit halbem Aufwand!
1.2 Import
Gleichzeitig müssen einige Projekte auch einige Excel-Daten in die Datenbank importieren. Beispielsweise werden die von der Bank bereitgestellten Kontoauszüge und die Umsatzberichte in die Datenbank importiert. Der übliche Ansatz ist die Verwendung von PHPExcel.
Obwohl Sie XML-Parser, SimpleXML, XMLReader, DOMDocument und andere Methoden verwenden können, um Excel im XML-Format zu lesen, hat CleverCode versucht, diese Methoden zu verwenden und festgestellt, dass sie zu kompliziert und mühsam und nicht so nützlich sind wie PHPExcel.
Wenn Sie also Excel (einschließlich XML-Format) lesen müssen, empfiehlt CleverCode die Verwendung der PHPExcel-Bibliothek.
2 Anforderungen
Eine bestimmte Gruppe benötigt den Verantwortlichen jeder Region, um die Bestellungen und Verkäufe der Stadtstationen, für die sie verantwortlich sind, in die Datenbank zu importieren.
1) Die Website bietet eine importierte Verkaufsberichtsvorlage.
2) Jeder Verantwortliche kann nur Daten für die Stadt hoch- und herunterladen, für die er verantwortlich ist (Berechtigungsprüfung).
3) Nur hochladen, um alle Quartale zu generieren, die dem aktuellen Jahr und diesem Tag gehören. Heute ist beispielsweise der 26.05.2015. Dann werden nur das erste Quartal und das zweite Quartal 2015 generiert.
Wenn es der 01.12.2015 ist. Sie müssen das erste, zweite, dritte und vierte Quartal 2015 generieren.
4) Zeigen Sie die Daten der vorherigen Quartale dieses Quartals an.
5) Die Daten für dieses Quartal sind standardmäßig alle 0.
6) Nur die Daten für dieses Quartal können geändert werden.
3 Download des Programmierquellcodes
4 Design der Website-Seite
4.1 Anzeige
4.2 display.php-Code
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gbk" /> <title>PHP导入与导出xml格式的Excel</title> <style type="text/css"> body{ font-size:14px;} input{ vertical-align:middle; margin:0; padding:0} .file-box{ position:relative;width:340px} .txt{ height:22px; border:1px solid #cdcdcd; width:180px;} .btn{ background-color:#FFF; border:1px solid #CDCDCD;height:24px; width:70px;} .file{ position:absolute; top:0; right:80px; height:24px; filter:alpha(opacity:0); opacity: 0;width:260px } </style> </head> <body> <p class="file-box"> <form action="" method="post" enctype="multipart/form-data"> <input type='text' name='textfield' id='textfield' class='txt' /> <input type='button' class='btn' value='浏览...' /> <input type="file" name="fileField" class="file" id="fileField" size="28" onchange="document.getElementById('textfield').value=this.value" /> <input type="submit" name="submit" class="btn" value="上传" /> </form> <a href="export.php">下载销售报表模板</a> </p> </body> </html>
5 PHP exportiert Excel im XML-Format (Vorlage für Verkaufsbericht exportieren)
1) Erstellen Sie einen neuen [Verkaufsbericht.xlsx]. Das Design ist wie folgt.
2) Speichern Sie die Datei [Sales Report.xlsx] als [Sales Report.xml]
3) Öffnen Sie [Sales Report.xml], um die Daten im XML-Format anzuzeigen.
4) Tabelleninformationen finden. Löschen Sie ss:ExpandedColumnCount="5" ss:ExpandedRowCount="6". Diese Einschränkung begrenzt die Länge und Breite der Tabelle und muss daher entfernt werden.
<Table ss:ExpandedColumnCount="5" ss:ExpandedRowCount="6" x:FullColumns="1" x:FullRows="1" ss:StyleID="s23" ss:DefaultColumnWidth="54" ss:DefaultRowHeight="18.75">
Wechsel zu
<Table x:FullColumns="1" x:FullRows="1" ss:StyleID="s23" ss:DefaultColumnWidth="54" ss:DefaultRowHeight="18.75">
5 PHP-Export Excel-Geschäftslogikcode (Excel.php)
<?php /** * Excel.php * * Excel操作 * * Copyright (c) 2015 http://blog.csdn.net/CleverCode * * modification history: * -------------------- * 2015/5/14, by CleverCode, Create * */ class Excel{ /** * 导出excel * * @param int $userid 用户编号 * @return string $xmlStr */ public static function export($userid){ // 根据不同用户的权限,获取不同的数据 $data = self::getExportData($personid); // 获取字符串,如果excel的列是固定的可以通过Smarty方式获取 // 但是如果excel的列需要通过动态生成,则可以通过php组合字符串。 // $xmlStr = self::getXmlStrBySmarty($data); // 这个需要根据当前日期动态的生成有几个季度 $xmlStr = self::getXmlStrByPHP($data); return $xmlStr; } /** * 生成excel数据 * * @param int $userid 用户编号 * @return array 结果数据 */ public static function getExportData($userid){ if (!is_int($userid)) { return array(); } $infoBJ = array( 'city' => '北京', 'order_1' => 100, 'money_1' => 10000, 'order_2' => 200, 'money_2' => 40000 ); $infoTJ = array( 'city' => '天津', 'order_1' => 50, 'money_1' => 1000, 'order_2' => 100, 'money_2' => 2000 ); $infoGZ = array( 'city' => '广州', 'order_1' => 50, 'money_1' => 1000, 'order_2' => 100, 'money_2' => 2000 ); // 根据不同用户的权限,获取不同的数据 if (is_admin($userid)) { $data[] = $infoBJ; $data[] = $infoTJ; $data[] = $infoGZ; } else { $data[] = $infoBJ; } return $data; } /** * 通过Smarty方式获取xml字符串 * * @param array $data 结果集 * @return string $xmlStr */ public static function getXmlStrBySmarty($data){ require_once 'Smarty.class.php'; $smarty = new Smarty(); $tpl = 'file/export.tpl'; $smarty->assign('list', $data); // capture the output // 捕获输出 $xml = $smarty->fetch($tpl); return $xml; } /** * 通过PHP组合字符串方式获取xml字符串(可以动态扩展列) * * @param array $data 结果集 * @return string $xmlStr */ public static function getXmlStrByPHP($data){ $xml = ' <?xml version="1.0"?> <?mso-application progid="Excel.Sheet"?> <Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet" xmlns:o="urn:schemas-microsoft-com:office:office" ............ </Style> </Styles> <Worksheet ss:Name="Sheet1"> <Table x:FullColumns="1" x:FullRows="1" ss:StyleID="s16" ss:DefaultColumnWidth="54" ss:DefaultRowHeight="18.75"> '; //可以根据季度的多少动态扩展列,这里不做说明,请自行尝试。 $xml. = ' <Row ss:AutoFitHeight="0"> <Cell ss:MergeDown="1" ss:StyleID="m42513364"><Data ss:Type="String">城市</Data></Cell> <Cell ss:MergeAcross="1" ss:StyleID="s25"><Data ss:Type="String">2015一季度</Data></Cell> <Cell ss:MergeAcross="1" ss:StyleID="m42513344"><Data ss:Type="String">2015二季度</Data></Cell> </Row> <Row ss:AutoFitHeight="0"> <Cell ss:Index="2" ss:StyleID="s17"><Data ss:Type="String">订单</Data></Cell> <Cell ss:StyleID="s17"><Data ss:Type="String">销售额</Data></Cell> <Cell ss:StyleID="s17"><Data ss:Type="String">订单</Data></Cell> <Cell ss:StyleID="s17"><Data ss:Type="String">销售额</Data></Cell> </Row> '; // 输出数据 foreach ( $data as $row ) { $xml .= ' <Row ss:AutoFitHeight="0"> <Cell ss:StyleID="s18"><Data ss:Type="String">' . $row['city'] . '</Data></Cell> <Cell ss:StyleID="s19"><Data ss:Type="Number">' . $row['order_1'] . '</Data></Cell> <Cell ss:StyleID="s19"><Data ss:Type="Number">' . $row['money_1'] . '</Data></Cell> <Cell ss:StyleID="s19"><Data ss:Type="Number">' . $row['order_2'] . '</Data></Cell> <Cell ss:StyleID="s19"><Data ss:Type="Number">' . $row['money_2'] . '</Data></Cell> </Row> '; } $xml .= ' <WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel"> ........... </Workbook> '; return $xml; } }
6 PHP Excel-Client-Code exportieren (export.php)
<?php /** * export.php * * 导出excel * * Copyright (c) 2015 http://blog.csdn.net/CleverCode * * modification history: * -------------------- * 2015/5/14, by CleverCode, Create * */ // Excel类 include_once ('Excel.php'); /* * 客户端类 * 让客户端和业务逻辑尽可能的分离,降低客户端和业务逻辑算法的耦合, * 使业务逻辑的算法更具有可移植性 */ class Client{ public function main(){ // 获取xml格式字符串 $xmlStr = Excel::export(1); // 头部 $filename = '销售报表模板'; header("Content-Type: application/vnd.ms-excel; charset=UTF-8"); header("Content-Disposition: inline; filename=\"$filename.xls\""); header("Content-Transfer-Encoding: binary"); header("Pragma: public"); header("Cache-Control: must-revalidate, post-check=0, pre-check=0"); // 输出字符串 echo $xmlStr; exit(); } } /** * 程序入口 */ function start(){ $client = new Client(); $client->main(); } start(); ?>
6 PHP Excel im XML-Format importieren
1) Nach dem Herunterladen der Verkaufsvorlage Geben Sie die Daten ein und klicken Sie auf der Seite auf die Schaltfläche „Hochladen“, um die Excel-Daten hochzuladen.
2) PHP importierte Excel-Geschäftslogikcode (Excel.php). Hier kommt die PHPExcel-Bibliothek zum Einsatz.
<?php /** * Excel.php * * Excel操作 * * Copyright (c) 2015 http://blog.csdn.net/CleverCode * * modification history: * -------------------- * 2015/5/14, by CleverCode, Create * */ class Excel{ /* * 读取Excel格式的数据(可以读取xml格式数据) * * @param string $filename excel文件 * @param string $startRow 开始行 * @param string $endRow 结束行 * @param string $startColumn 开始列 * @param string $endColumn 结束列 * @return array excel结果集数据 */ public static function read($filename, $startRow = 1, $endRow = null, $startColumn = 0, $endColumn = null){ $excelData = array(); if (!file_exists($filename)) { return $excelData; } require_once 'PHPExcel/PHPExcel.php'; require_once 'PHPExcel/PHPExcel/IOFactory.php'; // 加载excel文件 $objPHPExcel = PHPExcel_IOFactory::load($filename); // 获取焦点Sheet $objWorksheet = $objPHPExcel->getActiveSheet(); // 获取总行 $totalRows = $objWorksheet->getHighestRow(); // 获取总行数 // 获取总列 $highestColumn = $objWorksheet->getHighestColumn(); $totalColumns = PHPExcel_Cell::columnIndexFromString($highestColumn); // 开始行 if (!is_int($startRow) || $startRow < 1) { $startRow = 1; } // 结束行 if ($endRow == null || !is_int($endRow) || $endRow > $totalRows) { $endRow = $totalRows; } // 开始列 if (!is_int($startColumn) || $startColumn < 0) { $startColumn = 0; } // 结束列 if ($endColumn == null || !is_int($endColumn) || $endColumn > $totalColumns) { $endColumn = $totalColumns; } // 读取数据 for($rowNum = $startRow; $rowNum <= $endRow; $rowNum++) { for($colNum = $startColumn; $colNum < $endColumn; $colNum++) { $item = $objWorksheet->getCellByColumnAndRow($colNum, $rowNum); $exValue = trim($item->getValue()); $excelData[$rowNum][$colNum] = $exValue; } } return $excelData; } }
3) PHP importierte Excel-Client-Code (import.php)
<?php /** * import.php * * 导入excel * * Copyright (c) 2015 http://blog.csdn.net/CleverCode * * modification history: * -------------------- * 2015/5/14, by CleverCode, Create * */ // Excel类 include_once ('Excel.php'); /* * 客户端类 * 让客户端和业务逻辑尽可能的分离,降低客户端和业务逻辑算法的耦合, * 使业务逻辑的算法更具有可移植性 */ class Client{ public function main(){ if (!$_FILES['file']) { exit(); } // 从第3行开始读取Excel数据 $datas = Excel::read($_FILES['file']['tmp_name'], 3); // 将$datas保存到数据库 // .... } } /** * 程序入口 */ function start(){ $client = new Client(); $client->main(); } start(); ?
Das obige ist der detaillierte Inhalt vonSo importieren und exportieren Sie Daten in PHP mit Excel-Grafiken und Textcode-Sharing im XML-Format. 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.
