MS Office als Reports Designer

Ähnliche Dokumente
Reporting Lösungen für APEX wähle Deine Waffen weise

Komplexe Excel-Berichte mit APEX und jxls erstellen

BI Publisher Berichtswesen einfach und sicher. Alexander Klauss Centric IT Solutions GmbH

Fortbildung für Verwaltungsangestellte BS Regen. 1. Datensicherung allgemein

20. DOAG-Konferenz. Flexible Berichtsgestaltung für die Oracle E-Business Suite mit dem Oracle BI Publisher

Hilfe zum PDF Formular Editor

KINAMU Projekt Management

Switch on the Mobile Enterprise

GESCHÄFTSSTELLENERÖFFNUNG HAMBURG, 25. APRIL 2013

TFS Customzing. in der Praxis. Thomas Gugler. seit 2005 bei ANECON. .NET seit 2002 (happy bday!) Schwerpunkte: MCPD.Net 4.0, MCTS TFS, Scrum Master,

DIMEX Data Import/Export

DocIQ und DocIQ plus verbinden SAP und Word einzeln oder gemeinsam

Microsoft PowerPoint 2013 Layouts

Oracle XML Publisher

Office 2010 Erste Schritte mit officeatwork

MEHR ZEIT FÜRS WESENTLICHE

Erstellen der Adressen Tabelle mit Excel Erste Zeile enthält entsprechende Feld Bezeichnungen wie Anrede, Nachname, Vorname etc.

Der Navigationsbereich

TomTom WEBFLEET Inhalt. Let s drive business TM. Versionshinweis Oktober 2012

Was ist MODX Revolution?

Der Navigationsbereich

Professionelle Seminare im Bereich MS-Office

8.3 - Dokumentvorlage erstellen und benutzen

1 SERIENDRUCK. 1.1 Grundlegende Informationen

Road Account Maut Control - Version 1.60

IRIS. Reporting-Plattform. Autor MD Software & Design Professionelles Berichtswesen in Unternehmen

Zentrale Services Informationstechnologie. Serienbriefe mit Word 2010

Kurzanleitung. Zitiertil-Creator. Dokumentvorlagen Dokumente Formatvorlagen Format Zeichen Format Absatz

Bedarfsgerechte Prozesse erstellen mit. ProcessManager

Ein Ausblick auf die neuen Features

Handbuch zum Excel Formular Editor

Um einen neuen Konnektor anzulegen klicken sie auf die Schaltfläche Neue Konfiguration > Befüllung folgender Felder:

MDRE die nächste Generation des Requirements Engineerings

Prozessunterstützung durch BPR-, BPM- und Workflow-Systeme

Datenbanken. Produkte Dienstleistungen Referenzen

Der Serienbrief bzw. Seriendruck

BI Publisher Beleggestaltung ganz einfach. Matthias Bergmann Senior Development Berater

Einfache Freebie Erstellung

Zürich, 25. August LMVZ digital CSV Import

Mobile ERP Business Suite

Switch on the Mobile Enterprise

Preisliste Archimedes-Module für SuperOffice Stand Januar 2015

Frilo.Document.Designer

Gut zu wissen... Lorenz Keller Server Technologies Competence Center Nord

Datei für Übersetzung vorbereiten

Oracle EBS Web ADI Integrator selber erstellen

P R O D U K T D A T E N B L A T T

1.Wozu Datenquellen? Berechtigungen einstellen...3

ecall sms & fax-portal

PowerPoint Unterrichtsskript WIHOGA Dortmund. 1 Einführung und Formatierung Verschiedenes Folienmaster Animationen...

BESCHREIBUNG. Etikettendruck. CASABLANCAhotelsoftware gmbh - Öde Schönwies - Tirol - Austria

lösungs beschreibung OS AdhocExport Clientkomponente flexible software for your way of working 1 Erarbeitet von: Maurice Knurr Stand: Mai 2011

IBM Software Demos WebSphere Dashboard Framework

