Funktionsbaustein um XLSX-Datei zu speichern

Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

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

Funktionsbaustein um XLSX-Datei zu speichern

Beitrag von Bright4.5 (Specialist / 265 / 21 / 1 ) »
Hallo,

kennt jemand einen Funktionsbaustein um den Inhalt einer internen Tabelle als XLSX-Datei auf ein Verzeichnis zu speichern (auf der Festplatte).

Ich hab einen Funktionsbaustein, nämlich den hier:

CALL FUNCTION 'Z_CD_DATEIERSTELLUNG'
EXPORTING
i_filename = filepath
i_dtyp = 'CSV'
I_STRUCK = 'PRS'
IT_OPLINE =
i_fanz = 5
i_seperator = ';'
i_servertyp = 'PRS'
TABLES
i_itemtab = gt_ausgabe
EXCEPTIONS
to_mutch_fields = 1
wrong_struc = 2
opline_without_struc = 3
wrong_ifanz = 4
file_error = 5
dict_error = 6
OTHERS = 7.

IF sy-subrc <> 0.
Implement suitable error handling here
ENDIF.


allerdings kann ich damit nur CSV-Dateien speichern. Ich bräuchte nun einen mit dem ich XLSX speichern kann.

P.S: Wie kann man eigentlich so einen Code in so einem Extra-Fenster anzeigen lassen? :)

Vielen Dank im Voraus.

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


Re: Funktionsbaustein um XLSX-Datei zu speichern

Beitrag von a-dead-trousers (Top Expert / 4271 / 213 / 1140 ) »
Such mal im Netz oder hier im Forum nach ABAP2XLSX.
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

Re: Funktionsbaustein um XLSX-Datei zu speichern

Beitrag von DeathAndPain (Top Expert / 1795 / 213 / 396 ) »
Das ist aber ein Riesenoverkill, sich da extra so ein Paket zu installieren, nur weil man einmal so eine Funktionalität braucht. Und nötig ist es auch nicht: Es gibt einen FB, der direkt .xlsx exportiert. In irgendeinem meiner Programme (oder mehreren) nutze ich den; aber mir fällt grad nicht ein in welchem. Einziger Wermutstropfen dieses FB: Er funktioniert nur, wenn das Programm im Vordergrund läuft und auf dem Clientrechner ein MS Office installiert ist. Dieses wird dann vom SAPGui per OLE angesprochen und für die xlsx-Erstellung genutzt.

Re: Funktionsbaustein um XLSX-Datei zu speichern

Beitrag von Tommy Nightmare (ForumUser / 28 / 5 / 1 ) »
Stichwort BB Code:
https://de.wikipedia.org/wiki/BBCode
Für Code diese: (ich habe die eckigen Klammern hier durch runde Klammern ersetzt, weil die sonst nicht dargestellt werden)
(code)Dein Code(/code)

Re: Funktionsbaustein um XLSX-Datei zu speichern

Beitrag von Tommy Nightmare (ForumUser / 28 / 5 / 1 ) »
Wie wäre es mit dem Fuba GUI_DOWNLOAD?
Alternativ die gleichnamige Methode der Klasse CL_GUI_FRONTEND_SERVICES.

Gruß, Tommy

Re: Funktionsbaustein um XLSX-Datei zu speichern

Beitrag von A6272 (Specialist / 231 / 6 / 36 ) »
Hallo,

die Interne Tabelle, soll die
Variante 1: als Text mit Tab getrennt abgespeichert und nur mit Dateiendung .xlsx versehen, so dass ein Endanwender draufklicken kann und EXCEL sich öffnet?
Variante 2: soll ein echtes File vom Typ .xlsx herauskommen?

Da du anscheinen auf einem Windows Laufwerk speichern willst, ist es nur im Dialogprozess möglich. Im ALV gibt es diese Exportmethode, auch wenn es mühsam sein dürfte, den mal debuggen und analysieren.

Re: Funktionsbaustein um XLSX-Datei zu speichern

Beitrag von edwin (Specialist / 300 / 9 / 68 ) »
Hi,
im Batch gehts auch - bau dir ein Feldcatalog deiner Tabelle auf, dann :

Code: Alles auswählen.

