Report als Text exportieren

Aus e-vendo Wiki
Wechseln zu: Navigation, Suche
zum Anfang der Seite


Einleitung

Reports lassen sich zur weiteren Verarbeitung in bspw. Tabellenkalkulationsprogrammen als Text exportieren.

Ziel ist es nicht, die beinhalteten Daten als bspw. xlsx-Datei (Excel-Format) zu exportieren, da dieses Format Formatierungen enthalten kann und der Export damit potentiell fehleranfällig wird. Softwares kommunizieren aus diesem Grund mit Standard-Formaten, bspw. xml (Extensible Markup Language) oder csv (comma-separated values).

In dieser Anleitung wird die Einrichtung eines Reports zur Ausgabe von csv-Dateien beschrieben. Diese können anschließend in eine Tabellenkalkulationssoftware importiert werden.

Der hier dargestellte Weg kann sowohl auf Reports angewendet werden, die an die Druckfunktion der verschiedenen Module gebunden sind als auch auf Reports im Bereich Berichte & Listen.


Als Beispiel dient hier der Standard-Report AdressenStammListe im Modul Adressen. Der Report selbst enhält u.a. die Adressennummer, den Namen, Daten zum Umsatz der Kunden sowie Kontaktdaten.

Wird der Report auf normalem Wege ausgegeben, erscheint in etwa dieses Ergebnis:

Reportcsv 00-report.png


Vorbereitung des Reports

Grundlegendes

Ziel dieser Anleitung ist es, eine csv-Datei zu erzeugen, die in einem anderen Programm weiter bearbeitbar ist und die Adressennummer, den Namen sowie den Umsatz enthält.

Dazu sind die folgenden Felder notwendig:

  • Adressennummer + Zeilenüberschrift
  • Name + Zeilenüberschrift
  • Umsatz + Zeilenüberschrift

Im Ergebnis sollte für das obige Beispiel der Inhalt der csv-Datei wie folgt aussehen:

ADRESSNR;NAME;UMSATZ
15001;"Spicers Ltd. Deutschland";-178,50
15002;"Spitzer KG";5029,37
15006;"Terra";143802,01


Nachdem die Adressenverwaltung geöffnet und die gewünschten Kunden gefunden wurden, wird der Druckdialog mit den in der Adressenverwaltung hinterlegten Reports geöffnet.

In diesem Fenster muss zuerst der Report AdressenStammListe markiert und anschließend der Button Report editieren geklickt werden, um den ReportBuilder zu öffnen.

Reportcsv 00-druckdialog.png


Es öffnet sich der ReportBuilder im Reiter Entwurf:

Reportcsv 01-bereiche.png


Die blau markierten Bereiche enthalten die für den Export benötigten Daten:

  • Bereich Kopf: Hier sind die Felder Adress-Nr sowie Firma/Name vorhanden. Dieser Bereich enthält für gewöhnlich nur Textfelder, die frei konfigurierbar sind. Der Kopfbereich selbst wird bei der Ausgabe des Reports auf jeder Seite dargestellt, sodass die hier vorhandenen Felder nicht verwendet werden sollten, da sie bei einem Export mehrfach vorkommen könnten. Folglich werden die Überschriften in den Bereich Titel kopiert (siehe unten).
  • Detailbereich: Dieser ist wichtig, da hier die tatsächlichen Daten aus der Datenbank zur Geltung kommen. Hier werden also für gewöhnlich Platzhalter für Datenbankfelder genutzt; der Detailbereich wird einmal pro Datensatz (ergo hier: pro Adresse) generiert und bei der Ausgabe dargestellt.


Templ att-blk.png
Im ReportBuilder stehen die Bereichsbezeichnungen unter dem eigentlichen Bereich (siehe blaue Markierungen).


Überschriftenplatzierung

Es bietet sich an, die Überschriften in den Titel zu kopieren, um eine Mehrfachausgabe der Überschriften zu verhindern (siehe oben). Der Titel ist ein separater Bereich, der in diesem Report standardmäßig inaktiv ist.

