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 automatisch und beliebig formatiert 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 
- Formatanweisungen
  
  - Diese beginnen mit % und betreffen entweder
    
    - genau und nur die folgende Zeile %row oder
 
    - einen beliebigen Range %range der Datei
 
    
 
   
  - Alle Anweisungen bestehen aus 4, durch ':' getrennten Teilen
    
    - dem Gueltigkeitsbereich %row oder %range
 
    - einer Rangeangabe, welche sich gemäß Gültigkeitsbereich entweder nur auf die folgende Zeile oder einen beliebigen Zellverbund (Zeile(n), Spalte(n), Zelle(n)) bezieht
 
    - der Art der Formatierung
      
      - Zahlenformat (Währung, Gleitkommazahl, Integer, Datum, Uhrzeit, Währung)
 
      - Schriftgröße, sowie Fett- und Kursivdarstellung
 
      - Zellfarbe
 
      - Ausrichtung innerhalb der Zelle
 
      
 
     
    - und deren Ausprägung (z.B. currency, bold, center, 19)
 
    
 
   
  
 
 
- CSV-Nutzzeilen
 
- Leerzeilen (bessere Lesbarkeit als reines CSV)
 
- Kommentarzeilen (dito)
 
 
und erzeugt über die Ruby-Win32OLE-Schnittstelle 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