Interne Tabelle als EXCEL-Sheet lokal speichern

Getting started ... Alles für einen gelungenen Start.
3 Beiträge • Seite 1 von 1
3 Beiträge Seite 1 von 1

Interne Tabelle als EXCEL-Sheet lokal speichern

Beitrag von Nordlicht (Specialist / 304 / 8 / 3 ) »
Hallo zusammen.

Zu dem Thema gibt es ja hunderte Beiträge. Meine Ausrede warum ich dennoch neu frage: 4.6C

:-(

Ich möchte eine interne Tabelle als Excel Sheet (idealerweise XLSX) auf C: speichern. Gibt es für unser Uraltsystem 4.6C einen Funktionsbaustein der das kann?

Ciao,
Burkhart

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Re: Interne Tabelle als EXCEL-Sheet lokal speichern

Beitrag von DeathAndPain (Top Expert / 1961 / 261 / 415 ) »
Ich bin jetzt nicht hundertprozentig sicher, was damals schon möglich gewesen ist. Es gibt ja zwei Wege, in ABAP eine Exceldatei zu erzeugen. Der eine geht über OLE und nutzt das auf dem Zielrechner installierte Excel (was insbesondere bedeutet, dass er nicht funktioniert, wenn auf dem Rechner, auf dem das SAPGui läuft, kein Excel installiert ist).

Der andere nutzt ALV-Funktionalitäten, um die Exceltabelle zu erzeugen. Dafür wird

Code: Alles auswählen.

    CL_SALV_TABLE=>FACTORY( IMPORTING R_SALV_TABLE = DATA(LO_SALV_TABLE)
                             CHANGING T_TABLE      = EXCEL_OUTPUT_TABLE )
  DATA(LV_XSTRING) = LO_SALV_TABLE->TO_XML( XML_TYPE = IF_SALV_BS_XML=>C_TYPE_XLSX ).
genutzt. Anschließend hat man die Exceltabelle in LV_XSTRINGzu stehen und kann sie mit

Code: Alles auswählen.

  CALL FUNCTION 'SCMS_XSTRING_TO_BINARY'
    EXPORTING BUFFER          = IV_XSTRING
    IMPORTING OUTPUT_LENGTH   = SIZE
    TABLES    BINARY_TAB      = GT_BINTAB.

  CL_GUI_FRONTEND_SERVICES=>GUI_DOWNLOAD( EXPORTING BIN_FILESIZE   = SIZE
                                                    FILENAME       = FILENAME
                                                    FILETYPE       = 'BIN'
                                          CHANGING  DATA_TAB       = GT_BINTAB
                                          EXCEPTIONS ACCESS_DENIED = 1 ).
auf dem lokalen Rechner ausgeben. Was davon es unter 4.6 schon gegeben hat, weiß ich nicht mehr genau. Die Inlinedeklaration von LV_XSTRING sicher nicht, aber die lässt sich ja leicht umformulieren. Aber ALVs gab es schon, oder? Ich bin der Meinung, die kamen mit 4.0.

Der zweite Weg hat den Vorteil, dass auf dem Zielrechner kein Excel installiert sein muss. Man kann damit die Exceltabelle z.B. auch in einem nächtlichen Hintergrundjob erzeugen und anstatt auf einen Clientrechner auf ein lokales Verzeichnis des SAP-Servers packen, wo sie später abgeholt wird.

Re: Interne Tabelle als EXCEL-Sheet lokal speichern

Beitrag von a-dead-trousers (Top Expert / 4413 / 224 / 1185 ) »
Es gibt auch noch ABAP2XLSX.
Das Problem bei der ALV Variante ist, dass es abhängig von einem Template XLSX ist und ich glaube das dürfte schon länger nicht mehr gewartet worden sein. Zumindest hatte ich damit schon öfters Probleme. Andererseits hast du ja 4.6C. Da könnte es auch noch "brandneu" sein.
Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.18
Basis: 7.50

Seite 1 von 1

Vergleichbare Themen

31
Antw.
20806
Views
Interne Tabelle als Excel-Datei speichern
von Bright4.5 » 22.08.2018 13:50 • Verfasst in ABAP® für Anfänger
10
Antw.
2900
Views
Interne Tabelle als Excel Datei im Hintergrund speichern
von lisa » 23.03.2022 14:12 • Verfasst in ABAP® für Anfänger
8
Antw.
4127
Views
GUI-Liste als HTML Lokal speichern?
von schuessler » 13.08.2007 10:30 • Verfasst in ABAP® Core
3
Antw.
1767
Views
Excel-Sheet mit Ole
von Neuling » 03.05.2007 15:25 • Verfasst in ABAP® Core
0
Antw.
1089
Views
Sheet in Excel
von lisa » 07.09.2008 22:12 • Verfasst in ABAP® Core

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.