data :
"Tabelle"   type standard table of ... 
dein_feldcatalog   type LVC_T_FCAT,
export_als_xstring type XSTRING,
choice              TYPE if_salv_bs_xml=>s_type_xml_choice,
versio               TYPE string,
ref_result_data        TYPE REF TO cl_salv_ex_result_data_table,
tabelle_als_ref_to_data  TYPE REF TO DATA.
....
      GET REFERENCE OF "Tabelle" INTO tabelle_als_ref_to_data.
 versio = if_salv_bs_xml=>version_26.

  choice-version  = if_salv_bs_xml=>version_26.
  choice-xml_type = if_salv_bs_xml=>c_type_xlsx.
  choice-gui_type = if_salv_bs_xml=>c_gui_type_gui.

  ref_result_data = cl_salv_ex_util=>factory_result_data_table(
*                    T_SELECTED_ROWS             = lt_lvc_row
*                    T_SELECTED_COLUMNS          = lt_sel_cols
*                    T_SELECTED_CELLS            = lt_sel_cells
      r_data                      =  tabelle_als_ref_to_data
*                   S_LAYOUT                    = gs_layo
      t_fieldcatalog              = dein_feldcatalog
*                   T_SORT                      = gt_sort
*                   T_FILTER                    = gt_filter
*                    T_HYPERLINKS                = me->mt_hyperlinks
*                    S_CURRENT_CELL              = ls_cur_cell
*                    HYPERLINK_ENTRY_COLUMN     = ls_hyper_entry
*                    DROPDOWN_ENTRY_COLUMN      = ls_dropdown_entry
*                    T_DROPDOWN_VALUES           = lt_drdn )
*                    r_top_of_list               = lr_form_tol
*                    r_end_of_list               = lr_form_eol
          ).

  cl_salv_bs_tt_util=>if_salv_bs_tt_util~transform(
                            EXPORTING  xml_type      = choice-xml_type
                                       xml_version   = versio
                                       r_result_data = ref_result_data
                                       xml_flavour   = if_salv_bs_c_tt=>c_tt_xml_flavour_export
                                       gui_type      = choice-gui_type
                            IMPORTING  xml           = export_als_xstring ).
in "export als xstring" bekommst Du die XLSX binär zurückgeliefert
tabelle_als_ref_to_data muss als REF TO DATA definiert sein und auf eine Tabelle des Typs verweisen, wie im Fieldcatalog definiert, siehe Bsp Code.

/Edwin

Re: Funktionsbaustein um XLSX-Datei zu speichern

Beitrag von Bright4.5 (Specialist / 265 / 21 / 1 ) »
Hey! Super es passt. Vielen Dank für die Antworten :)

Re: Funktionsbaustein um XLSX-Datei zu speichern

Beitrag von L0w-RiDer (Expert / 535 / 83 / 2 ) »
hmmm ich bräuchte auch eine Methode/Funktionsbaustein um eine XLSX-Datei auf der Festplatte abzuspeichern. Gibt es da was Gutes, außer ABAP2XLSX (da dies bei uns nicht funktioniert) ?

Re: Funktionsbaustein um XLSX-Datei zu speichern

Beitrag von edwin (Specialist / 300 / 9 / 68 ) »
in der export_to_xml ist die Ausgabe als Xstring, diesen kannst Du mit Open Dataset ... Transfer... ausgeben, oder baue dir eine interne Tabelle und gebe sie mit cl_gui_frontend_services aus.
/Edwin

Re: Funktionsbaustein um XLSX-Datei zu speichern

Beitrag von L0w-RiDer (Expert / 535 / 83 / 2 ) »
okay habe es nun anders gelöst. Danke :)

Seite 1 von 1

Vergleichbare Themen

1
Antw.
1373
Views
9
Antw.
9442
Views
Download mit OPEN DATASET -> XLSX Datei korrupt
von Romaniac » 28.09.2017 14:00 • Verfasst in ABAP® Core
17
Antw.
5427
Views
Datei als XLS-Datei auf dem Appliaktionsserver speichern
von L0w-RiDer » 26.10.2018 11:01 • Verfasst in ABAP® für Anfänger
2
Antw.
2010
Views
Speichern Datei auf dem Server
von Gast » 16.11.2004 17:29 • Verfasst in ABAP Objects®
1
Antw.
6666
Views
csv Datei auf Applikationsserver speichern
von Buetzy » 31.08.2007 10:52 • Verfasst in ABAP® für Anfänger

Über diesen Beitrag


Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

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.