View Full Version : Excel ausgeben mit SQL / RPG
Moin @ll,
ich stehe gerade auf dem Schlauch und hoffe dass ihr mir auf die Sprünge helfen könnt ;)
Aktuell habe ich eine Excel-Tabelle (s. ScreenShot) mit Text, Grafik etc. die über eine Daten-Quelle mit SQL von dem System i mit Daten versorgt wird. Hierfür ist allerdings die manuelle Eingabe einer Nummer erforderlich.
Diese Excel-Tabelle soll nun maschinell erzeugt, als .xls gespeichert und per eMail versandt werden.
Bisher habe ich nur die Ausgabe einer .csv-Datei gefunden, was mir bei dieser Anforderung nicht weiterhilft, da die .xls Datei als Template verwendet und die Daten an der vorgegebenen Stelle eingefügt werden sollen.
Ich freue mich über eure Vorschläge uns wünsche schon mal ein schönes Wochenende :)
Wolfgang
638
Andreas_Prouza
08-07-22, 09:08
Dafür benötigst du ein Framework (am besten in Java, PHP oder Python) welches das Excel Format unterstützt und öffnen und darin die Datensätze hinzufügen kann.
Für den Versand von Mail gibt es auch viele Möglichkeiten.
lg Andreas
Schau dir mal den folgenden Link von Scott Forstie an:
https://gist.github.com/forstie/cec5b0bf5c0e6983125ae078b0d04b48
ACS kann auch keine Excel updaten sondern nur Excel erstellen.
Die eleganteste Möglichkeit bietet Excel da bereits selber.
Man kann in Excel der OBDC-Abfrage auch einen Parameter "?" mitgeben und diesem Parameter eine Zelle zuweisen.
Immer wenn die Zelle geändert wird und man "Daten->Aktualisere" wählt, werden die Daten an die selbe Stelle in der Exceldatei abgelegt.
Da der Abfragebereich einen Namen hat, kann mann gezielt mit einem Verweis oder sonstigem darauf zugreifen.
https://support.microsoft.com/de-de/office/erstellen-einer-parameterabfrage-in-microsoft-query-c67d9af7-c8a0-4bf7-937c-087cb25f7ad3
Moin, ich hänge mich hier mal mir rein.
Wir haben ein Excel Template und sollen ab Zeile 19 die Excel Datei mit Daten aus der AS/400 vervollständigen.
Wie würdet Ihr hier vorgehen? Geht das mit AS/400 eigenen Bordmitteln überhaupt?
Danke.
Klaus
Nein und Ja, da Java auch ein Bordmittel ist.
https://poi.apache.org/
Andere Sachen liegen dann eher auf Clientseite wie z.B. C# und sog. Thirdparty-Libs.
Excel selber als App ist nur schwer automatisierbar, da Office zwar "Interop" unterstützt, allerdings offiziell nicht im Batchmodus, z.B. userless in der Aufgabenplanung.
Ich setze z.B. gerne C# mit Office-Libs ein. Da gibts eine Reihe von Lieferanten, teils kostenlos mit wenig Funktionsumfang bis kostenpflichtig.
Danke, aber dann liegt auf dem Client wieder einiges. Das soll automatisiert laufen.
Ich habe mir ein python script erzeugt und dieses über QSH mit Parametern aufgerufen.
import openpyxl
import sys
xlsxrow=int(sys.argv[1])
xlsxcol=int(sys.argv[2])
xlsxcont=sys.argv[3]
fileXLSX = openpyxl.load_workbook('/temp/python/excelwrite.xlsx')
sheet = fileXLSX["test"]
sheet.cell(row=xlsxrow, column=xlsxcol).value = xlsxcont
fileXLSX.save('/temp/python/excelwrite.xlsx')
Aufruf wäre dann: python3 /temp/python/excelwrite.py 10 2 1.5
Ist ja indirekt auch eine IBM i Lösung, da ja Python auf IBM i läuft.
Mi DB Export von der tool-company
Das kann das problemlos
Der ILEMax
Mi DB Export von der tool-company
Das kann das problemlos
Der ILEMax
danke, welche Firma ist das und ist vermutlich kostenpflichtig, richtig?