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

Antwort

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. PhpSpreadsheet installieren** Am einfachsten per Composer: ```bash composer require phpoffice/phpspreadsheet ``` **2. Excel-Datei laden und Zellen auslesen** Beispiel für das Auslesen bestimmter Zellen (z.B. A1 und B2): ```php use PhpOffice\PhpSpreadsheet\IOFactory; $spreadsheet = IOFactory::load('deine_datei.xlsx'); $worksheet = $spreadsheet->getActiveSheet(); $wertA1 = $worksheet->getCell('A1')->getValue(); $wertB2 = $worksheet->getCell('B2')->getValue(); ``` **3. Verbindung zur Datenbank herstellen** Beispiel mit PDO (MySQL): ```php $pdo = new PDO('mysql:host=localhost;dbname=deinedb', 'benutzer', 'passwort'); ``` **4. Werte in die Datenbank einfügen** Angenommen, du hast eine Tabelle `meinetabelle` mit den Spalten `spalte1` und `spalte2`: ```php $sql = "INSERT INTO meinetabelle (spalte1, spalte2) VALUES (:wertA1, :wertB2)"; $stmt = $pdo->prepare($sql); $stmt->execute([ ':wertA1' => $wertA1, ':wertB2' => $wertB2 ]); ``` **Zusammengefasstes Beispiel:** ```php require 'vendor/autoload.php'; use PhpOffice\PhpSpreadsheet\IOFactory; // Excel-Datei laden $spreadsheet = IOFactory::load('deine_datei.xlsx'); $worksheet = $spreadsheet->getActiveSheet(); // Zellen auslesen $wertA1 = $worksheet->getCell('A1')->getValue(); $wertB2 = $worksheet->getCell('B2')->getValue(); // Datenbankverbindung $pdo = new PDO('mysql:host=localhost;dbname=deinedb', 'benutzer', 'passwort'); // In Datenbank speichern $sql = "INSERT INTO meinetabelle (spalte1, spalte2) VALUES (:wertA1, :wertB2)"; $stmt = $pdo->prepare($sql); $stmt->execute([ ':wertA1' => $wertA1, ':wertB2' => $wertB2 ]); ``` **Hinweise:** - Passe Dateinamen, Zelladressen, Datenbankverbindung und Tabellennamen an deine Anforderungen an. - Für größere Datenmengen empfiehlt sich ein Batch-Insert oder Transaktionen. Weitere Infos findest du in der [PhpSpreadsheet-Dokumentation](https://phpspreadsheet.readthedocs.io/en/latest/).

Neue Frage stellen

Verwandte Fragen

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

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... [mehr]

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 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 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 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 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]

Ist folgender Excel-VBA-Code korrekt: HeightPt = Rows("4:" & Cells(49,19).Row).Height?

Der gezeigte Code ist in Excel-VBA **nicht korrekt** und führt zu einem Fehler. Das Problem liegt in der Syntax innerhalb der `Rows`-Funktion. Hier die Analyse: **Dein Code:** ```vba HeightPt =... [mehr]