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 / 4784 / 294 / 628 ) »
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.
1999
Views
UNICODE Darstellung
von dyv » 07.11.2014 12:30 • Verfasst in ABAP® Core
2
Antw.
2593
Views
ALV Grid darstellung
von abap_anfänger98 » 09.05.2021 15:52 • Verfasst in ABAP® für Anfänger
2
Antw.
1758
Views
Frage zur Darstellung.
von jondahl11 » 23.10.2006 12:45 • Verfasst in ABAP® für Anfänger
6
Antw.
2908
Views
alv grid darstellung
von kostonstyle » 04.12.2006 07:47 • Verfasst in ABAP® für Anfänger
3
Antw.
2440
Views
CL_SAL_TREE Darstellung der Spaltenüberschriften
von alac » 10.02.2011 12:23 • Verfasst in ABAP Objects®

Über diesen Beitrag


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

Aktuelle Forenbeiträge

Zwischensumme Adobe Forms
vor 3 Tagen von Lucyalison 1 / 64
Interne Tabelle
vor 5 Tagen von black_adept 2 / 133
MaLo-Checker in ABAP
vor einer Woche von A6272 6 / 254

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

Zwischensumme Adobe Forms
vor 3 Tagen von Lucyalison 1 / 64
Interne Tabelle
vor 5 Tagen von black_adept 2 / 133
MaLo-Checker in ABAP
vor einer Woche von A6272 6 / 254

Unbeantwortete Forenbeiträge

Zwischensumme Adobe Forms
vor 3 Tagen von Lucyalison 1 / 64
Group Items auf einer Filterbar
vor einer Woche von Bright4.5 1 / 107
tRFC Transaktionen SM58
vor 4 Wochen von A6272 1 / 140