2 Zum Beginn der Diagrammerstellung müssen Sie den Datenbereich mit den Spalten- und Zeilenüberschriften markiert haben.

Neue Version. saprima 3.6. Copyright, Saprima GmbH, Mendelstr. 4, Ergolding

Anleitung Übersetzung

Schritt 1: Verwenden von Excel zum Erstellen von Verbindungen zu SQL Server Analysis Services-Daten

ConSol* Monitoring-Tools Ein Überblick - Mit Praxisbeispielen zum Einsatz bei Lidl -

Anpassungsfähige. Software Lösungen. Nicht nur leere Worte! Einsatz von Fast Edit bei Raiffeisen International. Wien, IBM Forum, am 24.9.

Cubeware Connectivity for SAP Solutions

Eclipse und EclipseLink

Datenimport / Datenexport

Constraint-basierte Planung und Optimierung von Prüfungsterminen mithilfe einer graphischen Benutzeroberfläche

IDS Scheer Consulting Prozessorientierte SAP-ERP Implementierung mit Industry.Performance READY

Kurzanleitung zur Erstellung von Newslettern

10 Makros Makros aufzeichnen

Simple SMS SMS Gateway

MOS - Microsoft Office Specialist 2007

Statistikreport für Sozialabteilungen von Zürcher Gemeinden Atelierbeitrag Statistiktage 2013

Oracle XML Publisher - Überblick - Jürgen Vester Manager Sales Consulting Stuttgart Oracle Deutschland GmbH. Page 1

Ausbildungsziel: Erstellung eines Briefes mit Hilfe von Vorlagen

Erstellen eines Referates in Word

Informationen, die ein Übersetzer bei einer Übersetzungsanfrage von Ihnen benötigt: 2015 Francesca Tinnirello

Musterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 9

Führungsmittelsatz - Anleitung -

Runde 2: Von der Statik zur Dynamik - Team Header

Die 7 Module des ECDL (Syllabus 5.0)

Reports erstellen mit Eclipse Birt

wiffzack.gastro WEBSHOP BEDIENERHANDBUCH Abbildung 1: das Softwarepaket wiffzack.gastro.webshop

Typo3 - Inhalte. 1. Gestaltung des Inhaltsbereichs. 2. Seitenunterteilung einfügen

Sie können sich eine Kurzanleitung zum Fachmodul Heimarbeit im PDF-Format anzeigen lassen. Klicken Sie in der Menüspalte auf Hilfe > Hilfe anzeigen.

Schlussbewertung FB VI SOFTWAREPROJEKT II WS 09/10 TEAM. Alexander Kalden Dominik Eckelmann Marcel Pierry Julian Heise Besha Taher

Gesamtbeispiel Sporthaus

1. So einfach ist web to date: in wenigen Schritten zur eigenen kleinen Webpräsenz 11

Kurzanleitung für die Import/Export Funktion Kinderleicht Produkte importieren und aktualisieren und exportieren

33 CSS in HTML einbinden

Inventarverwaltung mit Access 2007/10

Installation des CMS-Systems Contao auf einem Windows-Rechner mit XAMPP

Eine eigene Access Web App erstellen

Allgemeiner Import-Ablauf

Migration. Umsatz 2015 Umsatz 2017

1. Einführung Eigenschaften Einsatzszenarien Externes Benutzer-Management Synchronisation von Konten,

Innovationen. EGIZ Inside Out. Andreas Fitzek Christian Maierhofer Wien,

Wichtige Hinweise... 2 Vorlagensystem Allgemein... 2 Wichtige Einstellungen Speicherort alle Vorlagen... 2 Vorlagen...

Professionelle Seminare im Bereich MS-Office. Serienbrief aus Outlook heraus

Anwenderh Kurzanleitung zum Online-Portal

Dokumentation von Ük Modul 302

Application Designer & Framework unlimited

Erstellen von Formbriefen, Adressetiketten und Briefumschlägen ohne Serienbrief-Assistenten

Prozessbeschreibung. Qualitätsberichte erstellen und vorbefüllen

Transkript:

MS Office als Reports Designer Roland Hörmann SIB Visions GmbH Wehlistraße 29 / Stiege 1 / 2.Stock, 1200 Wien Schlüsselworte Reports, effizient Business Berichte erstellen, Java, Open Source, JVx Framework Einleitung Im Kundenprojekt für einen österreichischen Schulungsanbieter war die Anforderung die Berichte für den Kunden flexible anpassbar zu gestalten. Jeder der schon ein paar Reporting Tools verwendet hat, weiß dass diese für Applikationsbenutzer wirklich nicht geeignet sind. Da entstand bei uns die Idee die Berichte durch die Benutzer selbst in Word und EXCEL anpassen zu lassen. Ich zeige Ihnen wie Sie mit Word und EXCEL ihre Berichte designen können. Als Basis dafür verwende ich Kundenreports und ersetze die variablen Daten mit Platzhaltern. Diese werden bei der Erstellung des Reports automatisch befüllt. Ich arbeite mit beliebig geschachtelten LOOP Tags um die Daten von beliebigen Datenquellen (Tabellen, Views, ) zu verwenden. Daten abhängige Formatierungen sind dabei auch umsetzbar. Neben Word und EXCEL, können die Berichte auch in PDF Format erstellt werden. Derselbe Mechanismus lässt sich auch für E-Mails im HTML Format anwenden. Bei der Umsetzung haben wir verschiedene Open Source Frameworks kombiniert (Apache POI, itext, PDF Creator) um das Ergebnis zu erzielen. Ich werde Ihnen an Hand einiger Java Code Beispiele die Möglichkeiten zeigen. Das Platzhalterkonzept Wenn man für die öffentliche Hand die Schulungen der Arbeitslosen in Förderprojekten durchführt, ist natürlich einiges an Berichtswesen für die Sachbearbeiter der verschiedenen Stellen der Behörden umzusetzen. Natürlich sind die Berichte für jedes Projekt unterschiedlich, aber sie sind sogar für gleiche Projekttypen pro Bundesland und Sachbearbeiter unterschiedlich. Verständlicherweise ändern sich diese auch jährlich. Daher musste das Berichtswesen flexibel und durch die Benutzer anpassbar sein. Nachdem wir die Idee geboren haben die Berichte durch die Benutzer in Word bzw. EXCEL anpassbar zu machen, tüftelten wir an einer Lösung dafür. Uns gefiel einfach die Mächtigkeit von Word und EXCEL und die Tatsache dass die Benutzer damit umgehen können. Doch wie bekommen wir die Daten aus unserer Datenbank in das RTF bzw. XLS/XLSX Format. Auf Grund der Einfachheit gefielen uns Platzhalter, welche mit den Daten befüllt werden. Daher wird das Layout in den Office Applikationen wie gewohnt erstellt und danach werden die Bereiche die mit Daten befüllt werden sollen, einfach durch Platzhalter in eckigen Klammern ersetzt. Format: [SPALTENNAME] Z.B.: [VORNAME] Das hat auch den Vorteil dass wir keine VB Plugins für Office programmieren mussten, um die Datenbindung durch den Benutzer definieren zu können. Die Platzhalter zu verschieben, zu löschen oder zusätzliche aus der Liste der möglichen im Office zu platzieren ist für jeden Benutzer einfach

