W E R K S T A T T Import von Daten aus hochgeladener Excel- Datei. Intrexx 7.0

Ähnliche Dokumente
Eigene Java- Klassen in Intrexx

Einrichten einer Debug- Umgebung in Eclipse

T E C H N I S C H E D O K U M E N T A T I O N. Portalsicherung. Intrexx 7.0

LDAP Authentifizierung

Handbuch Xlive FILE ROUTER Intrexx Konfiguration

CRM Frequently Asked Questions

Import Sondermaterial-Artikel WAWI31 zu WAWI Version 3.8.5

Kurzeinführung Excel2App. Version 1.0.0

Newsletter-Versand automatisieren mit Intrexx Prozessen

T E C H N I S C H E D O K U M E N T A T I O N Update auf Intrexx 8

Grundlagen der Informatik 2

Übersicht der wichtigsten MySQL-Befehle

Vorwort Einführung in Power Query Erste Abfrage erstellen... 21

MySQL-Befehle. In diesem Tutorial möchte ich eine kurze Übersicht der wichtigsten Befehle von MySQL geben.

Einleitung. Abfrage erstellen

IMS-Audit Pro. Kurzanleitung 2 / 14

Hierfür sind mit dem Content Management System (CMS) Joomla in Verbindung mit SIGE Pro Inhalte angelegt worden, die genau diesen Zweck erfüllen.

Wie greifen Sie mit WinCC Runtime Advanced über ein Skript auf eine SQL- Datenbank zu?