Unter dem Menüpunkt Bericht > Titel lässt sich dieser Bereich aktivieren:

Reportcsv 02-titel.png


Es entsteht ein neues Band am oberen Rand des Reports, welches nun mit den benötigten Überschriften gefüllt werden muss.

Hierzu sind Textfelder ausreichend. Die Funktion, ein Textfeld einzufügen, findet sich in der Symbolleiste:

Reportcsv 03-textfeld.png


Mit dem Klick auf dieses Icon wird die Funktion aktiviert; ein weiterer Klick auf einen Bereich im Report fügt ein Textfeld ein. Ein Doppelklick auf das eingefügte Textfeld setzt den Cursor in das Feld und erlaubt die Bearbeitung. Die hier eingegebenen Texte werden letztendlich die Spaltenüberschriften in der Exportdatei.

Bei diesen Textfeldern sind weder Größe, Schriftart oder Position wichtig. Da sie allerdings auf normalen Ausdrucken nicht vorhanden sein sollen, ist es sinnvoll, den Bereich Titel so klein wie möglich zu halten. Die Größe eines Bandes kann manipuliert werden, indem der graue Balken mit der Bezeichnung mit der Maus verschoben wird. Das Ergebnis sieht in etwa so aus:

Reportcsv 03-titelband.png


Templ info-blk.png
Der Inhalt eines Textfeldes wird, wenn es markiert ist, ebenfalls im oberen linken Bereich nochmal angezeigt und ist auch dort bearbeitbar:

Reportcsv 05-bezeichnung.png


Damit die Überschriften auf normalen Ausdrucken nicht sichtbar sind, muss die Schriftfarbe nun auf weiß gesetzt werden. Dazu werden die Textfelder markiert und anschließend mit der Schriftfarbe-Funktion deren Färbungen angepasst:

Reportcsv 04-farbe.png


Wurde dieser Prozess für die drei Textfelder wiederholt, sollte der Titel-Bereich wie folgt aussehen:

Reportcsv 06-weiss.png


Einrichtung der Dateiausgabe

Der Report muss nun noch dahingehend konfiguriert werden, dass bei einer Ausgabe als Datei die gewünschten Daten exportiert werden.

Dazu sind zwei Schritte notwendig:

  1. Felder der einzelnen Bänder (=Reportbereiche) aussuchen.
  2. Dem Report mitteilen, dass diese exportiert werden sollen.


Felder der einzelnen Bänder aussuchen

Häufig haben die Felder eines Reports generische Namen, bspw. Label4 oder DBText15, die sich an der Art des Feldes orientieren, nicht an den dahinterliegenden Daten.

Wird ein Feld angewählt, erhält es einen Auswahlrahmen (bestehend aus acht Kreisen); zusätzlich wird in der unteren linken Ecke die Bezeichnung des Feldes angezeigt:

Reportcsv 07-labels.png


Nun muss eine Liste der benötigten Felder pro Reportbereich erstellt werden.

In diesem Beispiel ist dies das Ergebnis:

Bereich: Titel Label6 ("Adress-Nr.") Label8 ("Firma/Name") Label9 ("Umsatz")
Bereich: Detailbereich DBText1 (Adressnummer) DBText2 (Name) DBText5 (Umsatz)


Templ att-blk.png
Es ist wichtig, dass die Felder in jedem Bereich in der korrekten Reihenfolge notiert werden, da sie später in genau dieser Reihenfolge exportiert werden sollen. Wird dies nicht beachtet, kann es zu Unterschieden zwischen den Spaltenüberschriften und den Inhalten dieser Spalten kommen.


Reportausgabe für ausgesuchte Felder konfigurieren

Im letzten Schritt muss der Report noch dahingehend angepasst werden, dass die gewünschten Felder beim Export ausgegeben werden.

Dazu wird im Menü unter Datei der Eintrag Dateiausgabe einrichten ausgewählt:


