
PDF-Tabellen enthalten oft Daten, die Sie in Excel sortieren, filtern oder analysieren müssen. Beim Kopieren und Einfügen können diese Daten in einer einzelnen Spalte landen oder ihre Zeilenstruktur verloren gehen. Die integrierte Funktion Aus PDF von Excel bietet einen direkteren Weg, erkannte Tabellen in Arbeitsblattzellen zu importieren.
Diese Anleitung erklärt, wie Sie PDF-Tabellen mit Power Query importieren, Tabellen über mehrere Seiten hinweg kombinieren, führende Nullen beibehalten und Leerzeichen in umgebrochenem Text prüfen. Sie enthält außerdem einen Python-Workflow zum Extrahieren von Tabellen aus einem Ordner mit PDF-Dateien in Excel-Arbeitsmappen.
Die folgenden Power Query-Schritte verwenden Excel für Windows mit dem verfügbaren Aus PDF-Connector. Beginnen Sie mit einer textbasierten PDF; gescannte Seiten erfordern einen OCR-Workflow, bevor ihre Tabellendaten extrahiert werden können.
- PDF-Tabellen mit Power Query in Excel importieren
- Tabellen über mehrere Seiten hinweg kombinieren
- Führende Nullen in ID-Spalten beibehalten
- Umgebrochenen Text prüfen und die finale Tabelle laden
- PDF-Tabellenextraktion nach Excel mit Python automatisieren
- Häufig gestellte Fragen
- Fazit
1. PDF-Tabellen mit Power Query in Excel importieren
Die Funktion Aus PDF von Excel ermöglicht es Ihnen, Tabellen in einer PDF zu identifizieren und ihre Daten in Arbeitsblattzellen zu importieren. Öffnen Sie die Tabelle im Power Query-Editor, um ihren Inhalt zu prüfen, bevor Sie sie laden.
- Öffnen Sie Excel und wählen Sie Daten → Daten abrufen → Aus Datei → Aus PDF.
- Wählen Sie Ihre PDF-Datei aus und klicken Sie auf Importieren.
- Wählen Sie im Fenster Navigator einen erkannten Eintrag Tabelle aus, um seinen Inhalt in der Vorschau anzuzeigen. Prüfen Sie, ob er die benötigten Zeilen und Spalten enthält.
- Klicken Sie auf Daten transformieren, um den Power Query-Editor zu öffnen.
- Prüfen Sie die Tabelle und wählen Sie dann Start → Schließen & laden, um sie in ein Excel-Arbeitsblatt zu laden.
Wenn die Vorschau bereits korrekt ist und keine Anpassungen erforderlich sind, können Sie im Navigator direkt auf Laden klicken.
Bei Tabellen, die kombiniert oder bereinigt werden müssen, nehmen Sie die in den folgenden Abschnitten beschriebenen Anpassungen vor, bevor Sie das Endergebnis laden.
2. Tabellen über mehrere Seiten hinweg kombinieren
Power Query erkennt eine Tabelle, die sich über mehrere PDF-Seiten erstreckt, möglicherweise als eine Tabelle oder als separate Tabellen. Prüfen Sie die Einträge im Navigator, bevor Sie entscheiden, ob Sie sie anfügen.
Wenn Power Query eine Tabelle erkennt
Konsistente Kopfzeilen, die auf jeder Seite wiederholt werden, können Power Query dabei helfen, die gesamte Tabelle zu erkennen. Im Navigator kann sie als einzelner Eintrag wie Table001 (Page 1–3) erscheinen.
Wählen Sie diesen Eintrag aus und prüfen Sie die Vorschau. Wenn er alle erforderlichen Datensätze enthält, klicken Sie auf Laden oder wählen Sie Daten transformieren, um zuerst Anpassungen vorzunehmen. Ein Anfügen-Vorgang ist nicht erforderlich.
Wenn Power Query separate Tabellen erkennt
Wenn nur die erste Seite Kopfzeilen enthält, erkennt Power Query die Fortsetzungsseiten möglicherweise als separate Tabellen mit generischen Spaltennamen wie Column1, Column2 und Column3.
So kombinieren Sie sie:
- Aktivieren Sie im Navigator die Option Mehrere Elemente auswählen.
- Wählen Sie die Tabellen aus, die zu derselben seitenübergreifenden Tabelle gehören, und prüfen Sie ihre Vorschauen.
- Klicken Sie auf Daten transformieren. Jede ausgewählte Tabelle erscheint als separate Abfrage im Power Query-Editor.
- Verwenden Sie die Kopfzeilen der ersten Tabelle als Referenz und benennen Sie die entsprechenden Spalten in den Fortsetzungstabellen um. Benennen Sie beispielsweise
Column1inEmployee IDundColumn2inFull Nameum.
- Prüfen Sie, ob die entsprechenden Spaltennamen exakt übereinstimmen, einschließlich etwaiger Leerzeichen, bevor Sie anfügen.
Einwortige Kopfzeilen wie Department müssen normalerweise nicht neu eingegeben werden. Achten Sie stärker auf mehrwortige Kopfzeilen, insbesondere auf solche, die in der PDF auf mehrere Zeilen umgebrochen werden.
Beispielsweise können Employee und ID in der Quellzelle in separaten Zeilen erscheinen. Navigator kann die Kopfzeile als Employee ID anzeigen, obwohl ihr tatsächlicher Name einen Zeilenumbruch statt eines Leerzeichens enthält. Wenn Sie die Spalte einer anderen Tabelle in Employee ID mit einem normalen Leerzeichen umbenennen, entsteht dadurch eine Nichtübereinstimmung.
Bei einer umgebrochenen Kopfzeile klicken Sie mit der rechten Maustaste auf die Spalte in der ersten Abfrage und wählen Umbenennen. Wählen Sie den gesamten vorhandenen Namen aus und geben Sie manuell einen einzeiligen Namen ein, z. B. Employee ID. Verwenden Sie genau diesen Namen für die entsprechenden Spalten in den anderen Abfragen. Vermeiden Sie es, die ursprüngliche umgebrochene Kopfzeile zu kopieren, da sie den verborgenen Zeilenumbruch beibehalten kann.
Sobald die Spaltennamen konsistent sind:
- Wählen Sie eine Abfrage aus und wählen Sie Start → Abfragen anfügen ▼ → Abfragen anfügen als neu.
- Wählen Sie Zwei Tabellen oder Drei oder mehr Tabellen, je nach Anzahl der Abfragen.
- Wählen Sie die anzufügenden Tabellen aus. Fügen Sie bei drei oder mehr Tabellen sie der Liste Anzufügende Tabellen hinzu und ordnen Sie sie in der Reihenfolge der PDF-Seiten an.
- Klicken Sie auf OK, um die kombinierte Abfrage zu erstellen.
Power Query fügt Daten anhand übereinstimmender Spaltennamen an, nicht anhand der Spaltenpositionen. Wenn das Ergebnis zwei scheinbar identische Spalten oder unerwartete NULL-Werte enthält, kehren Sie zu den Quellabfragen zurück und prüfen Sie ihre Namen auf verborgene Zeilenumbrüche oder zusätzliche Leerzeichen.
Prüfen Sie abschließend die kombinierte Tabelle auf fehlende Datensätze, wiederholte Kopfzeilen und unerwünschten Seitenfußtext, bevor Sie sie in Excel laden.
3. Führende Nullen in ID-Spalten beibehalten
Mitarbeiter-IDs, Produktcodes und ähnliche Bezeichner können führende Nullen enthalten. Wenn Power Query diesen Werten einen numerischen Datentyp zuweist, kann eine ID wie 00123 als 123 angezeigt werden.
So bewahren Sie die ursprüngliche ID:
- Wählen Sie im Power Query-Editor die Spalte Employee ID aus.
- Öffnen Sie das Menü Datentyp und ändern Sie Ganze Zahl in Text.
- Wenn Sie aufgefordert werden, die vorhandene Typkonvertierung zu ersetzen, wählen Sie Aktuelles ersetzen.
- Prüfen Sie, ob die Werte ihre führenden Nullen anzeigen – zum Beispiel
00123statt123.
Behandeln Sie Bezeichner als Text, auch wenn sie nur Ziffern enthalten. Ihr Zweck besteht darin, Datensätze zu identifizieren, nicht als Werte für Berechnungen zu dienen.
Nehmen Sie diese Anpassung vor, bevor Sie die Daten in Excel laden. Wenn das Ändern des Typs die Nullen nicht wiederherstellt, vergleichen Sie die Werte mit der ursprünglichen PDF; fehlende Nullen können nicht zuverlässig abgeleitet werden, es sei denn, die Bezeichner folgen einer bekannten Regel mit fester Länge.
4. Umgebrochenen Text prüfen und die finale Tabelle laden
Text, der in einer PDF-Zelle auf mehrere Zeilen umgebrochen wird, kann beim Import ohne Leerzeichen zusammengefügt werden. Beispielsweise kann ein Name, der als Robert in einer Zeile und Williams in der nächsten angezeigt wird, zu RobertWilliams werden.
Prüfen Sie Spalten mit Namen, Adressen und Beschreibungen anhand der ursprünglichen PDF. Korrigieren Sie bestätigte Abstandsfehler einzeln. Wählen Sie für einen bestimmten falschen Wert die Spalte aus und verwenden Sie Transformieren → Werte ersetzen, um ihn durch den korrekten Text zu ersetzen.
Vermeiden Sie eine allgemeine Regel, die überall dort Leerzeichen einfügt, wo Text umgebrochen wurde. Auch ein einzelnes Wort kann über Zeilen umgebrochen werden: Coordinato gefolgt von r sollte Coordinator werden, ohne Leerzeichen.
Bevor Sie die finale Tabelle laden, prüfen Sie, ob:
- die Anzahl der Datensätze mit der Quelltabelle übereinstimmt.
- Datensätze an Seitengrenzen vollständig sind.
- ID-Spalten ihre führenden Nullen beibehalten.
- umgebrochener Text die korrekten Leerzeichen aufweist.
- numerische Spalten und Datumsspalten geeignete Datentypen verwenden.
Wählen Sie dann Start → Schließen & laden ▼ → Schließen & laden in, wählen Sie Tabelle und wählen Sie das Zielarbeitsblatt aus.
Wenn Sie mehrere Abfragen auf Seitenebene angefügt haben, laden Sie nur die finale kombinierte Abfrage als Arbeitsblatttabelle. Legen Sie die Zwischenabfragen auf Nur Verbindung erstellen fest, damit sie für die kombinierte Abfrage verfügbar bleiben, ohne separate Arbeitsblatttabellen zu erstellen.
5. PDF-Tabellenextraktion nach Excel mit Python automatisieren
Power Query bietet eine interaktive Möglichkeit, PDF-Tabellendaten zu importieren und vorzubereiten. Wenn Sie mehrere PDF-Dateien wiederholt verarbeiten müssen, können Sie die Extraktion mit Python automatisieren.
Das folgende Beispiel verwendet Spire.PDF for Python, um Tabellen zu erkennen und ihre Zellinhalte zu lesen, sowie openpyxl, eine Open-Source-Excel-Bibliothek, um die extrahierten Daten in XLSX-Dateien zu schreiben. Jede PDF erzeugt eine Arbeitsmappe, wobei jede erkannte Tabelle in einem separaten Arbeitsblatt gespeichert wird.
Bibliotheken installieren
Installieren Sie beide Pakete:
pip install Spire.PDF openpyxl
Batch-Extrahierungscode
Aktualisieren Sie INPUT_FOLDER und OUTPUT_FOLDER entsprechend Ihren Verzeichnissen. Das Skript liest PDF-Dateien direkt aus dem Eingabeordner, untersucht jede Seite und speichert die resultierenden Arbeitsmappen im Ausgabeordner.
from pathlib import Path
from spire.pdf import PdfDocument, PdfTableExtractor
from openpyxl import Workbook
from openpyxl.styles import Alignment
INPUT_FOLDER = Path(r"E:\Documents\input")
OUTPUT_FOLDER = Path(r"E:\Documents\output")
def extract_pdf_tables_to_excel(pdf_path, output_path):
doc = PdfDocument()
try:
doc.LoadFromFile(str(pdf_path))
extractor = PdfTableExtractor(doc)
workbook = Workbook()
workbook.remove(workbook.active)
table_count = 0
# Extract tables from every page.
for page_index in range(doc.Pages.Count):
tables = extractor.ExtractTable(page_index)
if tables is None:
continue
for table_index in range(len(tables)):
table = tables[table_index]
row_count = table.GetRowCount()
column_count = table.GetColumnCount()
if row_count == 0 or column_count == 0:
continue
sheet = workbook.create_sheet(
title=f"Page{page_index + 1}_Table{table_index + 1}"
)
for row_index in range(row_count):
for column_index in range(column_count):
text = table.GetText(row_index, column_index)
cell = sheet.cell(
row=row_index + 1,
column=column_index + 1
)
# Preserve extracted values as literal text.
cell.value = text if text is not None else ""
cell.data_type = "s"
cell.number_format = "@"
cell.alignment = Alignment(
vertical="top",
wrap_text=True
)
for column_cells in sheet.columns:
column_letter = column_cells[0].column_letter
sheet.column_dimensions[column_letter].width = 22
table_count += 1
if table_count == 0:
print(f"Skipped: {pdf_path.name} — no tables detected.")
return
workbook.save(str(output_path))
print(
f"Saved: {output_path.name} "
f"({table_count} tables)"
)
finally:
doc.Close()
def main():
if not INPUT_FOLDER.is_dir():
raise FileNotFoundError(
f"Input folder not found: {INPUT_FOLDER}"
)
OUTPUT_FOLDER.mkdir(parents=True, exist_ok=True)
pdf_files = sorted(
(
path for path in INPUT_FOLDER.iterdir()
if path.is_file() and path.suffix.lower() == ".pdf"
),
key=lambda path: path.name.lower()
)
if not pdf_files:
print("No PDF files found in the input folder.")
return
for pdf_path in pdf_files:
output_path = OUTPUT_FOLDER / f"{pdf_path.stem}.xlsx"
try:
extract_pdf_tables_to_excel(pdf_path, output_path)
except Exception as error:
print(f"Failed: {pdf_path.name} — {error}")
if __name__ == "__main__":
main()
Das Skript ruft ExtractTable() für jede PDF-Seite auf und liest jede erkannte Tabelle mit GetRowCount(), GetColumnCount() und GetText(). Die extrahierten Zellen werden in die entsprechenden Zeilen und Spalten in einem neuen Arbeitsblatt geschrieben.
Dateien ohne erkannte Tabellen werden übersprungen. Wenn eine PDF nicht verarbeitet werden kann, meldet das Skript den Fehler und fährt mit den übrigen Dateien fort.
Das könnte Ihnen auch gefallen: Tabellen mit Python aus PDF extrahieren
Ausgabe und Überlegungen