lösbar. Da rein die Spalte aus einer Tabelle, View oder beliebigen Query nicht ausreichend ist, haben wir noch die Angabe der Tabelle/Query und eine Formatangabe hinzugefügt. Format: [TABELLE!SPALTENNAME(TYP=FORMAT)] Z.B.: [PRODUKT!PREIS(NUMBER=#,##.00))] Neben der Formatierung von Beträgen, haben wir uns noch für folgende Formate entschieden: [TABELLE!SPALTENNAME(CHECKBOX)] [TABELLE!SPALTENNAME(CHECKBOX=Yes,No)] [TABELLE!SPALTENNAME(DATE=d. MMMM yyyy)] Abb. 1: Teilnehmerbestätigung Report-Template In Berichten iteriert man typischerweise über mehrere Queries, die auch voneinander abhängig sind. Wie z.b.: Die Liste aller Kontakte und pro Kontakt die Liste seiner Adressen. Um dies zu ermöglichen, haben wir einen Platzhalter (Loop Tag) zum Iterieren der Daten festgelegt. [LOOP@TABELLE]... [LOOP@TABELLE] Z.B.:

[LOOP@teilnehmer] [ANREDE] [TITEL] [VORNAME] [NACHNAME]... [LOOP@teilnehmer] Dieser wird am Anfang der ersten Zeile, und in der Folge Zeile die zu iterieren ist hinzugefügt. Der Inhalt zwischen beiden Loop Tags wird für jede Datenzeile des Queries kopiert und die Daten eingefüllt. Die Formatierung bleibt dabei wie in Word oder EXCEL festgelegt erhalten. Nachdem wir unser Report Template erstellt haben, geht s jetzt an den Java Code um die Daten in das Template einzufüllen. // Master Knoten ListNode lsnmaster = new ListNode(); // Liste der Teilnehmer (getteilnehmer()) für LOOP@teilnehmer Tag StorageNode snteilnehmer = new StorageNode(getTeilnehmer()); lsnmaster.setloopdefinition("teilnehmer", snteilnehmer); // Worker für.rtf Dateien holen, Template laden und Daten einfüllen AbstractWorker worker = AbstractWorker.getWorker(".rtf"); worker.loaddocument(new FileInputStream(new File("/temp", "/reports/teilnehmer.rtf"))); worker.fillindata(lsnmaster); // TeilnehmerListe.rtf zurückliefern RemoteFileHandle rfh = new RemoteFileHandle("TeilnehmerListe.rtf"); worker.savedocument(rfh.getoutputstream()); return rfh; Wir definieren unter dem Master Knoten eine Liste und befüllen Sie mit unseren Teilnehmern (getteilnehmer()) und machen sie unter dem Namen teilnehmer für unseren Loop Tag LOOP@teilnehmer verfügbar. Danach erstellen wir eine Worker Instance für das RTF Format (getworker(.rtf ), laden unser Template (loaddocument) und befüllen es mit den Teilnehmern(fillInData). Schlussendlich liefern wir unsere fertige TeilnehmerListe.rtf zurück. Mehr Code ist es nicht! Word, EXCEL, PDF oder E-Mail Das Konzept ist aber nicht auf das RTF Format begrenzt. Wir haben in diesem Projekt eine Implementierung für EXCEL (.XLS/.XLSX) umgesetzt. Dabei haben wir POI benutzt um den Mechanismus umzusetzen. In Projekten braucht es aber auch oft unveränderliche Berichte im PDF Format. Das ist bei unserem Konzept mit einem PDF Konverterservice möglich. Dazu kann man entweder einen der Open Source basierten wie Z.B.: PDF Creator oder einen der kommerziellen wie z.b. die BCL EasyPDF SDK verwenden. Diese funktionieren wie ein Druckertreiber, daher wird über MS Office das Dokument gedruckt und das Ergebnis wird über einen Postcript Druckertreiber in das PDF Format konvertiert und als Datei gespeichert. Darum haben wir im Projekt ein entsprechendes Java Webservice implementiert um es in unsere Applikation zu integrieren. Unser Konzept haben wir auch für Text bzw. HTML Format E-Mail verwendet. Das im Projekt für verschiedene Info E-Mails Verwendung fand. EXCEL Formulare importieren Nachdem das neue Reporting für unser Kundenprojekt sehr gut funktioniert hat, haben wir uns an etwas ganz verrücktes gewagt. Wir sind in der Vergangenheit bei Projekten schon öfter gefragt worden, ob wir Daten auch Offline in EXCEL Formularen erfassen können und diese dann in die

Applikation importieren können. Als Entwickler fragt man sich da gleich, warum verwendet ihr nicht die von uns entwickelte Maske zum Erfassen der Daten. Ja, sicher gibt es den Use Case Dinge offline zu erfassen, doch darf nicht vergessen werden, dass man oft noch Daten von anderen Unternehmen oder Abteilungen bekommt. Doch dafür gibt es nicht immer Schnittstellen, oder wie bei SAP sind diese nur mit sehr hohem Aufwand umzusetzen und stehen meist erst nach Monaten zur Verfügung. Warum nicht einfach die Daten aus EXCEL in die Applikation importieren. Während der Entwicklung des Reportings über Platzhalter ist einen Kollegen die zündende Idee in den Kopf geschossen. Die Platzhalter sind eigentlich eine perfekte Beschreibung, wo die Daten ausgegeben werden. Aber sie sind genauso eine allgemeine Beschreibung wo sich die Daten für einen Import befinden. Wir haben einfach basierend auf unseren Reporting einen generischen EXCEL Importer geschrieben. Dies war zwar um einiges komplexer in der Implementierung, aber manche Dinge muss man einfach ausprobieren ob sie funktionieren. Neben den bekannten Platzhaltern haben wir einen neuen sehr hilfreichen eingeführt.format: [TABELLE!SPALTENNAME(LIST=A;B; )] oder [TABELLE!SPALTENNAME(LIST==DataArea)] Z.B.: [contacts!salu_salutation(list=frau;herr)] [contacts!salu_salutation(list==anreden)] Nämlich die Definition von Auswahllisten für EXCEL um die Fehlertoleranz zu reduzieren. Abb. 2: Teilnehmerimport Report/Import-Template

Diese Auswahllisten können direkt mit einer Werteliste, oder mit Datenbereichen definiert werden, die aus der Datenbank gefüllt werden können. Den Importer konnten wir im Projekt für den flexiblen Import der Teilnehmer gut gebrauchen. In unseren Use Case werden die Teilnehmer über Prüfungen und Qualifikationsworkshop den geeigneten Kursen zugeordnet. Diese Qualifizierung wird von entsprechenden externen Instituten durchgeführt und die Teilnehmerlisten in unterschiedlichen EXCEL Listen geliefert. Ähnlich ist es bei den Teilnehmern die direkt vom AMS (Behörde für Österreichs Arbeitslose) ins Projekt zugeteilt werden. Damit konnten wir für die unterschiedlichen Formate, welche immer die gleichen Inputdaten für uns lieferten, einfach in unterschiedlichen Templates definieren. Hübsches für die Entscheider in EXCEL Für die Entscheider beim Kunden haben wir für dieses Projekt noch ein paar schöne grafische Management Reports benötig. Dazu haben wir in unseren Reporttemplates einfach ein paar EXCEL Diagramme hinzugefügt, welche auf die Grunddaten im EXCEL verweisen. Damit kamen wir zu dem Schluss, dass sich jeder erdenkliche Report mit diesem Konzept umsetzen lässt und die Benutzer auch wirklich selbstständig diese anpassen können. Als Entwickler kann man mit diesem System auch das mühsame Layouten der Berichte und das wiederholte nachbesser und ändern auf die Benutzer auslagern. Damit bleibt einfach mehr Zeit für die interessanten Aufgaben im Projekt. Kontaktadresse: Roland Hörmann SIB Visions GmbH Wehlistr. 29 / Stiege 1 / 2.Stock A-1200 Wien Österreich Telefon: +43 1 934 6009 616 Fax: +43 1 934 6009 999 E-Mail roland.hoermann@sibvisions.com Internet: www.sibvisions.com Fax: +49 (0) 12-345 6788 E-Mail Ihre@adresse.de Internet: www.adresse.de