Ich kann die Module von John McNamara nur empfehlen. Er hat ein neues Python-Modul namens XlsxWriter hochgeladen, um XLSX-Dateien auf PyPi zu erstellen , die ich für Debian und Ubuntu gepackt habe.
Es ist eine Portierung eines von ihm geschriebenen Perl-Moduls namens Excel :: Writer :: XLSX , eine Erweiterung eines anderen Perl-Moduls namens Spreadsheet :: WriteExcel .
XlsxWriter ist ein Python-Modul zum Schreiben von Dateien im Excel 2007+ XLSX-Dateiformat.
Es kann zum Schreiben von Text, Zahlen und Formeln in mehrere Arbeitsblätter verwendet werden und unterstützt Funktionen wie Formatierung, Bilder, Diagramme, Seiteneinrichtung, Autofilter, bedingte Formatierung und viele andere.
XlsxWriter bietet einige Vorteile gegenüber den alternativen Python-Modulen zum Schreiben von Excel-Dateien:
- Es unterstützt mehr Excel-Funktionen als jedes der alternativen Module.
- Es hat ein hohes Maß an Wiedergabetreue mit von Excel erstellten Dateien. In den meisten Fällen entsprechen die erstellten Dateien zu 100% den von Excel erstellten Dateien.
- Es verfügt über eine umfangreiche Dokumentation, Beispieldateien und Tests.
- Es ist schnell und kann so konfiguriert werden, dass selbst für sehr große Ausgabedateien sehr wenig Speicher benötigt wird.
- Integration mit Pandas (Python Data Analysis Library).
Ein einfaches Beispiel für einige Funktionen des XlsxWriter Python-Moduls:
#Copyright 2013-2014, John McNamara, jmcnamara@cpan.org
import xlsxwriter
# Create an new Excel file and add a worksheet.
workbook = xlsxwriter.Workbook('demo.xlsx')
worksheet = workbook.add_worksheet()
# Widen the first column to make the text clearer.
worksheet.set_column('A:A', 20)
# Add a bold format to use to highlight cells.
bold = workbook.add_format({'bold': True})
# Write some simple text.
worksheet.write('A1', 'Hello')
# Text with formatting.
worksheet.write('A2', 'World', bold)
# Write some numbers, with row/column notation.
worksheet.write(2, 0, 123)
worksheet.write(3, 0, 123.456)
# Insert an image.
worksheet.insert_image('B5', 'logo.png')
workbook.close()
Auf dieser Seite finden Sie eine vollständige Liste der XlsxWriter-Beispiele.
Mit dem Excel :: Writer :: XLSX- Modul kann eine Excel-Datei im XLSX-Format 2007+ erstellt werden.
Einer Arbeitsmappe können mehrere Arbeitsblätter hinzugefügt und die Formatierung auf Zellen angewendet werden. Text, Zahlen und Formeln können in die Zellen geschrieben werden.
Excel :: Writer :: XLSX verwendet dieselbe Schnittstelle wie das Modul Spreadsheet :: WriteExcel , das eine Excel-Datei im binären XLS-Format erstellt.
Excel :: Writer :: XLSX unterstützt alle Funktionen von Spreadsheet :: WriteExcel und verfügt in einigen Fällen über mehr Funktionen. Weitere Informationen finden Sie unter Kompatibilität mit Spreadsheet :: WriteExcel .
Der Hauptvorteil des XLSX-Formats gegenüber dem XLS-Format besteht darin, dass eine größere Anzahl von Zeilen und Spalten in einem Arbeitsblatt zulässig ist.
Das XLSX-Dateiformat erzeugt auch viel kleinere Dateien als das XLS-Dateiformat.
So schreiben Sie eine Zeichenfolge, eine formatierte Zeichenfolge, eine Zahl und eine Formel in das erste Arbeitsblatt in einer Excel-Arbeitsmappe mit dem Namen perl.xlsx
:
# reverse ('(c)'), March 2001, John McNamara, jmcnamara@cpan.org
use Excel::Writer::XLSX;
# Create a new Excel workbook
my $workbook = Excel::Writer::XLSX->new( 'perl.xlsx' );
# Add a worksheet
$worksheet = $workbook->add_worksheet();
# Add and define a format
$format = $workbook->add_format();
$format->set_bold();
$format->set_color( 'red' );
$format->set_align( 'center' );
# Write a formatted and unformatted string, row and column notation.
$col = $row = 0;
$worksheet->write( $row, $col, 'Hi Excel!', $format );
$worksheet->write( 1, $col, 'Hi Excel!' );
# Write a number and a formula using A1 notation
$worksheet->write( 'A3', 1.2345 );
$worksheet->write( 'A4', '=SIN(PI()/4)' );
Auf dieser Seite finden Sie eine vollständige Liste der Beispiele für Excel :: Writer :: XLSX.