Eine PDF mit dem Namen report.pdf erzeugt eine Arbeitsmappe mit dem Namen report.xlsx. Arbeitsblattnamen identifizieren die Quellseite und die Tabelle, z. B. Page1_Table1, Page1_Table2 und Page2_Table1.
Alle extrahierten Werte werden als Text geschrieben. Dadurch bleiben führende Nullen im extrahierten Inhalt erhalten, z. B. 00123, und es wird verhindert, dass Text, der mit = beginnt, als Excel-Formel interpretiert wird. Beträge und Datumsangaben bleiben ebenfalls Text und müssen möglicherweise vor Berechnungen oder datumsbasierten Analysen konvertiert werden.
Dieses Beispiel exportiert Tabellendaten, anstatt das ursprüngliche Erscheinungsbild der PDF zu reproduzieren. Es erstellt weder die Quellschriftarten, Rahmen oder Formatierungen verbundener Zellen neu, noch korrigiert es Extraktionsfehler wie fehlende Leerzeichen. Wenn eine seitenübergreifende Tabelle als separate Tabellen erkannt wird, werden diese Teile in separaten Arbeitsblättern gespeichert, anstatt automatisch kombiniert zu werden.
Prüfen Sie die generierte Arbeitsmappe anhand der Quell-PDF, bevor Sie ihre Daten verwenden. Beim erneuten Ausführen des Skripts werden vorhandene XLSX-Dateien mit denselben Namen im Ausgabeordner überschrieben.
6. Häufig gestellte Fragen
Warum kann ich die Option „Aus PDF“ in Excel nicht finden?
Die verfügbaren Connectors hängen von Ihrer Excel-Version und Plattform ab. Suchen Sie unter Daten → Daten abrufen → Aus Datei nach Aus PDF. Wenn sie fehlt, prüfen Sie, ob Ihre Installation den PDF-Connector unterstützt. Die Power Query-Importschritte in dieser Anleitung setzen voraus, dass die Option verfügbar ist.
Kann ich mit diesen Methoden eine gescannte PDF-Tabelle importieren?
Eine gescannte PDF speichert ihren Seiteninhalt als Bilder. Die hier gezeigten Workflows enthalten kein OCR und sind daher für textbasierte PDFs gedacht. Verwenden Sie für gescannte Dokumente ein OCR-Tool, das Tabellenstrukturen erkennen und strukturierte Daten exportieren kann, und prüfen Sie anschließend die extrahierten Werte anhand der Quelle.
Sieht die importierte Excel-Tabelle genau wie die PDF aus?
Diese Methoden konzentrieren sich darauf, Zellendaten für die Verwendung in Excel zu extrahieren. Sie garantieren nicht, dass Schriftarten, Farben, Rahmen, Spaltenbreiten oder verbundene Zellen der PDF reproduziert werden. Wenden Sie nach dem Import eine Excel-Formatierung an, wenn Sie ein bestimmtes Erscheinungsbild benötigen.
Kann ich die Power Query-Tabelle aktualisieren, wenn sich die PDF ändert?
Ja. Wenn die Quell-PDF unter demselben Dateipfad aktualisiert wird, verwenden Sie Daten → Alle aktualisieren, um die Abfrage erneut auszuführen. Prüfen Sie danach das Ergebnis, insbesondere wenn sich die Anzahl der Seiten, erkannten Tabellen oder die Spaltenstruktur geändert hat. Solche Änderungen können Anpassungen an der Abfrage erfordern.
7. Fazit
PDF-Tabellen in Excel zu importieren umfasst mehr als das Erkennen von Zeilen und Spalten. Power Query bietet einen praktischen Ausgangspunkt, aber die nächsten Schritte hängen vom Ergebnis ab: Eine seitenübergreifende Tabelle kann bereit sein, als eine Tabelle geladen zu werden, oder ihre Abschnitte müssen übereinstimmende Spaltennamen haben, bevor sie angefügt werden können. Auch führende Nullen und Leerzeichen in umgebrochenem Text verdienen Aufmerksamkeit, da eine scheinbar saubere Tabelle dennoch veränderte Werte enthalten kann.
Für wiederkehrende Aufgaben erweitert der Python-Workflow diesen Prozess auf einen Ordner mit PDFs und speichert jede Datei als Arbeitsmappe mit separaten Arbeitsblättern für ihre erkannten Tabellen. Wählen Sie den Workflow, der zu Ihrer Arbeitslast passt, und vergleichen Sie dann die Ausgabe mit der Quell-PDF – insbesondere Bezeichner, mehrzeiligen Text und Datensätze an Seitengrenzen. Diese Prüfungen helfen sicherzustellen, dass die importierten Daten für Filterung, Berechnungen und weitere Analysen bereit sind.
Siehe auch
- PDF kostenlos in Excel konvertieren – Text- und gescannte PDFs
- PDFs unter Windows drucken: 5 einfache und effektive Möglichkeiten
- Text aus einer geschützten PDF kopieren: 5 kostenlose und einfache Möglichkeiten
- 5 effiziente Möglichkeiten, PDF in Schwarzweiß zu konvertieren
- Text in einer PDF hervorheben: 5 einfache Methoden