Handout für das TYPO3-System (später

1. Einführung. 2. Vorbereitung. 3. Import von Firmenkunden

Übernahme von büro easy-stammdaten in lexoffice Anleitung

Datenbank und Tabelle mit SQL erstellen

Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin

Folien php/mysql Kurs der Informatikdienste

Als Administrator im Backend anmelden

b.i.m.m PARAMETEREXPORTER 2013 Benutzerhandbuch b.i.m.m GmbH September 2012 Version

IMPORT VON VORGÄNGEN ÜBER DAS E-COMMERCE-MODUL

5.1.1 Dateilinks hinzufügen

Datenbank konfigurieren

CRM. Frequently Asked Questions

Kunden. Inhalt. Alle Kunden. asello unterstützt Sie bei der Verwaltung Ihrer Kundendaten mit der integrierten Kundenverwaltung.

1 Zugriff auf die Inhaltsseiten. 2 Anlegen von Inhaltsseiten. 3 Erstellen von Inhalten. Erstellen und Konfigurieren von Inhaltsseiten in Typo3

Serienbriefe über das Menüband erstellen

Intrexx auf einem Windows 2012 Server

ArenaSchweiz AG. CMS Concrete5 Erste Schritte

CALUMMA ETL Tool Benutzerhandbuch

1. Im Hauptmenü wechseln Sie in den Punkt Liste. 2. Im Seitenbaum klicken Sie in den Menüpunkt, wo das Formular eingefügt werden soll.

Hinweise zum Programm Überprüfung des Betriebszustandes von Kläranlagen. Bitte prüfen Sie regelmäßig den aktuellen Stand der Software im Internet!

14. Es ist alles Ansichtssache

So geht s Schritt-für-Schritt-Anleitung

Access 2010 Programmierung Import und Export nach Excel

Administration von batterman.ch

Ersatz für freie Listen in SibankPLUS

Erstellen und Verwalten von Tabellen

Kurzanleitung creator 2.0

Datenbanken Kapitel 1

Import und Export von Veranstaltungen

Bestand mit einer benutzerdefinierten Importdatei anlegen

GISLUPE. Diese Angaben sind unbedingt einzuhalten, damit später die Informationen auch wieder abgerufen werden können.

Datenbanken für Online Untersuchungen

Kurzanleitung creator 2.0

M-Bus Master Manual. M-Bus Master. Manual. Version 2.1 1/10

Intrexx Hochverfügbarkeit

Tabellen / Textbausteine bearbeiten

Domains und Postfächer im Control Panel anlegen

Bedienungsanleitung CAD-KAS Reklamationserfassung. Einen neuen Datensatz anlegen. Klicken Sie auf das + Symbol, um einen neuen Datensatz anzulegen.

APEX 5. Mit 6 Klicks kostenfrei zur APEX Webapplikation. Robotron Datenbank-Software GmbH Schulungszentrum Heilbronner Straße Dresden

GPS Fleet Software (

Rundung und Casting von Zahlen

Zugriff auf die swhv-mitgliederverwaltung

PHP MySQL - myphpadmin Formulardaten in eine Datenbank speichern

Kurzbeschreibung zum Haushaltsbuch 3.3 für LibreOffice und Apache OpenOffice. Arne Hildebrandt

Kapitel 10. JDBC und SQLJ. Prof. Dr. Wolfgang Weber Vorlesung Datenbanken 1

Datenformat zum Import von CSV-Dateien

Info: Um einen Import durchführen zu können, benötigen Sie das Menü- und Funktionsrecht Mitglied(er) importieren (MEM_IMP)

Empfänger. Alle Empfänger, die sich für Ihre(n) Newsletter angemeldet haben, werden in der Empfängerverwaltung erfasst.

Wir fragen um! 26. Gebrauchsanweisung: Szenario Abkürzung. 1. Du hast eine Umfrage gemacht, die Fragen und Antworten liegen neben dir bereit.

In 3 Schritten zum eigenen Schulbuch

SERIENBRIEFE DAS PRINZIP DES SERIENDRUCKS

Entwicklung einer Webseite zur Verwaltung von Prüfungsterminen

Startseitenartikel in TYPO3

3 Query Language (QL) Einfachste Abfrage Ordnen Gruppieren... 7

b.i.m.m MULTIPUSHTOOL 2013 Benutzerhandbuch b.i.m.m GmbH September 2012 Version

Willkommen. Datenbanken und Anbindung

Handbuch zum VivaWeb-Serienbrief-Programm

Konfiguration des Biografiekataloges

Übungen. DI (FH) Levent Öztürk

Anmelden Geben Sie Ihre Zugangsdaten ein. Die Zugangsdaten erhalten Sie vom Webmaster, wenn Sie den Autorenvertrag unterschrieben haben.

Grundlagen der Informatik 2

Customizing Datensicht erstellen. Erweiterung der Baumstruktur um eigene Sichten

Der Serienbrief bzw. Seriendruck

Umgang mit der Gerätedatenbank Aufgaben der MPG-Administratoren

Domain: klinikum-augsburg.de/videotutorials. Videotitel:

Datenformat zum Import von CSV-Dateien

Sie können aus einer Excel-Tabelle in verschiedene Datentabellen von REFLEX importieren, z.b.

Fremdartikel über das dbase-format in Eplan importieren. Version 5.40

AG-VIP App Erste Schritte

Seiten und Navigationspunkte

Abfragen aus mehreren Tabellen (mit join)

OpenOffice - Base G. Laner 1

Kurzanleitung Learnweb. Bitte melden Sie sich hier mit Ihrer Uni Münster Kennung (hier philedv ) und Ihrem Standardpasswort auf der Plattform an.

Einleitung Erste Abfrage erstellen...2

Kurzanleitung. Erstellen von Word- und Excelvorlagen. mit KuferSQL. Stand: Februar Kufer Software Konzeption

Chiemgau Alpenverband für Tracht und Sitte e.v.

4 SERIENDRUCK. 4.1 Vorbereitung

Buchhaltung - Abschlüsse - Buchungssätze-Import

Anleitung zur Integration der /data.mill API in SAP Java Applikationen

Transkript:

W E R K S T A T T Import von Daten aus hochgeladener Excel- Datei Intrexx 7.0

1. Einleitung In diesem Werkstattbeitrag wird anhand eines Beispiels erläutert, wie Daten aus einer vom Benutzer hochgeladenen Excel-Datei verarbeitet werden können. Im ersten Schritt benötigen wir eine Applikation, die die Datei entgegennimmt und danach erstellen wir einen Prozess, der die Daten verarbeitet. In unserem Beispiel haben wir eine kleine Kundenverwaltung, in die der Benutzer Daten aus einer Excel-Liste importieren können soll. Die Daten könnten beispielsweise auf einer Messe erfasst worden sein. Für den Zugriff auf die Inhalte der Datei verwenden wir im Beispiel die POI-Bibliothek der Apache Foundation (https://poi.apache.org/apidocs/). 2. Applikation Bitte erstellen Sie eine neue Applikation auf Basis der leeren Vorlage und benennen Sie diese um, z.b. in Werkstatt: Import aus Excel. Die bestehende Datengruppe benennen Sie um in Upload. Auf der Eingabeseite platzieren Sie bitte die folgenden Eingabeelemente: Dateiauswahl (Typ Datei, Titel Datei) Speichern-Schaltfläche Das Dateifeld konfigurieren Sie so, dass der Upload mehrerer Dateien nicht möglich ist und dass die Datei in einem Datenfeld, welches Sie neu anlegen, abgespeichert wird. Als nächstes erstellen Sie eine neue Datengruppe mit dem Titel Kunden. Den Datentyp des Primärschlüssels bitte unbedingt auf GUID umstellen. Da wir die Applikation nur beispielhaft umsetzen, legen wir nicht alle Datenfelder an, die bei einem Kunden sinnvoll wären. Wir beschränken uns hier auf die Felder Firma, Straße, PLZ und Ort. Bitte legen Sie diese Felder vom Typ String über den Eigenschaftendialog der Datengruppe an. Abschließend platzieren Sie auf der Seite Übersicht eine Tabelle, die die Kundendaten anzeigt und veröffentlichen danach die Applikation. 3. Prozess Der Prozess soll beim Upload einer Excel-Datei die Daten auslesen und in der Datengruppe abspeichern. In unserem Beispiel werden die Daten einfach ohne jegliche Prüfung als neue Datensätze hinzugefügt. Um auf eine neue Datei zu reagieren, wird ein Datengruppen- Ereignisbehandler eingefügt, der nur auf das Einfügen neuer Datensätze der in Kapitel 2 angelegten Datengruppe Upload reagiert. UNITED PLANET - INTREXX 7 - IMPORT VON DATEN AUS HOCHGELADENER EXCEL-DATEI 2

Mit dem Ereignisbehandler verbinden Sie dann eine Groovy-Aktion, in die Sie den folgenden Code einfügen: import java.io.fileoutputstream import java.io.ioexception import java.io.inputstreamreader import org.apache.poi.hssf.usermodel.hssfworkbook import org.apache.poi.ss.usermodel.cell import org.apache.poi.ss.usermodel.sheet import org.apache.poi.ss.usermodel.workbook import org.apache.poi.xssf.usermodel.xssfworkbook import org.apache.poi.ss.usermodel.cellstyle import org.apache.poi.ss.usermodel.font import org.apache.poi.ss.usermodel.row import org.apache.poi.ss.usermodel.indexedcolors; import org.apache.poi.ss.usermodel.workbookfactory import de.uplanet.lucy.server.businesslogic.util.fileuchelper import de.uplanet.scripting.groovy.util.safely //Dateifeld, in dem die Excel-Datei gespeichert wird def l_vhfile = g_record["0301d1a138b9d1eaa2c82d5a4b3e611c324fd269"] /* datafield Datei <file> */ def strpfadimportfile = l_vhfile.getpath() //Pfad zur Datei if(strpfadimportfile) def strid = g_record["246d16de13285ac1a801ed049ab5e45f3babd31c"].value /* datafield (PK) (S) ID <integer> */ def conn = g_dbconnections.systemconnection if(strpfadimportfile) //notwendig, da sonst auch das Löschen des Importfiles per FileUcHelper noch einmal das File verarbeiten will, denn dies triggert ebenfalls das Ändern in der BL an InputStream inp = new FileInputStream(strPfadImportfile); Workbook wb = WorkbookFactory.create(inp); Sheet sheet = wb.getsheetat(0); def stmt = null /******************************** Zellen: 0: Firma 1: Straße 2: PLZ 3: Ort ********************************/ def firma = null def strasse = null def plz = null def ort = null i=0 //in der Ersten Zeile mit Index 0 steht die Überschrift Iterator<Row> rows = sheet.rowiterator() while (rows.hasnext()) Row row = rows.next() if( i > 0)// erste Zeile enthält Kopfzeile Cell cella = row.getcell(0) if(cella) firma = cella.getstringcellvalue() firma = null Cell cellb = row.getcell(1) if(cellb) strasse = cellb.getstringcellvalue() UNITED PLANET - INTREXX 7 - IMPORT VON DATEN AUS HOCHGELADENER EXCEL-DATEI 3

strasse = null Cell cellc if(cellc) plz = row.getcell(2) = cellc.getnumericcellvalue().tointeger() //Wenn Excel das Feld als "Numeric" abspeichert, muss der Wert auch über die entsprechende Methode ausgelesen werden. tointeger(), damit kein ".0" am Ende plz Cell celld if(celld) ort ort = null = row.getcell(3) = celld.getstringcellvalue() = null //Kunden hinzufügen per SQL-Statement def guid = newguid() try stmt = g_dbquery.prepare(conn, "INSERT INTO DATAGROUP('D749FCBF6594B27B6D1D5ECE7A556FBFCC8DB262') (STRID,STR_FIRMA,STR_STRASSE,STR_PLZ,STR_ORT) VALUES (?,?,?,?,?)") stmt.setstring(1, guid) stmt.setstring(2, firma) stmt.setstring(3, strasse) stmt.setstring(4, plz.tostring()) stmt.setstring(5, ort) löschen stmt.executeupdate() finally stmt = Safely.close(stmt) i++ //Aufräumen: hochgeladene Datei mitsamt Upload-Datensatz wieder FileUCHelper.deleteFileFromIntrexx(g_context, "0301D1A138B9D1EAA2C82D5A4B3E611C324FD269", g_record.recid) try stmt = g_dbquery.prepare(conn, "DELETE FROM DATAGROUP('D4C658BCBD84D9C511F5657745B8F26226A87901') WHERE LID =?") stmt.setint(1, g_record.recid.tointeger()) stmt.executeupdate() finally stmt = Safely.close(stmt) Im Skript greifen wir zunächst auf die Excel-Datei zu, genauer gesagt, auf das erste Sheet der Datei. Darin gehen wir dann Zeile für Zeile durch und lesen die Inhalte aus, die dann auch sofort in die Intrexx-Datenbank geschrieben werden. Ganz am Ende löschen wir die hochgeladene Datei wieder aus der Datengruppe Uploads. Dieser Schritt ist nicht unbedingt notwendig, falls man eine Art Historie der hochgeladenen Dateien behalten möchte. Bitte beachten Sie, dass Excel für die einzelnen Zellen den Datentyp eventuell selbst festlegt, der Datentyp aber beim Auslesen im Groovy-Skript korrekt angegeben werden muss. Um an dieser Stelle flexibler zu sein, kann der Datentyp jeder Zelle ausgelesen werden, um dann mit UNITED PLANET - INTREXX 7 - IMPORT VON DATEN AUS HOCHGELADENER EXCEL-DATEI 4

der entsprechenden Methode darauf zuzugreifen. Außerdem wird im Beispiel nicht geprüft, ob es sich tatsächlich um eine Excel-Datei handelt. Dies kann ebenfalls mit Groovy umgesetzt werden und sollte bei einer Applikation, die produktiv genutzt werden soll, auch unbedingt überprüft werden. Vor dem Veröffentlichen geben wir dem Prozess noch denselben Namen wie der Applikation. 4. Testen Zum Testen der Applikation mitsamt Prozess benötigen wir schließlich noch eine Excel-Datei. Als Beispiel kann ein leeres Excel-Sheet erstellt werden. Darin nutzen wir vier Spalten, von denen jede eine Überschrift bekommt. Die Spalten müssen in derselben Reihenfolge sein, in der wir im Code darauf zugreifen, d.h. Firma, Straße, PLZ, Ort. Natürlich können Sie der Liste weitere Einträge hinzufügen. Zum Abschluss wechseln Sie in den Browser und rufen die Applikation auf. Dort gehen Sie auf die Eingabeseite in unserer neuen Applikation, wählen in der Dateiauswahl die Excel-Datei aus und laden Sie mit dem Klick auf Speichern hoch. Wenn Sie alles richtig gemacht haben, tauchen die Kunden aus der Excel-Liste nun in der Tabelle auf der Übersichtsseite auf. UNITED PLANET - INTREXX 7 - IMPORT VON DATEN AUS HOCHGELADENER EXCEL-DATEI 5

2015 United Planet. All rights reserved. www.unitedplanet.com. Intrexx and United Planet are registered trademarks of United Planet, Freiburg - Germany. Alle im Text erwähnten Hersteller, Produkte und Dienstleistungen sind Marken oder eingetragene Marken der jeweiligen Unternehmen in Deutschland und anderen Ländern weltweit.