[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Mar 2006
    Beiträge
    27

    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


    Click image for larger version. 

Name:	Zwischenablage01.jpg 
Views:	24 
Size:	44,7 KB 
ID:	638

  2. #2
    Registriert seit
    Nov 2020
    Beiträge
    351
    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

  3. #3
    Registriert seit
    Aug 2001
    Beiträge
    2.889
    Schau dir mal den folgenden Link von Scott Forstie an:
    https://gist.github.com/forstie/cec5...5ae078b0d04b48
    Birgitta Hauser

    Anwendungsmodernisierung, Beratung, Schulungen, Programmierung im Bereich RPG, SQL und Datenbank
    IBM Champion seit 2020 - 5. Jahr in Folge
    Birgitta Hauser - Modernization - Education - Consulting on IBM i

  4. #4
    Registriert seit
    Feb 2001
    Beiträge
    20.345
    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/...c-087cb25f7ad3
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  5. #5
    Registriert seit
    Sep 2004
    Beiträge
    336
    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

  6. #6
    Registriert seit
    Feb 2001
    Beiträge
    20.345
    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.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  7. #7
    Registriert seit
    Sep 2004
    Beiträge
    336
    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

  8. #8
    Registriert seit
    Feb 2001
    Beiträge
    20.345
    Ist ja indirekt auch eine IBM i Lösung, da ja Python auf IBM i läuft.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  9. #9
    Registriert seit
    Sep 2005
    Beiträge
    401
    Mi DB Export von der tool-company
    Das kann das problemlos
    Der ILEMax

  10. #10
    Registriert seit
    Sep 2004
    Beiträge
    336
    Zitat Zitat von ILEMax Beitrag anzeigen
    Mi DB Export von der tool-company
    Das kann das problemlos
    Der ILEMax
    danke, welche Firma ist das und ist vermutlich kostenpflichtig, richtig?

  11. #11
    Registriert seit
    Sep 2005
    Beiträge
    401
    The-tool-company.de

    Ja kostet etwas. Dafür ist Unterstützung und Support super.
    Einfach mal anrufen.
    Firma ist Rehburg Solutions, früher Meinikat.
    Arbeiten eng zusammen, überleben ist gesichert!

    Excel neu (mit/ohne Vorlage)
    Excel anfügen
    Blatt hinzufügen/Überschreiben, anhängen.
    Zeilengruppe wiederholen (um Summen zu bekommen oder farbschattiert Zeilen)

Similar Threads

  1. ACS SQL-Ergebnis in Excel lesbar ausgeben
    By Fuerchau in forum IBM i Hauptforum
    Antworten: 5
    Letzter Beitrag: 27-10-21, 09:46
  2. Auftrags-Dokumente in RPG-Programm in Tschechisch ausgeben
    By hartmuth in forum IBM i Hauptforum
    Antworten: 1
    Letzter Beitrag: 26-04-16, 13:20
  3. Spaltenüberschriften aus VBA sql-Statement in Excel ausgeben
    By rr2001 in forum NEWSboard Programmierung
    Antworten: 8
    Letzter Beitrag: 17-04-15, 09:28
  4. SQL-Statement in Datei ausgeben
    By Proggi in forum NEWSboard Programmierung
    Antworten: 6
    Letzter Beitrag: 14-09-05, 16:58
  5. QUERY als SQL-Anweisung ausgeben?
    By Matthias.Hayn in forum IBM i Hauptforum
    Antworten: 5
    Letzter Beitrag: 27-11-01, 11:28

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •