Report als Text exportieren
Inhaltsverzeichnis
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.
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:
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.
Es öffnet sich der ReportBuilder im Reiter Entwurf:
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.
Ü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:
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:
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:
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:
Wurde dieser Prozess für die drei Textfelder wiederholt, sollte der Titel-Bereich wie folgt aussehen:
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:
- Felder der einzelnen Bänder (=Reportbereiche) aussuchen.
- 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:
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)
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:
Es erscheint das folgende Menü:
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
- 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..:
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.
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: