Excel-Export
DuckDB unterstützt den Export von Daten in Excel-.xlsx-Dateien über die Erweiterung excel. Bitte beachten Sie, dass .xls-Dateien nicht unterstützt werden.
Um die Erweiterung zu installieren und zu laden, führen Sie aus:
INSTALL excel;LOAD excel;Excel-Tabellenblätter exportieren
Um eine Tabelle in eine Excel-Datei zu exportieren, verwenden Sie die Anweisung COPY mit der Option FORMAT xlsx:
COPY tbl TO 'output.xlsx' WITH (FORMAT xlsx);Das Ergebnis einer Abfrage kann auch direkt in eine Excel-Datei exportiert werden:
COPY (SELECT * FROM tbl) TO 'output.xlsx' WITH (FORMAT xlsx);Oder:
COPY (SELECT * FROM tbl) TO 'output.xlsx';Um die Spaltennamen als erste Zeile in die Excel-Datei zu schreiben, verwenden Sie die Option HEADER:
COPY tbl TO 'output.xlsx' WITH (FORMAT xlsx, HEADER true);Um das Arbeitsblatt in der entstehenden Excel-Datei zu benennen, verwenden Sie die Option SHEET:
COPY tbl TO 'output.xlsx' WITH (FORMAT xlsx, SHEET 'Sheet1');Typumwandlungen
Da Excel im Wesentlichen nur Zahlen oder Zeichenketten speichern kann – das Äquivalent von VARCHAR und DOUBLE – werden beim Schreiben von XLSX-Dateien automatisch die folgenden Typumwandlungen angewendet:
- Numerische Typen werden in
DOUBLEumgewandelt. - Zeitliche Typen (
TIMESTAMP,DATE,TIMEusw.) werden in Excel-„Serial“-Zahlen umgewandelt, also die Anzahl der Tage seit 1900-01-01 für Datumsangaben und den Bruchteil eines Tages für Uhrzeiten. Diese werden anschließend mit einem „Zahlenformat“ formatiert, sodass sie in Excel als Datum oder Uhrzeit erscheinen. TIMESTAMP_TZundTIME_TZwerden in UTC-TIMESTAMPbzw.TIMEumgewandelt; die Zeitzoneninformation geht dabei verloren.BOOLEAN-Werte werden in1und0umgewandelt und mit einem „Zahlenformat“ versehen, sodass sie in Excel alsTRUEundFALSEerscheinen.- Alle anderen Typen werden in
VARCHARumgewandelt und anschließend als Textzellen geschrieben.
Sie können Spalten natürlich auch explizit in einen anderen Typ umwandeln, bevor Sie sie nach Excel exportieren:
COPY (SELECT CAST(a AS VARCHAR), b FROM tbl) TO 'output.xlsx' WITH (FORMAT xlsx);Siehe auch
DuckDB kann Excel-Dateien auch importieren.
Weitere Details zur Excel-Unterstützung finden Sie auf der Seite der excel-Erweiterung.