Generierung formatierter Excel-Dateien aus CSV-enhanced mit Ruby und Win32OLE

Querverweise: Bei automatisierter Verarbeitung und Zusammenführung einer Vielzahl von Finanzreports in Firmen ist wesentlich schneller (Entwicklungs- und Laufzeit), diese typischerweise aus einer Web-Anwendung direkt (und nicht via Excel) als CSV zu exportieren, mit den GNU/Linux-Werkzeugen bash,sed,awk zu verarbeiten und generierte Tabellen als formatierte ASCII-Reports, CSV oder HTML denn direkt als Excel auszugeben.

Hierzu wurde bereits gezeigt, wie eine kommagetrennte CSV-Dateien mit Hochkommata in semikolon-getrennte CSV-Dateien ohne Hochkommata mit einem Lexer (cf. oben) zu überführen sind.

Verwendet man als eigenes Ausgabeformat nicht reines CSV mit Semikola, sondern erzeugt ein erweiteres CSV-Format "CSVE", welches zusätzlich zu Ausgabezeilen auch Formatierungsanweisungen enthält, können diese Ausgaben wiederum mit einer Ruby-Routine nach Excel konvertiert werden. Weiterer Vorteil dieser automatischen Konvertierung mit Formatangaben gegenüber manuellem Import einer CSV-Datei ist, dass die Spaltenzahl z.B. aufeinanderfolgender Reporttabellen wiederum beliebig variieren darf.

Folgende CSVE-Datei ...



beinhaltet und erzeugt über die Ruby-Win32OLE-Routine unten folgende XLSX-Datei



Die Verarbeitung übernimmt eine Ruby-Methode nach folgendem (hier ausschnittsweise dargestelltem) Muster

Formatbeschreibung, Formatdefinitionen und Excel-Grundroutinen ...



Zeilenweise Verarbeitung der CSVE-Datei nach Format- und Nutzzeilen; jede Formatzeile wird in 4 Teile zerlegt wie oben beschrieben



Bestimmung der Formatierungsarten Font, Fontsize und Alignment ...



Formatierung der jeweiligen Ranges sowie Ausgabe der Nutzzeilen in Excel-Generat, Restformatierungen und Speicherung




Impressum und Datenschutzerklärung