Wie lese ich mit phpSpreadsheet gezielt Felder aus einer Excel-Datei aus und speichere sie in einer Datenbanktabelle?

Antwort

Um mit [PhpSpreadsheet](https://phpspreadsheet.readthedocs.io/) bestimmte Felder aus einer Excel-Datei auszulesen und in eine Datenbanktabelle zu speichern, gehst du typischerweise wie folgt vor: **1. PhpSpreadsheet installieren** Am einfachsten per Composer: ```bash composer require phpoffice/phpspreadsheet ``` **2. Excel-Datei laden und Felder auslesen** Beispiel für das Auslesen bestimmter Zellen (z.B. A2, B2, C2): ```php use PhpOffice\PhpSpreadsheet\IOFactory; $spreadsheet = IOFactory::load('deine_datei.xlsx'); $worksheet = $spreadsheet->getActiveSheet(); // Einzelne Zellen auslesen $wertA = $worksheet->getCell('A2')->getValue(); $wertB = $worksheet->getCell('B2')->getValue(); $wertC = $worksheet->getCell('C2')->getValue(); ``` Oder für mehrere Zeilen (z.B. alle Zeilen ab Zeile 2): ```php $daten = []; foreach ($worksheet->getRowIterator(2) as $row) { $cellIterator = $row->getCellIterator(); $cellIterator->setIterateOnlyExistingCells(false); $rowData = []; foreach ($cellIterator as $cell) { $rowData[] = $cell->getValue(); } $daten[] = $rowData; } ``` **3. Verbindung zur Datenbank herstellen** Beispiel mit PDO (MySQL): ```php $pdo = new PDO('mysql:host=localhost;dbname=deinedatenbank', 'benutzer', 'passwort'); ``` **4. Daten in die Datenbank einfügen** Angenommen, du hast eine Tabelle `meinetabelle` mit den Spalten `spalte1`, `spalte2`, `spalte3`: ```php $sql = "INSERT INTO meinetabelle (spalte1, spalte2, spalte3) VALUES (?, ?, ?)"; $stmt = $pdo->prepare($sql); foreach ($daten as $row) { $stmt->execute([$row[0], $row[1], $row[2]]); } ``` **Zusammengefasst:** - Excel-Datei mit PhpSpreadsheet laden - Gewünschte Felder/Zellen auslesen - Mit PDO eine Verbindung zur Datenbank herstellen - Daten per SQL-INSERT einfügen **Weitere Infos:** - [PhpSpreadsheet Dokumentation](https://phpspreadsheet.readthedocs.io/en/latest/) - [PDO (PHP Data Objects)](https://www.php.net/manual/de/book.pdo.php) Falls du spezielle Felder (z.B. nach Spaltennamen) brauchst, kannst du die erste Zeile als Header interpretieren und dann gezielt nach Spaltennamen suchen.

Neue Frage stellen

Verwandte Fragen

Kann ich mit PhpSpreadsheet Excel-Dateien auslesen und Daten in eine Datenbank speichern?

Ja, mit [PhpSpreadsheet](https://phpspreadsheet.readthedocs.io/) kannst du Excel-Dateien (z.B. .xlsx oder .xls) auslesen und die enthaltenen Daten anschließend in eine Datenbank speichern. PhpSp... [mehr]

Wie ermittle ich mit PhpSpreadsheet die Nummer der letzten Zeile mit Daten beim Auslesen einer Excel-Datei?

Ja, mit [PhpSpreadsheet](https://phpspreadsheet.readthedocs.io/) kannst du die Nummer der letzten Zeile mit Daten in einem Arbeitsblatt ermitteln. Dafür gibt es die Methode `getHighestRow()` des... [mehr]

Wie lassen sich mit phpSpreadsheet bestimmte Zellen aus einer Excel-Datei auslesen und in einer Datenbank speichern?

Um mit [PhpSpreadsheet](https://phpspreadsheet.readthedocs.io/) einzelne Zellen aus einer Excel-Datei auszulesen und in einer Datenbank zu speichern, gehst du typischerweise wie folgt vor: **1. PhpSp... [mehr]

Wie lese ich mit phpSpreadsheet eine Excel-Datei aus und zeige sie als HTML im Browser an?

Um mit [PhpSpreadsheet](https://phpspreadsheet.readthedocs.io/) eine Excel-Datei auszulesen und deren Inhalt als HTML im Browser anzuzeigen, gehst du wie folgt vor: **1. Installation von PhpSpreadshe... [mehr]

Wie prüfe ich in PHP8, ob ein Datenbankwert nur aus Zahlen und Punkt besteht?

Ja, das kannst du mit PHP 8 herausfinden. Du kannst dazu reguläre Ausdrücke (Regular Expressions) verwenden. Mit der Funktion `preg_match()` prüfst du, ob ein String nur aus Ziffern und... [mehr]

Kann man mit PHP8 prüfen, ob der Wert einer Datenbankspalte vom Typ float ist?

Mit PHP8 kannst du nicht direkt aus PHP heraus feststellen, ob der Wert einer Datenbankspalte vom Typ `float` ist, da PHP beim Abrufen von Daten aus einer Datenbank (z.B. mit PDO oder MySQLi) die Typi... [mehr]

Wie lese ich mit phpSpreadsheet eine Datei von einem Netzlaufwerk ein?

Um mit [PhpSpreadsheet](https://phpspreadsheet.readthedocs.io/) eine Datei von einem bestimmten Netzlaufwerk einzulesen, gehst du grundsätzlich genauso vor wie beim Einlesen einer lokalen Datei.... [mehr]

Wie kann ich in PHP8 Excel-Dateien erstellen?

In PHP8 kannst du Excel-Dateien am besten mit der Bibliothek [PhpSpreadsheet](https://phpspreadsheet.readthedocs.io/) erstellen. PhpSpreadsheet ist der Nachfolger von PHPExcel und unterstützt das... [mehr]

Ist Shapes("Rechteck 1").Visible = True korrekt in Excel-VBA?

Der Ausdruck `Shapes("Rechteck 1").Visible = True` ist in Excel-VBA **nicht korrekt**, da das `Visible`-Eigenschaftsmerkmal für Shapes in Excel-VBA **nicht existiert**. In Excel-VBA s... [mehr]

Wie füge ich mit PHPSpreadsheet eine Summenformel in eine bestimmte Zelle ein?

Um mit [PHPSpreadsheet](https://phpspreadsheet.readthedocs.io/) in einer bestimmten Zelle eine Summenberechnung einzufügen, kannst du eine Excel-Formel in die gewünschte Zelle schreiben. Das... [mehr]