Zum Hauptinhalt springen

Wie konvertiert man eine HTML-Tabelle mit PHP in Excel

HTML-Tabellen sind eine gängige Methode, um strukturierte Daten auf Webseiten darzustellen. Es ist jedoch manchmal praktisch, diese Daten in einem Format zu haben, das in Excel geöffnet und bearbeitet werden kann. In diesem Artikel werden wir uns ansehen, wie eine HTML-Tabelle mit PHP in das Excel-Format konvertiert wird.

PHP ist eine Programmiersprache, die häufig für die Entwicklung von Webanwendungen verwendet wird. Es bietet auch eine Reihe von Funktionen und Bibliotheken für die Arbeit mit Dateien verschiedener Formate, einschließlich Excel. Mit diesen Funktionen und Bibliotheken können wir eine Excel-Datei basierend auf einer vorhandenen HTML-Tabelle generieren.

Zuerst müssen wir eine HTML-Tabelle erstellen, die wir konvertieren möchten. Sie können verschiedene Tags und Attribute verwenden, um die Struktur und den Stil einer Tabelle zu definieren. Dann können wir die PHP-Funktionen verwenden, um diese Tabelle zu lesen und zu verarbeiten. Zum Beispiel können wir eine Funktion verwenden file_get_contents() um den Inhalt einer HTML-Datei mit einer Tabelle zu lesen.

Mit PHP können wir eine HTML-Tabelle in das Excel-Format konvertieren, so dass wir bequem mit Daten in diesem Format arbeiten und alle Funktionen von Excel nutzen können. Die Verwendung von PHP für diese Aufgabe ist eine effiziente und bequeme Möglichkeit, Daten von einem Format in ein anderes zu konvertieren.

Konvertieren einer HTML-Tabelle in Excel mit PHP

PHPExcel bietet eine leistungsstarke Reihe von Werkzeugen für die Arbeit mit Excel-Tabellen und verfügt über Funktionen zum Erstellen und Lesen von XLS- und XLSX-Dateien.

Installieren Sie zunächst die PHPExcel-Bibliothek, indem Sie Ihrer Composer-Datei die folgende Zeile hinzufügen.json:

Führen Sie dann den Befehl composer install aus, um die Bibliothek zu installieren.

Nach der Installation von PHPExcel können Sie es verwenden, um eine HTML-Tabelle in Excel zu konvertieren. Hier ist ein Beispielcode:

require_once 'vendor/autoload.php'; use PhpOffice\PhpSpreadsheet\Spreadsheet; use PhpOffice\PhpSpreadsheet\Writer\Xlsx; $tableHtml = '

NameAlter
Iwan25
Elena30

'; // Neues Spreadsheet-Objekt erstellen $spreadsheet = new Spreadsheet(); // Aktives Arbeitsblatt abrufen $sheet = $spreadsheet->getActiveSheet(); // HTML-Tabelle in ein Spreadsheet-Objekt laden $sheet->fromHtml($tableHtml); // Writer-Objekt für das XLSX-Format erstellen $writer = new Xlsx($spreadsheet); // Daten in eine Datei schreiben $writer->save('output.xlsx');

In diesem Beispiel erstellen wir ein neues Spreadsheet-Objekt, erhalten ein aktives Arbeitsblatt, laden eine HTML-Tabelle in ein Spreadsheet-Objekt, erstellen ein Writer-Objekt für das XLSX-Format und speichern die Daten in einer Output-Datei.xlsx.

Auf diese Weise können Sie eine HTML-Tabelle mit PHPExcel einfach in Excel konvertieren. Diese Methode ist besonders nützlich, wenn Sie bereits eine vorhandene HTML-Tabelle haben, die Sie zur weiteren Arbeit oder Verarbeitung der Daten in Excel konvertieren möchten.

Vorbereiten der Daten für den Export

Bevor Sie eine HTML-Tabelle mit PHP nach Excel exportieren, müssen Sie die Daten ordnungsgemäß vorbereiten. Stellen Sie zunächst sicher, dass Ihre HTML-Tabelle gültig und fehlerfrei ist. Beim Exportieren von Daten kann Excel zu Fehlern führen, wenn die Tabelle ein beschädigtes Markup oder eine unscharfe Struktur aufweist.

