SELECT FROM mara
FIELDS *
INTO TABLE @DATA(it_mara)
UP TO 10 ROWS.
IF sy-subrc = 0.
* Excel-Objekt
DATA(o_xl) = NEW zcl_excel( ).
* aktive Worksheet
DATA(o_xl_ws) = o_xl->get_active_worksheet( ).
* Name der Sheet
o_xl_ws->set_title( ip_title = 'Daten' ).
* Tabelle übergeben und Style festlegen
o_xl_ws->bind_table( ip_table = it_mara
is_table_settings = VALUE #(
* table_style = zcl_excel_table=>builtinstyle_medium2
show_row_stripes = abap_true
)
).
* alle Spalten mit Iterator durchlaufen und auf Autosize setzen
DATA(o_col_iterator) = o_xl_ws->get_columns_iterator( ).
IF o_col_iterator IS BOUND.
WHILE o_col_iterator->has_next( ).
DATA(o_col) = CAST zcl_excel_column( o_col_iterator->get_next( ) ).
o_col->set_auto_size( abap_true ).
ENDWHILE.
ENDIF.
* Änderungen für alle Spalten übernehmen
o_xl_ws->calculate_column_widths( ).
ENDIF.