{"id":25911,"date":"2021-06-17T12:36:00","date_gmt":"2021-06-17T09:36:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=25911"},"modified":"2021-10-18T02:28:53","modified_gmt":"2021-10-17T23:28:53","slug":"so-lesen-und-schreiben-sie-tabellenkalkulationsdateien-in-php","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/de\/so-lesen-und-schreiben-sie-tabellenkalkulationsdateien-in-php\/","title":{"rendered":"So lesen und schreiben Sie Tabellenkalkulationsdateien in PHP"},"content":{"rendered":"<p>Bei der Arbeit an Webanwendungen sto\u00dfen wir oft auf eine Situation, in der wir mit Tabellenkalkulationsdateien spielen m\u00fcssen. M\u00f6glicherweise m\u00f6chten wir Daten aus Tabellenkalkulationen lesen und verarbeiten. Manchmal ist es auch erforderlich, Tabellenkalkulationsdateien zu erstellen und zu schreiben.<\/p>\n<p>In diesem Artikel lernen wir, wie man Tabellenkalkulationsdateien in PHP liest und schreibt. Der Code, den wir erkl\u00e4ren werden, funktioniert mit 3 Arten von Tabellenkalkulationen \u2013 CSV, XLSX und ODS.<\/p>\n<h3>Einstieg<\/h3>\n<p>Als Entwickler m\u00f6chte ich mit verschiedenen Paketen experimentieren, die hilfreich sein k\u00f6nnen, um reale Probleme zu l\u00f6sen. Vor kurzem bin ich auf ein Paket namens <a href=\"https:\/\/github.com\/box\/spout\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">box\/spout gesto\u00dfen<\/a>. Ich mochte die Art und Weise, wie die Bibliothek die Aufgaben erledigte. Mit dieser Bibliothek k\u00f6nnen Sie Tabellenkalkulationsdateien mit nur wenigen Codezeilen verarbeiten.<\/p>\n<p>Diese Bibliothek kann Dateien jeder Gr\u00f6\u00dfe verarbeiten. M\u00f6glicherweise haben Sie es mit einer gro\u00dfen Datei zu tun. W\u00e4hrend des Vorgangs sollte die gro\u00dfe Datei den Speicher nicht verbrauchen und ein Leistungsproblem verursachen. Die Spout-Bibliothek l\u00f6st dieses Problem. Es ben\u00f6tigt nur 3 MB Speicher, um eine Datei zu verarbeiten.<\/p>\n<p>Bevor Sie beginnen, sollte Ihr Server die folgenden Anforderungen erf\u00fcllen.<\/p>\n<ul>\n<li>PHP-Version 7.2 oder h\u00f6her<\/li>\n<li>PHP-Erweiterung <code>php_zip<\/code>aktiviert<\/li>\n<li>PHP-Erweiterung <code>php_xmlreader<\/code>aktiviert<\/li>\n<\/ul>\n<p>Der Benutzer kann mit der <code>phpinfo()<\/code>Methode \u00fcberpr\u00fcfen, ob alle oben genannten Anforderungen auf Ihrem Server erf\u00fcllt sind. Erstellen Sie eine tempor\u00e4re PHP-Datei und platzieren Sie die folgende Anweisung darin.<\/p>\n<p>F\u00fchren Sie nun diese PHP-Datei im Browser aus und Sie sehen PHP-Konfigurationen wie Version, Erweiterungen usw. Sie sollten sehen <code>xmlreader<\/code>und <code>zip<\/code>Erweiterungen sind aktiviert, wie im Screenshot unten gezeigt.<\/p>\n<p><a href=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20182-6081c957ae160.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20182-6081c957ae160.png\" alt=\"So lesen und schreiben Sie Tabellenkalkulationsdateien in PHP\" ><\/a><\/p>\n<p>Sobald Sie die Anforderungen erf\u00fcllen, installieren Sie das <code>box\/spout<\/code>Paket mit dem folgenden Befehl.<\/p>\n<pre><code>composer require box\/spout<\/code><\/pre>\n<h3>Tabellenkalkulationsdateien in PHP lesen und schreiben<\/h3>\n<p>Spout-Paket erm\u00f6glicht die Interaktion mit XLSX-, CSV- und ODS-Dateien. Als Beispiel schreibe ich einen Code f\u00fcr XLSX-Dateien.<\/p>\n<p>Erstellen Sie eine XLSX-Beispieldatei <code>users.xlsx<\/code>im Stammverzeichnis und f\u00fcgen Sie einige Dummy-Eintr\u00e4ge hinzu. In meinem Fall hat die Datei folgende Eintr\u00e4ge.<\/p>\n<p><a href=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20182-6081c95872223.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20182-6081c95872223.png\" alt=\"So lesen und schreiben Sie Tabellenkalkulationsdateien in PHP\" ><\/a><\/p>\n<p>Als n\u00e4chstes schreibe ich einen Code in eine <code>reader.php<\/code>Datei, der <code>users.xlsx<\/code>die Daten liest und ausdruckt.<\/p>\n<p><strong>reader.php<\/strong><\/p>\n<pre><code>&lt;?php\nrequire_once 'vendor\/autoload.php';\n\u00a0\nuse BoxSpoutReaderCommonCreatorReaderEntityFactory;\n\u00a0\n$filePath = getcwd().'\/users.xlsx';\n\u00a0\n$reader = ReaderEntityFactory::createReaderFromFile($filePath);\n\u00a0\n$reader-&gt;open($filePath);\n\u00a0\nforeach ($reader-&gt;getSheetIterator() as $sheet) {\n\u00a0\u00a0\u00a0\u00a0foreach ($sheet-&gt;getRowIterator() as $row) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$cells = $row-&gt;getCells();\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0foreach ($cells as $cell) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0echo $cell-&gt;getValue();\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}\n\u00a0\u00a0\u00a0\u00a0}\n}\n\u00a0\n$reader-&gt;close();<\/code><\/pre>\n<p>So einfach ist das. Mach weiter und probiere es aus.<\/p>\n<p>Andererseits k\u00f6nnen wir ganz einfach eine XLSX-Datei erstellen und Daten hineinschreiben. Lassen Sie uns eine Datei erstellen <code>writer.php<\/code>und unten den Code hinzuf\u00fcgen.<\/p>\n<p><strong>Schriftsteller.php<\/strong><\/p>\n<pre><code>&lt;?php\nrequire_once 'vendor\/autoload.php';\n\u00a0\nuse BoxSpoutWriterCommonCreatorWriterEntityFactory;\nuse BoxSpoutCommonEntityRow;\n\u00a0\n$filePath = getcwd().'\/new-users.xlsx';\n\u00a0\n$writer = WriterEntityFactory::createXLSXWriter();\n\u00a0\n$writer-&gt;openToFile($filePath);\n\u00a0\n\/\/ Here is data for XLSX file\n$data = [\n\u00a0\u00a0\u00a0\u00a0['Name', 'Email'],\n\u00a0\u00a0\u00a0\u00a0['Steve', 'steve@test.com'],\n\u00a0\u00a0\u00a0\u00a0['David', 'david@test.com'],\n];\n\u00a0\nforeach ($data as $d) {\n\u00a0\u00a0\u00a0\u00a0$cells = [\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0WriterEntityFactory::createCell($d[0]),\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0WriterEntityFactory::createCell($d[1]),\n\u00a0\u00a0\u00a0\u00a0];\n\u00a0\n\u00a0\u00a0\u00a0\u00a0$singleRow = WriterEntityFactory::createRow($cells);\n\u00a0\u00a0\u00a0\u00a0$writer-&gt;addRow($singleRow);\n}\n\u00a0\n$writer-&gt;close();<\/code><\/pre>\n<p>Der obige Code erstellt eine <code>new-users.xlsx<\/code>Datei in Ihrem Stammverzeichnis. Wenn Sie diese Datei \u00f6ffnen, werden einige Zeilen (im Code verwendet) eingef\u00fcgt.<\/p>\n<p>Bei CSV- und ODS-Dateien m\u00fcssen Sie <code>$writer<\/code>wie folgt ein Objekt erstellen .<\/p>\n<pre><code>$filePath = getcwd().'\/new-users.ods';\n$writer = WriterEntityFactory::createODSWriter();\n\u00a0\n$filePath = getcwd().'\/new-users.csv';\n$writer = WriterEntityFactory::createCSVWriter();<\/code><\/pre>\n<p>Ich hoffe, Sie verstehen, wie man Tabellenkalkulationsdateien in PHP liest und schreibt. Ich w\u00fcrde gerne Ihre Gedanken und Vorschl\u00e4ge im Kommentarbereich unten h\u00f6ren.<\/p>\n<h4>Zum Thema passende Artikel<\/h4>\n<ul>\n<li><a href=\"https:\/\/themewp.inform.click\/de\/so-lesen-sie-csv-und-excel-dateien-in-php-mit-phpspreadsheet\/\" title=\"So lesen Sie CSV- und Excel-Dateien in PHP mit PHPSpreadsheet\">So lesen Sie CSV- und Excel-Dateien in PHP mit PHPSpreadsheet<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/de\/so-exportieren-sie-mysql-datenbankdaten-mit-php-nach-excel\/\" title=\"So exportieren Sie MySQL-Datenbankdaten mit PHP nach Excel\">So exportieren Sie MySQL-Datenbankdaten mit PHP nach Excel<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/de\/so-konvertieren-sie-html-in-pdf-in-php\/\" title=\"So konvertieren Sie HTML in PDF in PHP\">So konvertieren Sie HTML in PDF in PHP<\/a><\/li>\n<\/ul>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Aufnahmequelle:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/artisansweb.net\" class=\"external external_icon\">artisansweb.net<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>M\u00f6chten Sie wissen, wie Sie Tabellenkalkulationsdateien in PHP lesen und schreiben? In diesem Artikel untersuchen wir, wie Sie mit Tabellenkalkulationsdateien interagieren, indem Sie<\/p>\n","protected":false},"author":1,"featured_media":20183,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[272],"tags":[845],"class_list":["post-25911","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-php-3","tag-affiai-de"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/posts\/25911","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/comments?post=25911"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/posts\/25911\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/media\/20183"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/media?parent=25911"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/categories?post=25911"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/tags?post=25911"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}