[ABAP] ABAP2XLSX: Column Autosize, Verwendung Iterator

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.