Stellen Sie zweitens sicher, dass Ihre Tabelle für jede Spalte über ausreichende Überschriften verfügt. Mit Überschriften können Sie Daten unterscheiden und identifizieren, was besonders nützlich ist, wenn Sie sie nach Excel exportieren, wo Spalten eine wichtige Rolle spielen.

Es wird auch empfohlen, zusammengeführte Zellen in einer Tabelle zu vermeiden, da solche Tabellen in Excel schwierig zu verarbeiten sein können. Wenn Sie Zellen kombinieren möchten, ist es besser, dies vor dem Export zu tun. Andernfalls können beim Export nach Excel Probleme mit der Aufteilung oder Reihenfolge der Daten auftreten.

Vergessen Sie auch nicht, die Tabellenzellen zu formatieren. Wenn Sie eine bestimmte Zellenformatierung beibehalten möchten (z. B. ein Datum oder einen numerischen Wert), stellen Sie sicher, dass sie ordnungsgemäß nach Excel exportiert wird. Es ist wichtig zu beachten, dass einige Formate beim Export von HTML nach Excel verloren gehen können. Daher wird empfohlen, die Ergebnisse sorgfältig zu überprüfen.

Nach sorgfältiger Vorbereitung der Daten können Sie mit dem Schreiben eines PHP-Skripts beginnen, um die HTML-Tabelle in Excel zu konvertieren. Sie können dazu verschiedene Bibliotheken und Tools wie PHPExcel oder PhpSpreadsheet verwenden. Mit diesen Werkzeugen können Sie eine Tabelle und ihre Daten verwalten und die Tabelle im Excel-Format speichern (.xlsx).

Überschrift 1Überschrift 2Überschrift 3
Zelle 1Zelle 2Zelle 3
Zelle 4Zelle 5Zelle 6

Verwenden der PHPExcel-Bibliothek

Um eine HTML-Tabelle mithilfe von PHP in eine Excel-Datei zu konvertieren, können Sie die PHPExcel-Bibliothek verwenden. Es bietet leistungsstarke Werkzeuge für die Arbeit mit Tabellenkalkulationen in PHP.

Zunächst müssen Sie die PHPExcel-Bibliothek aus dem offiziellen Repository herunterladen und installieren. Dann verbinden Sie es mit der Direktive "require_once" in Ihr Projekt.

Danach müssen Sie ein neues Objekt der PHPExcel-Klasse erstellen und das aktive Arbeitsblatt festlegen:

$objPHPExcel = new PHPExcel();$objPHPExcel->setActiveSheetIndex(0);

Anschließend können Sie die Werte der Tabellenzellen mithilfe der Methode "setCellValue" festlegen:

$objPHPExcel->getActiveSheet()->setCellValue('A1', 'Заголовок 1');$objPHPExcel->getActiveSheet()->setCellValue('B1', 'Заголовок 2');$objPHPExcel->getActiveSheet()->setCellValue('A2', 'Значение 1');$objPHPExcel->getActiveSheet()->setCellValue('B2', 'Значение 2');

Darüber hinaus können Sie verschiedene Formate auf Zellen anwenden, z. B. Schriftart, Hintergrundfarbe usw. ändern. Anweisungen zum Formatieren finden Sie in der Dokumentation der offiziellen Website von PHPExcel.

Nachdem Sie die Tabelle ausgefüllt haben, können Sie das Ergebnis in einer Excel-Datei speichern. Dazu können Sie die "save" -Methode verwenden:

$objWriter = new PHPExcel_Writer_Excel2007($objPHPExcel);$objWriter->save('output.xlsx');

Als Ergebnis der Codeausführung wird die HTML-Tabelle in eine Excel-Datei mit dem Namen "output" konvertiert.xlsx".

Mit der PHPExcel-Bibliothek können Sie auch Excel-Tabellen lesen und in das HTML-Format konvertieren.

Abschließend macht es die Verwendung der PHPExcel-Bibliothek einfach und bequem, HTML-Tabellen mit PHP in Excel-Dateien zu konvertieren. Es bietet verschiedene Funktionen für die Arbeit mit Tabellen sowie die Möglichkeit, Daten zu formatieren und die Ergebnisse auf der Festplatte zu speichern.

Erstellen und Konfigurieren einer Excel-Datei

Sie können die PHPExcel-Bibliothek verwenden, um eine Excel-Datei in PHP zu erstellen und zu konfigurieren. Installieren Sie es, verbinden Sie es mit Ihrem Projekt und Sie können Tabellen im Excel-Format einfach erstellen und anpassen.

