Funktionsbaustein um XLSX-Datei zu speichern Thema ist als GELÖST markiert

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 / 146 / 12 / 0 ) » 05.10.2018 16:25
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.


Re: Funktionsbaustein um XLSX-Datei zu speichern

Beitrag von a-dead-trousers (Top Expert / 3559 / 118 / 926 ) » 05.10.2018 17:36
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.07
Basis: 7.40

Re: Funktionsbaustein um XLSX-Datei zu speichern

Beitrag von DeathAndPain (Top Expert / 1457 / 159 / 331 ) » 05.10.2018 18:13
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 ) » 08.10.2018 11:38
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 ) » 08.10.2018 11:47
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 / 153 / 1 / 20 ) » 08.10.2018 12:46
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 / 295 / 7 / 63 ) » 08.10.2018 15:40
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 / 146 / 12 / 0 ) » 09.10.2018 09:24
Hey! Super es passt. Vielen Dank für die Antworten :)

Re: Funktionsbaustein um XLSX-Datei zu speichern

Beitrag von L0w-RiDer (Specialist / 339 / 69 / 1 ) » 02.11.2018 15:57
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 / 295 / 7 / 63 ) » 02.11.2018 17:00
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 (Specialist / 339 / 69 / 1 ) » 06.11.2018 14:07
okay habe es nun anders gelöst. Danke :)

Seite 1 von 1

Aktuelle Forenbeiträge

Last erzeugen im SAPGui?
vor 2 Tagen von tm987456 23 / 335
Neue Felder cji5
vor 2 Tagen von Rabea1103 1 / 33

Vergleichbare Themen

Download mit OPEN DATASET -> XLSX Datei korrupt
von Romaniac » 28.09.2017 14:00
Datei als XLS-Datei auf dem Appliaktionsserver speichern
von L0w-RiDer » 26.10.2018 11:01
Speichern Datei auf dem Server
von Gast » 16.11.2004 17:29
csv Datei auf Applikationsserver speichern
von Buetzy » 31.08.2007 10:52