ALV Darstellung mit gui_download

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

ALV Darstellung mit gui_download

Beitrag von L0w-RiDer (Expert / 535 / 83 / 2 ) »
Hallo,

ich würde gerne die Einträge von einer internen Tabelle auf die Festplatte speichern, dabei gebe ich das Verzeichnis bereits im Programm vor. Nun ist mir klar, dass dies mit der Klassenmethode gui_download von der Klasse cl_gui_frontend_services möglich ist. Ich möchte aber das die Darstellung der Excel-Datei bereits auch die ALV-Grid Darstellung besitzt. Weiß jemand wie das geht?

Vielen Dank!

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


Re: ALV Darstellung mit gui_download

Beitrag von NLengner (ForumUser / 31 / 7 / 2 ) »
Hey,

versuch mal

Code: Alles auswählen.

lo_alv->set_screen_status( pfstatus = 'STANDARD_CR' report = 'SAPLKKBL' set_functions = lo_alv->c_functions_all ).
  DATA(lo_func) = lo_alv->get_functions( ).
  lo_func->set_all( abap_true ).

In der GUI leiste ist dann ein "Excel" Symbol da kannst du deine alv ausgabe direkt speichern, was dann auch formatiert ist.

Re: ALV Darstellung mit gui_download

Beitrag von L0w-RiDer (Expert / 535 / 83 / 2 ) »
hey, vielen Dank.

Ja, aber ich wollte gerne mit einem Funktionsbaustein/Methode auch direkt den Download als Excel-Datei durchführen. Weiß das jemand, wie das geht?

Re: ALV Darstellung mit gui_download

Beitrag von L0w-RiDer (Expert / 535 / 83 / 2 ) »
Das Problem, welches ich an sich habe, ist dass, wenn ich meine interne Tabelle mit gui_download auf ein Verzeichnis meiner Festplatte speichere, es leider in einem Feld dazu kommt, dass die führenden Nullen nicht angezeigt werden, als auch dass es vorkommen kann, dass z.B. 7.77 in ein Datum umgewandelt wird. Weiß jemand wie man sowas beheben kann? Also das es gleich richtig angezeigt wird, mit den Nullen und kein Datum. Ich weiß, dass das von Excel automatisch so gemacht wird, aber vielleicht gibt es eine Möglichkeit dies zu verhindern. Vielleicht indem man der Tabelle die ALV-Darstellung mitgibt?

Re: ALV Darstellung mit gui_download

Beitrag von ewx (Top Expert / 4871 / 314 / 644 ) »
Schau dir am besten mal ABAP2XLSX an:
https://github.com/sapmentors/abap2xlsx

Das ist der Demo-Code, um eine interne Tabelle in Excel umzuwandeln und zu speichern.

Code: Alles auswählen.

REPORT  zdemo_excel3.

TYPE-POOLS: abap.

DATA: lo_excel                TYPE REF TO zcl_excel,
      lo_worksheet            TYPE REF TO zcl_excel_worksheet,
      column_dimension        TYPE REF TO zcl_excel_worksheet_columndime.

DATA: ls_table_settings       TYPE zexcel_s_table_settings.


DATA: lv_title TYPE zexcel_sheet_title,
      lt_carr  TYPE TABLE OF scarr,
      row TYPE zexcel_cell_row VALUE 2,
      lo_range TYPE REF TO zcl_excel_range.
DATA: lo_data_validation  TYPE REF TO zcl_excel_data_validation.
FIELD-SYMBOLS: <carr> LIKE LINE OF lt_carr.

CONSTANTS: c_airlines TYPE string VALUE 'Airlines'.


CONSTANTS: gc_save_file_name TYPE string VALUE '03_iTab.xlsx'.
INCLUDE zdemo_excel_outputopt_incl.

PARAMETERS: p_empty TYPE flag.

START-OF-SELECTION.
  " Creates active sheet
  CREATE OBJECT lo_excel.

  " Get active sheet
  lo_worksheet = lo_excel->get_active_worksheet( ).
  lo_worksheet->set_title( ip_title = 'Internal table').

  DATA lt_test TYPE TABLE OF sflight.

  IF p_empty <> abap_true.
    SELECT * FROM sflight INTO TABLE lt_test. "#EC CI_NOWHERE
  ENDIF.

  ls_table_settings-table_style       = zcl_excel_table=>builtinstyle_medium2.
  ls_table_settings-show_row_stripes  = abap_true.
  ls_table_settings-nofilters         = abap_true.

  lo_worksheet->bind_table( ip_table          = lt_test
                            is_table_settings = ls_table_settings ).

  lo_worksheet->freeze_panes( ip_num_rows = 3 ). "freeze column headers when scrolling

  column_dimension = lo_worksheet->get_column_dimension( ip_column = 'E' ). "make date field a bit wider
  column_dimension->set_width( ip_width = 11 ).
  " Add another table for data validations
  lo_worksheet = lo_excel->add_new_worksheet( ).
  lv_title = 'Data Validation'.
  lo_worksheet->set_title( lv_title ).
  lo_worksheet->set_cell( ip_row = 1 ip_column = 'A' ip_value = c_airlines ).
  SELECT * FROM scarr INTO TABLE lt_carr. "#EC CI_NOWHERE
  LOOP AT lt_carr ASSIGNING <carr>.
    lo_worksheet->set_cell( ip_row = row ip_column = 'A' ip_value = <carr>-carrid ).
    row = row + 1.
  ENDLOOP.
  row = row - 1.
  lo_range            = lo_excel->add_new_range( ).
  lo_range->name      = c_airlines.
  lo_range->set_value( ip_sheet_name    = lv_title
                       ip_start_column  = 'A'
                       ip_start_row     = 2
                       ip_stop_column   = 'A'
                       ip_stop_row      = row ).
  " Set Data Validation
  lo_excel->set_active_sheet_index( 1 ).
  lo_worksheet = lo_excel->get_active_worksheet( ).

  lo_data_validation              = lo_worksheet->add_new_data_validation( ).
  lo_data_validation->type        = zcl_excel_data_validation=>c_type_list.
  lo_data_validation->formula1    = c_airlines.
  lo_data_validation->cell_row    = 4.
  lo_data_validation->cell_column = 'C'.

*** Create output
  lcl_output=>output( lo_excel ).

Seite 1 von 1

Vergleichbare Themen

3
Antw.
2201
Views
UNICODE Darstellung
von dyv » 07.11.2014 12:30 • Verfasst in ABAP® Core
2
Antw.
2003
Views
Frage zur Darstellung.
von jondahl11 » 23.10.2006 12:45 • Verfasst in ABAP® für Anfänger
6
Antw.
3208
Views
alv grid darstellung
von kostonstyle » 04.12.2006 07:47 • Verfasst in ABAP® für Anfänger
2
Antw.
3045
Views
ALV Grid darstellung
von abap_anfänger98 » 09.05.2021 15:52 • Verfasst in ABAP® für Anfänger
5
Antw.
2692
Views
Darstellung von Ziffern im Excel
von SAP_ENTWICKLER » 09.11.2017 13:05 • Verfasst in ABAP® Core

Über diesen Beitrag


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

Aktuelle Forenbeiträge

Hilfe zum FB MATERIAL_MAINTAIN_DARK
Gestern von black_adept gelöst 8 / 1738
HR-Entgeltnachweis
Gestern von ChrisB 4 / 2294

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.

Aktuelle Forenbeiträge

Hilfe zum FB MATERIAL_MAINTAIN_DARK
Gestern von black_adept gelöst 8 / 1738
HR-Entgeltnachweis
Gestern von ChrisB 4 / 2294

Unbeantwortete Forenbeiträge

Export von Spools in XLSX
vor 4 Tagen von abapamateur 1 / 280
Feldberechnung ME32K
vor einer Woche von ZF_SAPler 1 / 870
MS-Word als Editor
letzen Monat von tekko 1 / 4377