Reportcsv 08-datei-einrichten.png


Es erscheint das folgende Menü:

Reportcsv 09-dateiausgabe.png


In diesem Fenster werden zwei Dinge definiert: Die Art der Feldtrennung sowie die auszugebenden Felder.

Die Feldtrennung (Drop-Down-Menü Dateityp) legt fest, welche Trennzeichen in der auszugebenden Datei verwendet werden, um die Datensätze voneinander zu unterscheiden. Wir empfehlen, hier Semikolon zu wählen, da dieses Trennzeichen am gebräuchlichsten ist und bspw. bei Geldbeträgen keine potentiellen Nachteile mit sich bringt.


Die auszugebenden Felder werden im mittleren und unteren Bereich des Fensters ausgewählt. Die eingangs angelegte Liste mit den benötigten Feldern kommt hier zum tragen.
Der Prozess ist hier wie folgt:

  • Im Kasten Bänder wird zuerst ein Reportbereich gewählt. Um beim Beispiel zu bleiben, wird hier das Band Detailbereich markiert.
  • Je nach markiertem Band werden in den darunterliegenden Kästen (Verfügbare Elemente und Ausgewählte Elemente) nur diejenigen Datenfelder angezeigt, welche in diesem Bereich des Reports vorhanden sind.
    Eingangs wurde festgelegt, dass die Felder DBText1, DBText2 sowie DBText5 benötigt werden. Folglich werden diese Felder im Kasten Verfügbare Elemente in dieser Reihenfolge jeweils markiert und anschließend der Button geklickt, um sie in den Kasten Ausgewählte Elemente zu übertragen. Alle Felder, die in diesem Kasten sind, werden beim Export ausgegeben.
  • Am Ende müssen in den angegebenen Bändern die folgenden Elemente in der dargestellten Reihenfolge als ausgewählt gekennzeichnet sein:
Band ausgewählte Elemente
Titel Label6 Label8 Label9
Detailbereich DBText1 DBText2 DBText5
Templ info-blk.png
Die Reihenfolge der Felder (ausgewählte Elemente) ist wichtig. In welcher Abfolge die einzelnen Bänder bearbeitet werden, ist es nicht.

  • Nun können die Auswahl mit OK bestätigt und der Report gespeichert werden.


ausgewählte Daten exportieren

Der Report ist nun bereit für den Dateiexport.

Im Druckdialog befindet sich oben rechts der Kasten Ausdrucken auf..:

Reportcsv 10-druckdialog.png


Hier sollte nicht die Option Textdatei, sondern Drucker wählen gesetzt werden.

Wurde dies erledigt, kann mit einem Klick auf den Button Drucken das Druckerauswahlmenü aufgerufen werden.

Dieses Fenster beinhaltet nun einen neuen Bereich In Datei drucken, welcher durch das Setzen der Checkbox aktiviert wird.

Reportcsv 11-drucken.png


Sobald dieser Haken gesetzt wurde, wird der Bereich darüber ignoriert - es wird also nichts gedruckt, sondern lediglich die Datei generiert.

Im Drop-Down-Menü Dateityp sollte die Option Textdatei gewählt werden, die sich ganz oben in der Liste befindet.

Im Feld Wohin können der Speicherort und der Name der Datei angegeben werden. Dieser kann entweder manuell eingetragen oder mittels Klick auf den Button ... mithilfe eines Dateimanagers ausgewählt werden.

Nachdem die Optionen festgelegt wurden, kann mittels Klick auf OK der Export eingeleitet werden.


Das Ergebnis sieht für dieses Beispiel wie folgt aus:

Reportcsv 12-ergebnis.png


Templ info-blk.png
Daten, die in der Datenbank als Texte hinterlegt werden (bspw. Artikelnummern, Namen etc.) werden mit sog. Textbegrenzungszeichen (") ausgegeben. Diese sind dazu da, den Anfang und Ende des Feldes zu markieren. Es handelt sich dabei nicht um einen Fehler.