Erstellen Sie zunächst ein neues Objekt der PHPExcel-Klasse:

$objPHPExcel = new PHPExcel();

Als nächstes können Sie einige Dateieigenschaften wie Titel, Autor, Version und andere anpassen. Zum Beispiel:

$objPHPExcel->getProperties()->setTitle("Мой документ Excel");$objPHPExcel->getProperties()->setCreator("Мое имя");$objPHPExcel->getProperties()->setSubject("Новый документ Excel");$objPHPExcel->getProperties()->setKeywords("excel php");

Sie können jetzt ein Arbeitsblatt erstellen und damit beginnen:

$objPHPExcel->setActiveSheetIndex(0);$activeSheet = $objPHPExcel->getActiveSheet();

In diesem Schritt können Sie die Breite und Höhe der Zellen anpassen, die Textformatierung festlegen, die Ausrichtung festlegen usw.:

$activeSheet->getColumnDimension("A")->setWidth(20);$activeSheet->getRowDimension(1)->setRowHeight(25);$activeSheet->getStyle("A1")->getFont()->setBold(true);$activeSheet->getStyle("A1")->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);

Als nächstes können Sie die Tabelle mit HTML-Daten füllen. Kopieren Sie dazu die HTML-Tabelle in die Variable $html und verwenden Sie die loadHTML() -Methode der PHPExcel-Klasse, um die Daten zu laden. Zum Beispiel:

$html = "
Значение 1Значение 2
Значение 3Значение 4
";$dom = new DOMDocument();$dom->loadHTML($html);$rows = $dom->getElementsByTagName("tr");foreach ($rows as $row) getElementsByTagName("td");$i = 0;foreach ($cells as $cell) setCellValueByColumnAndRow($i, $rowIndex, $cell->nodeValue);$i++;>$rowIndex++;>

Schließlich können Sie die Datei mit der save() -Methode der PHPExcel-Klasse auf dem Datenträger speichern. Zum Beispiel:

$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, "Excel2007");$objWriter->save("my_excel_file.xlsx");

Jetzt haben Sie eine Excel-Datei mit Daten aus einer HTML-Tabelle, die Sie in Microsoft Excel oder einem anderen Tabellenkalkulationsprogramm öffnen können.

Speichern und Herunterladen einer Excel-Datei

Nachdem wir die Excel-Datei mit PHP erstellt haben, können wir sie auf dem Server speichern und dem Benutzer einen Download-Link zur Verfügung stellen. Dazu müssen Sie die PHP-Funktionen verwenden, um die Datei zu speichern und einen Header zu senden, der den Dateityp angibt.

Zuerst müssen wir die Excel-Datei auf dem Server speichern. Dazu verwenden wir die Funktion file_put_contents , mit der Sie den Inhalt der Datei in den angegebenen Pfad schreiben können:

$filename = 'example.xlsx';$path = '/path/to/save/' . $filename;file_put_contents($path, $excelData);

Hier ist $filename der Dateiname, $path der vollständige Pfad zur Datei, $excelData der Inhalt der Excel-Datei, der nach der Erstellung abgerufen wurde.

Nach dem Speichern der Datei können wir einen Header mit den gewünschten Parametern senden, um den Dateityp anzugeben und ihn zum Download auffordern. Verwenden Sie dazu die Header-Funktion :

header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');header('Content-Disposition: attachment; filename="' . $filename . '"');header('Content-Length: ' . filesize($path));readfile($path);

Hier legen wir den Inhaltstyp der Datei fest ( application/vnd.openxmlformats-officedocument.spreadsheetml.sheet ), geben Sie den Dateinamen an ( filename="' . $filename . '" ) und seine Größe ( Content-Length: ' . filesize($path) ). Dann verwenden wir die Funktion readfile , um den Inhalt der Datei zu lesen und an den Benutzer zu senden.

Nachdem Sie diesen Code ausgeführt haben, wird ein Dialogfeld mit einer Liste von Anwendungen angezeigt, die die Excel-Datei verarbeiten und auf ihrem Computer speichern können.

Auf diese Weise können wir speichern und dem Benutzer die Möglichkeit geben, eine Excel-Datei herunterzuladen, die aus einer HTML-Tabelle mit PHP erstellt wurde.