CW-Subnets     |     Executive Briefings     |     Blogs & Forum     |     CW-TV     |     Newsletter     |     RSS
Schließen
Dock ein-/ausblenden

Wie aus Excel-Mappen Java-Programme werden

Drucken |  Empfehlen |  PDF |  Merken
Die Software "xAlerator" belässt Fachanwendern ihren Excel-Arbeitsplatz, wandelt diesen jedoch in einen reinen Editor zur Erzeugung von Java-Programmen um.
Editor für xAlerator: Hier eine Mitarbeitertabelle, aus der die Jubilare eines Monats gefiltert werden.
Editor für xAlerator: Hier eine Mitarbeitertabelle, aus der die Jubilare eines Monats gefiltert werden.
Editor für xAlerator: Hier eine Mitarbeitertabelle, aus der die Jubilare eines Monats gefiltert werden.

Microsofts Tabellenkalkulation gehört nach wie vor zu den beliebtesten Arbeitsmitteln so mancher Fachabteilung. Zum Beispiel im Versicherungsbereich, wo etwa Aufgaben der Lebensversicherungsmathematik von Fachanwendern häufig in Excel gelöst werden. Aus ihrer Projekterfahrung berichtet die Münchner Firma Xapio, dass solche Excel-Programme, vor allem wenn sie im größeren Zusammenhang wie dem Profit-Testing benötigt werden, vielfach an ihre Grenzen stoßen. Aber meistens nur "so gerade eben", was letztlich dazu führt, dass man an der Tabellenkalkulation festhält.

Forderungen an xAlerator

Logik, die sich mit einem herkömmlichen Tabellenkalkulator (Excel) formulieren lässt, soll auch mit xAlerator in der gleichen Weise dar-gestellt werden, der Programmaufbau soll also dem zweidimensionalen Schema des Spreadsheets folgen.

Was in einer Tabellenkal-kulation selbst nicht machbar ist, zum Beispiel Datenbankausgaben und Datenverdichtungen, soll Tool-seitig in von Excelgeläufiger Manier möglich sein.

Das System soll Modularisierung nicht nur erlauben, sondern nahelegen.

Das System sollte nach Möglichkeit keine Beschränkungen in Bezug auf den Datenumfang und die Größe der Prozesslogik aufweisen.

Das System ist nicht dia-logorientiert, es sollte aber Ergebnisse (Grafiken und Pivottabellen) als Output erzeugen können.

Die vom System generier-ten Java-Module müssen in anderen Anwendungen zum Beispiel als Klasse oder Web-Service verwendbar sein, ebenso umgekehrt.

Grenzen des Workbooks

Bei komplexeren Aufgaben wird dies jedoch problematisch, denn zur Bearbeitung müsste das Projekt eigentlich modularisiert werden. Wer ausschließlich in Excel arbeitet, tut sich schwer, derart diffizile Zusammenhänge innerhalb einer Arbeitsmappe darzustellen. Werden mehrere Workbooks verwendet, ergibt sich das Problem, dass besonders bei Datenbankzugriffen die einzelnen Workbooks zwar mit Daten gefüllt werden, der flexible Austausch dieser Informationen im Sinn der Gesamtanwendung jedoch nicht möglich ist. Der Versuch, sich in komplexeren Fällen mit Visual Basic zu behelfen, stellt laut Xapio oft keine Lösung dar, weshalb der Hersteller einen Ansatz suchte, bei dem der nichtprozedurale Anteil einer Aufgabe so weit wie möglich erhalten bleibt und es nur dann zur Programmierung kommt, wenn dies unvermeidlich ist.

Die Lösung sah für Xapio so aus: Der Prozess wird in Excel als Editor anhand von Beispieldaten dargestellt (Calculation by Ex-ample). Hat die Arbeitsmappe eine Schnittstellendefinition, weil sie als Unterprogramm oder Service verwendet werden soll, legt man als Aufrufparameter fest, welche Daten beziehungsweise Ranges übergeben werden sollen, wo die Empfangsbereiche liegen und trägt die entsprechenden Beispieldaten ein. Auch die in Excel mit MS-Query formulierten Datenbankzugriffe werden lediglich in Form eines Beispiels editiert. Anschließend wird die gesamte Excel-Mappe über die "Speichern-unter"-Funktion in eine XML-Datei umgewandelt und in den von Xapio entwickelten Java-Generator xAlerator eingelesen.

Calculation by Example

Dieser analysiert die XML-Datei, übernimmt die SQL-Befehle und Schnittstellendefinitionen und generiert daraus kompilierte Java-Module. Erst jetzt geht es "ernsthaft zur Sache", so der Hersteller, denn was mit einer oder mehreren Zeilen vorexerziert wurde, soll das Java-Programm für die ganze Datenmenge erledigen. Zur Ergebnisdarstellung erzeugt xAlerator wiederum eine XML- oder xls-Datei, die sich an der Eingabemaske orientiert. Zu berücksichtigen ist allerdings, dass das in einer Zelle dargestellte Datenaufkommen nun wesentlich größer ist, da es statt der wenigen Beispieldaten das Ergebnis der gesamten Berechnung abbildet.

Um die xAlerator-Makros auf dem Spreadsheet laufen zu lassen und den Generator anzustoßen, hat Xapio über C# noch einige Eingriffe in Excel vorgenommen. Das Produkt selbst ist in Java geschrieben und klinkt sich zum Beispiel mit dem Menüpunkt "Generiere" in die Tabellenkalkulation ein. (ue)

(0 Beiträge), 
Kommentieren

Beitrag schreiben

Noch kein Forums-Mitglied?
Dann gleich hier anmelden.

CW-REDAKTEURE EMPFEHLEN
Die beste Freeware der Welt Die beste Freeware der Welt Jede Aufgabe am PC lässt sich mittels Freeware hervorragend lösen. Wir stellen die besten Freeware-Programme vor, die auf keinem Rechner fehlen sollte ...
weiter
10 Fotosharing-Dienste im Check (Foto: Stefan von Gagern) 10 Fotosharing-Dienste im Check Wer gewinnt den "Website Award" in der Kategorie Fotosharing-Portale? Wir haben zehn bekannte Angebote unserem Website-Check unterzogen.
weiter
Marktübersicht Ultrabooks Marktübersicht Ultrabooks Die schicken Ultrabooks sollen dem iPad Paroli bieten. Doch was leisten die Topmodelle der Anbieter wirklich? Und sind sie ihren Preis wert?
weiter
Honig verführt Hacker (Foto: Yuri Arcurs - Fotolia) Honig verführt Hacker Mit Honigtöpfen, zu englisch Honeypots, lockt die Telekom Angreifer im Internet auf IT-Systeme ohne Funktion.
weiter
Welche Geräte von der WPS-Lücke betroffen sind Welche Geräte von der WPS-Lücke betroffen sind Eine neu entdeckte Schwachstelle erlaubt es aber, den PIN-Schutz WPS in WLAN-Komponentenen schnell und einfach auszuhebeln.
weiter
KOSTENLOSE NEWSLETTER VON COMPUTERWOCHE
Nachrichten morgens
Whitepaper
Nachrichten mittags
CW-Mittelstand
Highlights der Woche
Hardware
SAP-Newsletter
Software
Job + Karriere
Open-Source
Stellenmarkt
Produkte + Techn.
Freiberufler
Security
Server + Storage
Netzwerke
Mobile & Apps