mirror of
https://github.com/abap2xlsx/abap2xlsx.git
synced 2025-05-05 11:06:15 +08:00
parent
18cfa99a18
commit
6c124bf61d
|
@ -23,7 +23,7 @@ DATA: lo_excel TYPE REF TO zcl_excel,
|
|||
lo_style_credit TYPE REF TO zcl_excel_style,
|
||||
lo_style_link TYPE REF TO zcl_excel_style,
|
||||
lo_column TYPE REF TO zcl_excel_column,
|
||||
lo_row_dimension TYPE REF TO zcl_excel_worksheet_rowdimensi,
|
||||
lo_row TYPE REF TO zcl_excel_row,
|
||||
lo_hyperlink TYPE REF TO zcl_excel_hyperlink.
|
||||
|
||||
DATA: lv_style_color0_guid TYPE zexcel_cell_style,
|
||||
|
@ -700,8 +700,8 @@ START-OF-SELECTION.
|
|||
LOOP AT lt_mapper INTO ls_mapper.
|
||||
lv_col_str = zcl_excel_common=>convert_column2alpha( lv_col ).
|
||||
IF ls_mapper IS INITIAL.
|
||||
lo_row_dimension = lo_worksheet->get_row_dimension( ip_row = lv_row ).
|
||||
lo_row_dimension->set_row_height( ip_row_height = 8 ).
|
||||
lo_row = lo_worksheet->get_row( ip_row = lv_row ).
|
||||
lo_row->set_row_height( ip_row_height = 8 ).
|
||||
lv_col = 1.
|
||||
lv_row = lv_row + 1.
|
||||
CONTINUE.
|
||||
|
@ -723,10 +723,10 @@ START-OF-SELECTION.
|
|||
ip_value = 'Created with abap2xlsx'
|
||||
ip_style = lv_style_credit_guid ).
|
||||
|
||||
lo_hyperlink = zcl_excel_hyperlink=>create_external_link( iv_url = 'http://www.abap2xlsx.org' ).
|
||||
lo_hyperlink = zcl_excel_hyperlink=>create_external_link( iv_url = 'http://www.plinky.it/abap/abap2xlsx.php' ).
|
||||
lo_worksheet->set_cell( ip_column = 'AP'
|
||||
ip_row = 24
|
||||
ip_value = 'http://www.abap2xlsx.org'
|
||||
ip_value = 'http://www.plinky.it/abap/abap2xlsx.php'
|
||||
ip_style = lv_style_link_guid
|
||||
ip_hyperlink = lo_hyperlink ).
|
||||
|
||||
|
|
|
@ -356,7 +356,7 @@ METHOD bind_table.
|
|||
ls_field_catalog TYPE zexcel_s_fieldcatalog,
|
||||
ls_fcat TYPE zexcel_s_converter_fcat,
|
||||
lo_column TYPE REF TO zcl_excel_column,
|
||||
lo_row_dim TYPE REF TO zcl_excel_worksheet_rowdimensi,
|
||||
lo_row TYPE REF TO zcl_excel_row,
|
||||
lv_col_int TYPE zexcel_cell_column,
|
||||
lv_col_alpha TYPE zexcel_cell_column_alpha,
|
||||
ls_settings TYPE zexcel_s_table_settings,
|
||||
|
@ -1174,7 +1174,7 @@ method LOOP_NORMAL.
|
|||
l_cell_value TYPE zexcel_cell_value,
|
||||
l_s_color TYPE abap_bool,
|
||||
lo_column TYPE REF TO zcl_excel_column,
|
||||
lo_row_dim TYPE REF TO zcl_excel_worksheet_rowdimensi,
|
||||
lo_row TYPE REF TO zcl_excel_row,
|
||||
l_formula TYPE zexcel_cell_formula,
|
||||
l_style TYPE zexcel_cell_style,
|
||||
l_cells TYPE i,
|
||||
|
@ -1293,7 +1293,7 @@ method LOOP_SUBTOTAL.
|
|||
l_cell_value TYPE zexcel_cell_value,
|
||||
l_s_color TYPE abap_bool,
|
||||
lo_column TYPE REF TO zcl_excel_column,
|
||||
lo_row_dim TYPE REF TO zcl_excel_worksheet_rowdimensi,
|
||||
lo_row TYPE REF TO zcl_excel_row,
|
||||
l_formula TYPE zexcel_cell_formula,
|
||||
l_style TYPE zexcel_cell_style,
|
||||
l_subtotalled TYPE flag,
|
||||
|
@ -1385,13 +1385,13 @@ method LOOP_SUBTOTAL.
|
|||
ip_value = l_cell_value
|
||||
ip_abap_type = cl_abap_typedescr=>typekind_string
|
||||
ip_style = <fs_sfcat>-style_subtotal ).
|
||||
lo_row_dim = wo_worksheet->get_row_dimension( ip_row = l_row_int ).
|
||||
lo_row_dim->set_outline_level( ip_outline_level = <fs_sfcat>-sort_level ) .
|
||||
lo_row = wo_worksheet->get_row( ip_row = l_row_int ).
|
||||
lo_row->set_outline_level( ip_outline_level = <fs_sfcat>-sort_level ) .
|
||||
IF <fs_sfcat>-is_collapsed = abap_true.
|
||||
IF <fs_sfcat>-sort_level > l_hidden.
|
||||
lo_row_dim->set_visible( ip_visible = abap_false ) .
|
||||
lo_row->set_visible( ip_visible = abap_false ) .
|
||||
ENDIF.
|
||||
lo_row_dim->set_collapsed( ip_collapsed = <fs_sfcat>-is_collapsed ) .
|
||||
lo_row->set_collapsed( ip_collapsed = <fs_sfcat>-is_collapsed ) .
|
||||
ENDIF.
|
||||
* Now let's change the key
|
||||
ADD 1 TO l_row_int.
|
||||
|
@ -1429,21 +1429,21 @@ method LOOP_SUBTOTAL.
|
|||
ip_style = <fs_sfcat>-style_subtotal ).
|
||||
|
||||
l_sort_level = <fs_sfcat>-sort_level.
|
||||
lo_row_dim = wo_worksheet->get_row_dimension( ip_row = l_row_int ).
|
||||
lo_row_dim->set_outline_level( ip_outline_level = l_sort_level ) .
|
||||
lo_row = wo_worksheet->get_row( ip_row = l_row_int ).
|
||||
lo_row->set_outline_level( ip_outline_level = l_sort_level ) .
|
||||
IF <fs_sfcat>-is_collapsed = abap_true.
|
||||
IF <fs_sfcat>-sort_level > l_hidden.
|
||||
lo_row_dim->set_visible( ip_visible = abap_false ) .
|
||||
lo_row->set_visible( ip_visible = abap_false ) .
|
||||
ENDIF.
|
||||
lo_row_dim->set_collapsed( ip_collapsed = <fs_sfcat>-is_collapsed ) .
|
||||
lo_row->set_collapsed( ip_collapsed = <fs_sfcat>-is_collapsed ) .
|
||||
ENDIF.
|
||||
ADD 1 TO l_row_int.
|
||||
ENDIF.
|
||||
ENDLOOP.
|
||||
* Let's write the Grand total
|
||||
l_sort_level = 0.
|
||||
lo_row_dim = wo_worksheet->get_row_dimension( ip_row = l_row_int ).
|
||||
lo_row_dim->set_outline_level( ip_outline_level = l_sort_level ) .
|
||||
lo_row = wo_worksheet->get_row( ip_row = l_row_int ).
|
||||
lo_row->set_outline_level( ip_outline_level = l_sort_level ) .
|
||||
* lo_row_dim->set_collapsed( ip_collapsed = <fs_sfcat>-is_collapsed ) . Not on grand total
|
||||
|
||||
l_text = create_text_subtotal( i_value = 'Grand'(002)
|
||||
|
@ -1500,10 +1500,10 @@ method LOOP_SUBTOTAL.
|
|||
ip_formula = l_formula
|
||||
ip_style = <fs_sfcat>-style_subtotal ).
|
||||
IF <fs_sfcat>-is_collapsed = abap_true.
|
||||
lo_row_dim = wo_worksheet->get_row_dimension( ip_row = l_row_int ).
|
||||
lo_row_dim->set_collapsed( ip_collapsed = <fs_sfcat>-is_collapsed ).
|
||||
lo_row = wo_worksheet->get_row( ip_row = l_row_int ).
|
||||
lo_row->set_collapsed( ip_collapsed = <fs_sfcat>-is_collapsed ).
|
||||
IF <fs_sfcat>-sort_level > l_hidden.
|
||||
lo_row_dim->set_visible( ip_visible = abap_false ) .
|
||||
lo_row->set_visible( ip_visible = abap_false ) .
|
||||
ENDIF.
|
||||
ENDIF.
|
||||
ADD 1 TO l_row_int.
|
||||
|
@ -1519,11 +1519,11 @@ method LOOP_SUBTOTAL.
|
|||
ENDIF.
|
||||
ENDDO.
|
||||
* Let's set the row dimension values
|
||||
lo_row_dim = wo_worksheet->get_row_dimension( ip_row = l_row_int ).
|
||||
lo_row_dim->set_outline_level( ip_outline_level = ws_layout-max_subtotal_level ) .
|
||||
lo_row = wo_worksheet->get_row( ip_row = l_row_int ).
|
||||
lo_row->set_outline_level( ip_outline_level = ws_layout-max_subtotal_level ) .
|
||||
IF <fs_sfcat>-is_collapsed = abap_true.
|
||||
lo_row_dim->set_visible( ip_visible = abap_false ) .
|
||||
lo_row_dim->set_collapsed( ip_collapsed = <fs_sfcat>-is_collapsed ) .
|
||||
lo_row->set_visible( ip_visible = abap_false ) .
|
||||
lo_row->set_collapsed( ip_collapsed = <fs_sfcat>-is_collapsed ) .
|
||||
ENDIF.
|
||||
* Now let's write the cell values
|
||||
IF ws_layout-is_stripped = abap_true AND l_s_color = abap_true.
|
||||
|
@ -1579,8 +1579,8 @@ method LOOP_SUBTOTAL.
|
|||
ip_formula = l_formula
|
||||
ip_style = <fs_sfcat>-style_subtotal ).
|
||||
IF <fs_sfcat>-is_collapsed = abap_true.
|
||||
lo_row_dim = wo_worksheet->get_row_dimension( ip_row = l_row_int ).
|
||||
lo_row_dim->set_collapsed( ip_collapsed = <fs_sfcat>-is_collapsed ).
|
||||
lo_row = wo_worksheet->get_row( ip_row = l_row_int ).
|
||||
lo_row->set_collapsed( ip_collapsed = <fs_sfcat>-is_collapsed ).
|
||||
ENDIF.
|
||||
ADD 1 TO l_row_int.
|
||||
ELSE.
|
||||
|
|
|
@ -304,9 +304,7 @@ METHOD fill_row_outlines.
|
|||
END OF lts_row_data,
|
||||
ltt_row_data TYPE SORTED TABLE OF lts_row_data WITH UNIQUE KEY row.
|
||||
|
||||
DATA: lt_row_dimensions TYPE zexcel_t_worksheet_rowdimensio,
|
||||
|
||||
lt_row_data TYPE ltt_row_data,
|
||||
DATA: lt_row_data TYPE ltt_row_data,
|
||||
ls_row_data LIKE LINE OF lt_row_data,
|
||||
lt_collapse_rows TYPE HASHED TABLE OF i WITH UNIQUE KEY table_line,
|
||||
|
||||
|
@ -316,30 +314,29 @@ METHOD fill_row_outlines.
|
|||
lv_next_consecutive_row TYPE i,
|
||||
lt_outline_rows TYPE zcl_excel_worksheet=>mty_ts_outlines_row,
|
||||
ls_outline_row LIKE LINE OF lt_outline_rows,
|
||||
|
||||
lo_row TYPE REF TO zcl_excel_row,
|
||||
lo_row_iterator TYPE REF TO cl_object_collection_iterator,
|
||||
lv_row_offset TYPE i,
|
||||
lv_row_collapse_flag TYPE i.
|
||||
|
||||
|
||||
FIELD-SYMBOLS: <ls_row_dimension> LIKE LINE OF lt_row_dimensions,
|
||||
<ls_row_data> LIKE LINE OF lt_row_data.
|
||||
FIELD-SYMBOLS: <ls_row_data> LIKE LINE OF lt_row_data.
|
||||
|
||||
* First collect information about outlines ( outline leven and collapsed state )
|
||||
lt_row_dimensions = io_worksheet->get_row_dimensions( ).
|
||||
LOOP AT lt_row_dimensions ASSIGNING <ls_row_dimension>.
|
||||
|
||||
ls_row_data-row = <ls_row_dimension>-row.
|
||||
ls_row_data-outline_level = <ls_row_dimension>-row_dimension->get_outline_level( ).
|
||||
lo_row_iterator = io_worksheet->get_rows_iterator( ).
|
||||
WHILE lo_row_iterator->has_next( ) = abap_true.
|
||||
lo_row ?= lo_row_iterator->get_next( ).
|
||||
ls_row_data-row = lo_row->get_row_index( ).
|
||||
ls_row_data-outline_level = lo_row->get_outline_level( ).
|
||||
IF ls_row_data-outline_level IS NOT INITIAL.
|
||||
INSERT ls_row_data INTO TABLE lt_row_data.
|
||||
ENDIF.
|
||||
|
||||
lv_collapsed = <ls_row_dimension>-row_dimension->get_collapsed( ).
|
||||
lv_collapsed = lo_row->get_collapsed( ).
|
||||
IF lv_collapsed = abap_true.
|
||||
INSERT <ls_row_dimension>-row INTO TABLE lt_collapse_rows.
|
||||
INSERT lo_row->get_row_index( ) INTO TABLE lt_collapse_rows.
|
||||
ENDIF.
|
||||
|
||||
ENDLOOP.
|
||||
ENDWHILE.
|
||||
|
||||
* Now parse this information - we need consecutive rows - any gap will create a new outline
|
||||
DO 7 TIMES. " max number of outlines allowed
|
||||
|
@ -387,12 +384,14 @@ METHOD fill_row_outlines.
|
|||
ENDLOOP.
|
||||
|
||||
* Finally purge outline information ( collapsed state, outline leve) from row_dimensions, since we want to keep these in the outline-table
|
||||
LOOP AT lt_row_dimensions ASSIGNING <ls_row_dimension>.
|
||||
lo_row_iterator = io_worksheet->get_rows_iterator( ).
|
||||
WHILE lo_row_iterator->has_next( ) = abap_true.
|
||||
lo_row ?= lo_row_iterator->get_next( ).
|
||||
|
||||
<ls_row_dimension>-row_dimension->set_outline_level( 0 ).
|
||||
<ls_row_dimension>-row_dimension->set_collapsed( abap_false ).
|
||||
lo_row->set_outline_level( 0 ).
|
||||
lo_row->set_collapsed( abap_false ).
|
||||
|
||||
ENDLOOP.
|
||||
ENDWHILE.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
@ -2268,7 +2267,7 @@ METHOD load_worksheet.
|
|||
* lv_min_col TYPE i, "for use with SPANS element " not in use currently
|
||||
lv_max_col_s TYPE char10, "for use with SPANS element
|
||||
lv_min_col_s TYPE char10, "for use with SPANS element
|
||||
lo_row_dimension TYPE REF TO zcl_excel_worksheet_rowdimensi,
|
||||
lo_row TYPE REF TO zcl_excel_row,
|
||||
*--- End of current code aligning -------------------------------------------------------------------
|
||||
|
||||
lv_path TYPE string,
|
||||
|
@ -2392,19 +2391,19 @@ METHOD load_worksheet.
|
|||
OR ls_row-hidden = lc_xml_attr_true
|
||||
OR ls_row-hidden = lc_xml_attr_true_int
|
||||
OR ls_row-outlinelevel > '0'.
|
||||
lo_row_dimension = io_worksheet->get_row_dimension( lv_cell_row ).
|
||||
lo_row = io_worksheet->get_row( lv_cell_row ).
|
||||
IF ls_row-customheight = '1'.
|
||||
lo_row_dimension->set_row_height( ls_row-ht ).
|
||||
lo_row->set_row_height( ls_row-ht ).
|
||||
ENDIF.
|
||||
|
||||
IF ls_row-collapsed = lc_xml_attr_true
|
||||
OR ls_row-collapsed = lc_xml_attr_true_int.
|
||||
lo_row_dimension->set_collapsed( abap_true ).
|
||||
lo_row->set_collapsed( abap_true ).
|
||||
ENDIF.
|
||||
|
||||
IF ls_row-hidden = lc_xml_attr_true
|
||||
OR ls_row-hidden = lc_xml_attr_true_int.
|
||||
lo_row_dimension->set_visible( abap_false ).
|
||||
lo_row->set_visible( abap_false ).
|
||||
ENDIF.
|
||||
|
||||
IF ls_row-outlinelevel > ''.
|
||||
|
@ -2412,7 +2411,7 @@ METHOD load_worksheet.
|
|||
CONDENSE ls_row-outlinelevel.
|
||||
lv_outline_level = ls_row-outlinelevel.
|
||||
IF lv_outline_level > 0.
|
||||
lo_row_dimension->set_outline_level( lv_outline_level ).
|
||||
lo_row->set_outline_level( lv_outline_level ).
|
||||
ENDIF.
|
||||
ENDIF.
|
||||
ENDIF.
|
||||
|
@ -2662,8 +2661,8 @@ METHOD load_worksheet.
|
|||
fill_struct_from_attributes( EXPORTING ip_element = lo_ixml_sheetformatpr_elem CHANGING cp_structure = ls_sheetformatpr ).
|
||||
IF ls_sheetformatpr-customheight = '1'.
|
||||
lv_height = ls_sheetformatpr-defaultrowheight.
|
||||
lo_row_dimension = io_worksheet->get_default_row_dimension( ).
|
||||
lo_row_dimension->set_row_height( lv_height ).
|
||||
lo_row = io_worksheet->get_default_row( ).
|
||||
lo_row->set_row_height( lv_height ).
|
||||
ENDIF.
|
||||
|
||||
" TODO... column
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
class ZCL_EXCEL_WORKSHEET_ROWDIMENSI definition
|
||||
class ZCL_EXCEL_ROW definition
|
||||
public
|
||||
final
|
||||
create public .
|
||||
|
||||
*"* public components of class ZCL_EXCEL_WORKSHEET_ROWDIMENSI
|
||||
*"* public components of class ZCL_EXCEL_ROW
|
||||
*"* do not include other source files here!!!
|
||||
public section.
|
||||
type-pools ABAP .
|
||||
|
@ -57,10 +57,10 @@ public section.
|
|||
methods SET_XF_INDEX
|
||||
importing
|
||||
!IP_XF_INDEX type INT4 .
|
||||
*"* protected components of class ZCL_EXCEL_WORKSHEET_ROWDIMENSI
|
||||
*"* protected components of class ZCL_EXCEL_ROW
|
||||
*"* do not include other source files here!!!
|
||||
protected section.
|
||||
*"* private components of class ZCL_EXCEL_WORKSHEET_ROWDIMENSI
|
||||
*"* private components of class ZCL_EXCEL_ROW
|
||||
*"* do not include other source files here!!!
|
||||
private section.
|
||||
|
||||
|
@ -74,7 +74,7 @@ ENDCLASS.
|
|||
|
||||
|
||||
|
||||
CLASS ZCL_EXCEL_WORKSHEET_ROWDIMENSI IMPLEMENTATION.
|
||||
CLASS ZCL_EXCEL_ROW IMPLEMENTATION.
|
||||
|
||||
|
||||
method CONSTRUCTOR.
|
||||
|
@ -90,7 +90,7 @@ method CONSTRUCTOR.
|
|||
endmethod.
|
||||
|
||||
|
||||
METHOD get_collapsed.
|
||||
METHOD GET_COLLAPSED.
|
||||
|
||||
DATA: lt_row_outlines TYPE zcl_excel_worksheet=>mty_ts_outlines_row,
|
||||
lv_previous_row TYPE i,
|
||||
|
@ -121,7 +121,7 @@ METHOD get_collapsed.
|
|||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD get_outline_level.
|
||||
METHOD GET_OUTLINE_LEVEL.
|
||||
|
||||
DATA: lt_row_outlines TYPE zcl_excel_worksheet=>mty_ts_outlines_row.
|
||||
FIELD-SYMBOLS: <ls_row_outline> LIKE LINE OF lt_row_outlines.
|
||||
|
@ -155,7 +155,7 @@ method GET_ROW_INDEX.
|
|||
endmethod.
|
||||
|
||||
|
||||
METHOD get_visible.
|
||||
METHOD GET_VISIBLE.
|
||||
|
||||
DATA: lt_row_outlines TYPE zcl_excel_worksheet=>mty_ts_outlines_row.
|
||||
FIELD-SYMBOLS: <ls_row_outline> LIKE LINE OF lt_row_outlines.
|
|
@ -3,7 +3,7 @@
|
|||
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
|
||||
<asx:values>
|
||||
<VSEOCLASS>
|
||||
<CLSNAME>ZCL_EXCEL_WORKSHEET_ROWDIMENSI</CLSNAME>
|
||||
<CLSNAME>ZCL_EXCEL_ROW</CLSNAME>
|
||||
<VERSION>1</VERSION>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>Worksheet RowDimension</DESCRIPT>
|
||||
|
@ -17,107 +17,71 @@
|
|||
<TPOOL/>
|
||||
<DESCRIPTIONS>
|
||||
<SEOCOMPOTX>
|
||||
<CLSNAME>ZCL_EXCEL_WORKSHEET_ROWDIMENSI</CLSNAME>
|
||||
<CLSNAME>ZCL_EXCEL_ROW</CLSNAME>
|
||||
<CMPNAME>COLLAPSED</CMPNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>Boolean Variable (X=True, -=False, Space=Unknown)</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CLSNAME>ZCL_EXCEL_WORKSHEET_ROWDIMENSI</CLSNAME>
|
||||
<CMPNAME>COLLAPSED</CMPNAME>
|
||||
<LANGU>I</LANGU>
|
||||
<DESCRIPT>Boolean Variable (X=True, -=False, Space=Unknown)</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CLSNAME>ZCL_EXCEL_WORKSHEET_ROWDIMENSI</CLSNAME>
|
||||
<CLSNAME>ZCL_EXCEL_ROW</CLSNAME>
|
||||
<CMPNAME>GET_COLLAPSED</CMPNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>new - please pass worksheet to make use of new outline info</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CLSNAME>ZCL_EXCEL_WORKSHEET_ROWDIMENSI</CLSNAME>
|
||||
<CLSNAME>ZCL_EXCEL_ROW</CLSNAME>
|
||||
<CMPNAME>GET_OUTLINE_LEVEL</CMPNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>new - please pass worksheet to make use of new outline info</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CLSNAME>ZCL_EXCEL_WORKSHEET_ROWDIMENSI</CLSNAME>
|
||||
<CLSNAME>ZCL_EXCEL_ROW</CLSNAME>
|
||||
<CMPNAME>GET_VISIBLE</CMPNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>new - please pass worksheet to make use of new outline info</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CLSNAME>ZCL_EXCEL_WORKSHEET_ROWDIMENSI</CLSNAME>
|
||||
<CLSNAME>ZCL_EXCEL_ROW</CLSNAME>
|
||||
<CMPNAME>OUTLINE_LEVEL</CMPNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>Natural number</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CLSNAME>ZCL_EXCEL_WORKSHEET_ROWDIMENSI</CLSNAME>
|
||||
<CMPNAME>OUTLINE_LEVEL</CMPNAME>
|
||||
<LANGU>I</LANGU>
|
||||
<DESCRIPT>Natural number</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CLSNAME>ZCL_EXCEL_WORKSHEET_ROWDIMENSI</CLSNAME>
|
||||
<CLSNAME>ZCL_EXCEL_ROW</CLSNAME>
|
||||
<CMPNAME>ROW_HEIGHT</CMPNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>Field of type FLTP</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CLSNAME>ZCL_EXCEL_WORKSHEET_ROWDIMENSI</CLSNAME>
|
||||
<CMPNAME>ROW_HEIGHT</CMPNAME>
|
||||
<LANGU>I</LANGU>
|
||||
<DESCRIPT>Field of type FLTP</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CLSNAME>ZCL_EXCEL_WORKSHEET_ROWDIMENSI</CLSNAME>
|
||||
<CLSNAME>ZCL_EXCEL_ROW</CLSNAME>
|
||||
<CMPNAME>ROW_INDEX</CMPNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>Natural number</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CLSNAME>ZCL_EXCEL_WORKSHEET_ROWDIMENSI</CLSNAME>
|
||||
<CMPNAME>ROW_INDEX</CMPNAME>
|
||||
<LANGU>I</LANGU>
|
||||
<DESCRIPT>Natural number</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CLSNAME>ZCL_EXCEL_WORKSHEET_ROWDIMENSI</CLSNAME>
|
||||
<CLSNAME>ZCL_EXCEL_ROW</CLSNAME>
|
||||
<CMPNAME>SET_COLLAPSED</CMPNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>obsolete - please use worksheet->set_outline instead</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CLSNAME>ZCL_EXCEL_WORKSHEET_ROWDIMENSI</CLSNAME>
|
||||
<CLSNAME>ZCL_EXCEL_ROW</CLSNAME>
|
||||
<CMPNAME>SET_OUTLINE_LEVEL</CMPNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>obsolete - please use worksheet->set_outline instead</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CLSNAME>ZCL_EXCEL_WORKSHEET_ROWDIMENSI</CLSNAME>
|
||||
<CLSNAME>ZCL_EXCEL_ROW</CLSNAME>
|
||||
<CMPNAME>VISIBLE</CMPNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>Boolean Variable (X=True, -=False, Space=Unknown)</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CLSNAME>ZCL_EXCEL_WORKSHEET_ROWDIMENSI</CLSNAME>
|
||||
<CMPNAME>VISIBLE</CMPNAME>
|
||||
<LANGU>I</LANGU>
|
||||
<DESCRIPT>Boolean Variable (X=True, -=False, Space=Unknown)</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CLSNAME>ZCL_EXCEL_WORKSHEET_ROWDIMENSI</CLSNAME>
|
||||
<CLSNAME>ZCL_EXCEL_ROW</CLSNAME>
|
||||
<CMPNAME>XF_INDEX</CMPNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>Natural number</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CLSNAME>ZCL_EXCEL_WORKSHEET_ROWDIMENSI</CLSNAME>
|
||||
<CMPNAME>XF_INDEX</CMPNAME>
|
||||
<LANGU>I</LANGU>
|
||||
<DESCRIPT>Natural number</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
</DESCRIPTIONS>
|
||||
</asx:values>
|
||||
</asx:abap>
|
92
src/zcl_excel_rows.clas.abap
Normal file
92
src/zcl_excel_rows.clas.abap
Normal file
|
@ -0,0 +1,92 @@
|
|||
*----------------------------------------------------------------------*
|
||||
* CLASS ZCL_EXCEL_ROWS DEFINITION
|
||||
*----------------------------------------------------------------------*
|
||||
*
|
||||
*----------------------------------------------------------------------*
|
||||
class ZCL_EXCEL_ROWS definition
|
||||
public
|
||||
final
|
||||
create public .
|
||||
|
||||
*"* public components of class ZCL_EXCEL_ROWS
|
||||
*"* do not include other source files here!!!
|
||||
*"* protected components of class ZABAP_EXCEL_WORKSHEETS
|
||||
*"* do not include other source files here!!!
|
||||
public section.
|
||||
|
||||
methods ADD
|
||||
importing
|
||||
!IO_ROW type ref to ZCL_EXCEL_ROW .
|
||||
methods CLEAR .
|
||||
methods CONSTRUCTOR .
|
||||
methods GET
|
||||
importing
|
||||
!IP_INDEX type I
|
||||
returning
|
||||
value(EO_ROW) type ref to ZCL_EXCEL_ROW .
|
||||
methods GET_ITERATOR
|
||||
returning
|
||||
value(EO_ITERATOR) type ref to CL_OBJECT_COLLECTION_ITERATOR .
|
||||
methods IS_EMPTY
|
||||
returning
|
||||
value(IS_EMPTY) type FLAG .
|
||||
methods REMOVE
|
||||
importing
|
||||
!IO_ROW type ref to ZCL_EXCEL_ROW .
|
||||
methods SIZE
|
||||
returning
|
||||
value(EP_SIZE) type I .
|
||||
PROTECTED SECTION.
|
||||
*"* private components of class ZABAP_EXCEL_RANGES
|
||||
*"* do not include other source files here!!!
|
||||
PRIVATE SECTION.
|
||||
|
||||
DATA rows TYPE REF TO cl_object_collection .
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
|
||||
CLASS ZCL_EXCEL_ROWS IMPLEMENTATION.
|
||||
|
||||
|
||||
METHOD add.
|
||||
rows->add( io_row ).
|
||||
ENDMETHOD. "ADD
|
||||
|
||||
|
||||
METHOD clear.
|
||||
rows->clear( ).
|
||||
ENDMETHOD. "CLEAR
|
||||
|
||||
|
||||
METHOD constructor.
|
||||
|
||||
CREATE OBJECT rows.
|
||||
|
||||
ENDMETHOD. "CONSTRUCTOR
|
||||
|
||||
|
||||
METHOD get.
|
||||
eo_row ?= rows->if_object_collection~get( ip_index ).
|
||||
ENDMETHOD. "GET
|
||||
|
||||
|
||||
METHOD get_iterator.
|
||||
eo_iterator ?= rows->if_object_collection~get_iterator( ).
|
||||
ENDMETHOD. "GET_ITERATOR
|
||||
|
||||
|
||||
METHOD is_empty.
|
||||
is_empty = rows->if_object_collection~is_empty( ).
|
||||
ENDMETHOD. "IS_EMPTY
|
||||
|
||||
|
||||
METHOD remove.
|
||||
rows->remove( io_row ).
|
||||
ENDMETHOD. "REMOVE
|
||||
|
||||
|
||||
METHOD size.
|
||||
ep_size = rows->if_object_collection~size( ).
|
||||
ENDMETHOD. "SIZE
|
||||
ENDCLASS.
|
70
src/zcl_excel_rows.clas.xml
Normal file
70
src/zcl_excel_rows.clas.xml
Normal file
|
@ -0,0 +1,70 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<abapGit version="v1.0.0" serializer="LCL_OBJECT_CLAS" serializer_version="v1.0.0">
|
||||
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
|
||||
<asx:values>
|
||||
<VSEOCLASS>
|
||||
<CLSNAME>ZCL_EXCEL_ROWS</CLSNAME>
|
||||
<VERSION>1</VERSION>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>Ranges collection</DESCRIPT>
|
||||
<EXPOSURE>2</EXPOSURE>
|
||||
<STATE>1</STATE>
|
||||
<CLSFINAL>X</CLSFINAL>
|
||||
<CLSCCINCL>X</CLSCCINCL>
|
||||
<FIXPT>X</FIXPT>
|
||||
<UNICODE>X</UNICODE>
|
||||
</VSEOCLASS>
|
||||
<TPOOL/>
|
||||
<DESCRIPTIONS>
|
||||
<SEOCOMPOTX>
|
||||
<CLSNAME>ZCL_EXCEL_ROWS</CLSNAME>
|
||||
<CMPNAME>ADD</CMPNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>Adds an Element to the Collection</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CLSNAME>ZCL_EXCEL_ROWS</CLSNAME>
|
||||
<CMPNAME>CLEAR</CMPNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>Initializes the Collection</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CLSNAME>ZCL_EXCEL_ROWS</CLSNAME>
|
||||
<CMPNAME>CONSTRUCTOR</CMPNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>CONSTRUCTOR</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CLSNAME>ZCL_EXCEL_ROWS</CLSNAME>
|
||||
<CMPNAME>GET</CMPNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>Gets Element</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CLSNAME>ZCL_EXCEL_ROWS</CLSNAME>
|
||||
<CMPNAME>GET_ITERATOR</CMPNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>Returns an iterator</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CLSNAME>ZCL_EXCEL_ROWS</CLSNAME>
|
||||
<CMPNAME>IS_EMPTY</CMPNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>Checks whether elements are contained</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CLSNAME>ZCL_EXCEL_ROWS</CLSNAME>
|
||||
<CMPNAME>REMOVE</CMPNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>Deletes an Element from the Collection</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CLSNAME>ZCL_EXCEL_ROWS</CLSNAME>
|
||||
<CMPNAME>SIZE</CMPNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>Specifies number of contained elements</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
</DESCRIPTIONS>
|
||||
</asx:values>
|
||||
</asx:abap>
|
||||
</abapGit>
|
|
@ -25,17 +25,22 @@ public section.
|
|||
constants C_BREAK_NONE type ZEXCEL_BREAK value 0. "#EC NOTEXT
|
||||
constants C_BREAK_ROW type ZEXCEL_BREAK value 1. "#EC NOTEXT
|
||||
data EXCEL type ref to ZCL_EXCEL read-only .
|
||||
data PRINT_GRIDLINES type ZEXCEL_PRINT_GRIDLINES read-only value ABAP_FALSE. "#EC NOTEXT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . " .
|
||||
data PRINT_GRIDLINES type ZEXCEL_PRINT_GRIDLINES read-only value ABAP_FALSE. "#EC NOTEXT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . " .
|
||||
data SHEET_CONTENT type ZEXCEL_T_CELL_DATA .
|
||||
data SHEET_SETUP type ref to ZCL_EXCEL_SHEET_SETUP .
|
||||
data SHOW_GRIDLINES type ZEXCEL_SHOW_GRIDLINES read-only value ABAP_TRUE. "#EC NOTEXT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . " .
|
||||
data SHOW_ROWCOLHEADERS type ZEXCEL_SHOW_GRIDLINES read-only value ABAP_TRUE. "#EC NOTEXT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . " .
|
||||
data SHOW_GRIDLINES type ZEXCEL_SHOW_GRIDLINES read-only value ABAP_TRUE. "#EC NOTEXT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . " .
|
||||
data SHOW_ROWCOLHEADERS type ZEXCEL_SHOW_GRIDLINES read-only value ABAP_TRUE. "#EC NOTEXT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . " .
|
||||
data STYLES type ZEXCEL_T_SHEET_STYLE .
|
||||
data TABCOLOR type ZEXCEL_S_TABCOLOR read-only .
|
||||
|
||||
methods ADD_DRAWING
|
||||
importing
|
||||
!IP_DRAWING type ref to ZCL_EXCEL_DRAWING .
|
||||
methods ADD_NEW_ROW
|
||||
importing
|
||||
!IP_ROW type SIMPLE
|
||||
returning
|
||||
value(EO_ROW) type ref to ZCL_EXCEL_ROW .
|
||||
methods ADD_NEW_COLUMN
|
||||
importing
|
||||
!IP_COLUMN type SIMPLE
|
||||
|
@ -257,6 +262,9 @@ public section.
|
|||
methods GET_COLUMNS
|
||||
returning
|
||||
value(EO_COLUMNS) type ref to ZCL_EXCEL_COLUMNS .
|
||||
methods GET_ROWS_ITERATOR
|
||||
returning
|
||||
value(EO_ITERATOR) type ref to CL_OBJECT_COLLECTION_ITERATOR .
|
||||
methods GET_COLUMNS_ITERATOR
|
||||
returning
|
||||
value(EO_ITERATOR) type ref to CL_OBJECT_COLLECTION_ITERATOR .
|
||||
|
@ -278,9 +286,9 @@ public section.
|
|||
methods GET_DEFAULT_EXCEL_TIME_FORMAT
|
||||
returning
|
||||
value(EP_DEFAULT_EXCEL_TIME_FORMAT) type ZEXCEL_NUMBER_FORMAT .
|
||||
methods GET_DEFAULT_ROW_DIMENSION
|
||||
methods GET_DEFAULT_ROW
|
||||
returning
|
||||
value(R_ROW_DIMENSION) type ref to ZCL_EXCEL_WORKSHEET_ROWDIMENSI .
|
||||
value(EO_ROW) type ref to ZCL_EXCEL_ROW .
|
||||
methods GET_DIMENSION_RANGE
|
||||
returning
|
||||
value(EP_DIMENSION_RANGE) type STRING
|
||||
|
@ -332,14 +340,14 @@ public section.
|
|||
methods GET_RANGES_ITERATOR
|
||||
returning
|
||||
value(EO_ITERATOR) type ref to CL_OBJECT_COLLECTION_ITERATOR .
|
||||
methods GET_ROW_DIMENSION
|
||||
methods GET_ROW
|
||||
importing
|
||||
!IP_ROW type INT4
|
||||
returning
|
||||
value(R_ROW_DIMENSION) type ref to ZCL_EXCEL_WORKSHEET_ROWDIMENSI .
|
||||
methods GET_ROW_DIMENSIONS
|
||||
value(EO_ROW) type ref to ZCL_EXCEL_ROW .
|
||||
methods GET_ROWS
|
||||
returning
|
||||
value(R_ROW_DIMENSION) type ZEXCEL_T_WORKSHEET_ROWDIMENSIO .
|
||||
value(EO_ROWS) type ref to ZCL_EXCEL_ROWS .
|
||||
methods GET_ROW_OUTLINES
|
||||
returning
|
||||
value(RT_ROW_OUTLINES) type MTY_TS_OUTLINES_ROW .
|
||||
|
@ -479,8 +487,8 @@ private section.
|
|||
mty_th_font_cache
|
||||
TYPE HASHED TABLE OF mty_s_font_cache
|
||||
WITH UNIQUE KEY font_name font_height flag_bold flag_italic .
|
||||
types:
|
||||
mty_ts_row_dimension TYPE SORTED TABLE OF zexcel_s_worksheet_rowdimensio WITH UNIQUE KEY row .
|
||||
* types:
|
||||
* mty_ts_row_dimension TYPE SORTED TABLE OF zexcel_s_worksheet_rowdimensio WITH UNIQUE KEY row .
|
||||
types:
|
||||
BEGIN OF mty_merge,
|
||||
row_from TYPE i,
|
||||
|
@ -496,12 +504,12 @@ private section.
|
|||
data ACTIVE_CELL type ZEXCEL_S_CELL_DATA .
|
||||
data CHARTS type ref to ZCL_EXCEL_DRAWINGS .
|
||||
data COLUMNS type ref to ZCL_EXCEL_COLUMNS .
|
||||
data ROW_DEFAULT type ref to ZCL_EXCEL_ROW .
|
||||
data COLUMN_DEFAULT type ref to ZCL_EXCEL_COLUMN .
|
||||
data CONDITIONAL_STYLES type ref to ZCL_EXCEL_STYLES_CONDITIONAL .
|
||||
data DATA_VALIDATIONS type ref to ZCL_EXCEL_DATA_VALIDATIONS .
|
||||
data COLUMN_DEFAULT type ref to ZCL_EXCEL_COLUMN .
|
||||
data DEFAULT_EXCEL_DATE_FORMAT type ZEXCEL_NUMBER_FORMAT .
|
||||
data DEFAULT_EXCEL_TIME_FORMAT type ZEXCEL_NUMBER_FORMAT .
|
||||
data DEFAULT_ROW_DIMENSION type ref to ZCL_EXCEL_WORKSHEET_ROWDIMENSI .
|
||||
data DRAWINGS type ref to ZCL_EXCEL_DRAWINGS .
|
||||
data FREEZE_PANE_CELL_COLUMN type ZEXCEL_CELL_COLUMN .
|
||||
data FREEZE_PANE_CELL_ROW type ZEXCEL_CELL_ROW .
|
||||
|
@ -517,9 +525,9 @@ private section.
|
|||
data PRINT_TITLE_ROW_FROM type ZEXCEL_CELL_ROW .
|
||||
data PRINT_TITLE_ROW_TO type ZEXCEL_CELL_ROW .
|
||||
data RANGES type ref to ZCL_EXCEL_RANGES .
|
||||
data ROW_DIMENSIONS type MTY_TS_ROW_DIMENSION .
|
||||
data ROWS type ref to ZCL_EXCEL_ROWS .
|
||||
data TABLES type ref to CL_OBJECT_COLLECTION .
|
||||
data TITLE type ZEXCEL_SHEET_TITLE value 'Worksheet'. "#EC NOTEXT . . . . . . . . . . . . . . . . . . . . . " .
|
||||
data TITLE type ZEXCEL_SHEET_TITLE value 'Worksheet'. "#EC NOTEXT . . . . . . . . . . . . . . . . . . . . . . . . . " .
|
||||
data UPPER_CELL type ZEXCEL_S_CELL_DATA .
|
||||
|
||||
methods CALCULATE_CELL_WIDTH
|
||||
|
@ -594,6 +602,14 @@ METHOD add_new_range.
|
|||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD add_new_row.
|
||||
CREATE OBJECT eo_row
|
||||
EXPORTING
|
||||
ip_index = ip_row.
|
||||
rows->add( eo_row ).
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
method BIND_ALV.
|
||||
data: lo_converter type ref to zcl_excel_converter.
|
||||
|
||||
|
@ -3650,6 +3666,7 @@ METHOD constructor.
|
|||
CREATE OBJECT data_validations.
|
||||
CREATE OBJECT tables.
|
||||
CREATE OBJECT columns.
|
||||
CREATE OBJECT rows.
|
||||
CREATE OBJECT ranges. " issue #163
|
||||
CREATE OBJECT mo_pagebreaks.
|
||||
CREATE OBJECT drawings
|
||||
|
@ -3949,13 +3966,13 @@ method GET_DEFAULT_EXCEL_TIME_FORMAT.
|
|||
endmethod.
|
||||
|
||||
|
||||
method GET_DEFAULT_ROW_DIMENSION.
|
||||
IF me->default_row_dimension IS NOT BOUND.
|
||||
CREATE OBJECT me->default_row_dimension.
|
||||
METHOD get_default_row.
|
||||
IF me->row_default IS NOT BOUND.
|
||||
CREATE OBJECT me->row_default.
|
||||
ENDIF.
|
||||
|
||||
r_row_dimension = me->default_row_dimension.
|
||||
endmethod.
|
||||
eo_row = me->row_default.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
method GET_DIMENSION_RANGE.
|
||||
|
@ -4089,32 +4106,35 @@ method GET_RANGES_ITERATOR.
|
|||
endmethod.
|
||||
|
||||
|
||||
METHOD GET_ROW_DIMENSION.
|
||||
METHOD get_row.
|
||||
|
||||
FIELD-SYMBOLS: <ls_row_dimension> LIKE LINE OF me->row_dimensions.
|
||||
DATA: lo_row_iterator TYPE REF TO cl_object_collection_iterator,
|
||||
lo_row TYPE REF TO zcl_excel_row.
|
||||
|
||||
DATA: ls_row_dimension LIKE LINE OF me->row_dimensions.
|
||||
lo_row_iterator = me->get_rows_iterator( ).
|
||||
WHILE lo_row_iterator->has_next( ) = abap_true.
|
||||
lo_row ?= lo_row_iterator->get_next( ).
|
||||
IF lo_row->get_row_index( ) = ip_row.
|
||||
eo_row = lo_row.
|
||||
EXIT.
|
||||
ENDIF.
|
||||
ENDWHILE.
|
||||
|
||||
READ TABLE me->row_dimensions ASSIGNING <ls_row_dimension>
|
||||
WITH TABLE KEY row = ip_row.
|
||||
|
||||
IF NOT <ls_row_dimension> IS ASSIGNED.
|
||||
CREATE OBJECT r_row_dimension
|
||||
EXPORTING
|
||||
ip_index = ip_row.
|
||||
ls_row_dimension-row = ip_row.
|
||||
ls_row_dimension-row_dimension = r_row_dimension.
|
||||
INSERT ls_row_dimension INTO TABLE me->row_dimensions.
|
||||
ELSE.
|
||||
r_row_dimension = <ls_row_dimension>-row_dimension.
|
||||
IF eo_row IS NOT BOUND.
|
||||
eo_row = me->add_new_row( ip_row ).
|
||||
ENDIF.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD get_row_dimensions.
|
||||
METHOD GET_ROWS.
|
||||
eo_rows = me->rows.
|
||||
ENDMETHOD.
|
||||
|
||||
r_row_dimension[] = me->row_dimensions[].
|
||||
|
||||
METHOD get_rows_iterator.
|
||||
|
||||
eo_iterator = me->rows->get_iterator( ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
@ -4724,11 +4744,11 @@ method SET_PRINT_GRIDLINES.
|
|||
endmethod.
|
||||
|
||||
|
||||
method SET_ROW_HEIGHT.
|
||||
DATA: row_dimension TYPE REF TO zcl_excel_worksheet_rowdimensi.
|
||||
METHOD set_row_height.
|
||||
DATA: lo_row TYPE REF TO zcl_excel_row.
|
||||
DATA: height TYPE float.
|
||||
|
||||
row_dimension = me->get_row_dimension( ip_row ).
|
||||
lo_row = me->get_row( ip_row ).
|
||||
|
||||
* if a fix size is supplied use this
|
||||
TRY.
|
||||
|
@ -4738,7 +4758,7 @@ method SET_ROW_HEIGHT.
|
|||
EXPORTING
|
||||
error = 'Please supply a positive number as row-height'.
|
||||
ENDIF.
|
||||
row_dimension->set_row_height( height ).
|
||||
lo_row->set_row_height( height ).
|
||||
EXIT.
|
||||
CATCH cx_sy_conversion_no_number.
|
||||
* Strange stuff passed --> raise error
|
||||
|
@ -4747,9 +4767,7 @@ method SET_ROW_HEIGHT.
|
|||
error = 'Unable to interpret supplied input as number'.
|
||||
ENDTRY.
|
||||
|
||||
|
||||
|
||||
endmethod.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD set_row_outline.
|
||||
|
|
|
@ -130,6 +130,12 @@
|
|||
<LANGU>I</LANGU>
|
||||
<DESCRIPT>Create a new local range</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CLSNAME>ZCL_EXCEL_WORKSHEET</CLSNAME>
|
||||
<CMPNAME>ADD_NEW_ROW</CMPNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>Create a new row</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CLSNAME>ZCL_EXCEL_WORKSHEET</CLSNAME>
|
||||
<CMPNAME>BIND_ALV</CMPNAME>
|
||||
|
@ -322,18 +328,6 @@
|
|||
<LANGU>I</LANGU>
|
||||
<DESCRIPT>Date format used in case style is not provide for D fields</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CLSNAME>ZCL_EXCEL_WORKSHEET</CLSNAME>
|
||||
<CMPNAME>DEFAULT_ROW_DIMENSION</CMPNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>Worksheet RowDimension</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CLSNAME>ZCL_EXCEL_WORKSHEET</CLSNAME>
|
||||
<CMPNAME>DEFAULT_ROW_DIMENSION</CMPNAME>
|
||||
<LANGU>I</LANGU>
|
||||
<DESCRIPT>Worksheet RowDimension</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CLSNAME>ZCL_EXCEL_WORKSHEET</CLSNAME>
|
||||
<CMPNAME>DELETE_MERGE</CMPNAME>
|
||||
|
@ -522,15 +516,9 @@
|
|||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CLSNAME>ZCL_EXCEL_WORKSHEET</CLSNAME>
|
||||
<CMPNAME>GET_DEFAULT_ROW_DIMENSION</CMPNAME>
|
||||
<CMPNAME>GET_DEFAULT_ROW</CMPNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>Get column at a specific column</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CLSNAME>ZCL_EXCEL_WORKSHEET</CLSNAME>
|
||||
<CMPNAME>GET_DEFAULT_ROW_DIMENSION</CMPNAME>
|
||||
<LANGU>I</LANGU>
|
||||
<DESCRIPT>Get column dimension at a specific column</DESCRIPT>
|
||||
<DESCRIPT>Get row at a specific row</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CLSNAME>ZCL_EXCEL_WORKSHEET</CLSNAME>
|
||||
|
@ -648,27 +636,21 @@
|
|||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CLSNAME>ZCL_EXCEL_WORKSHEET</CLSNAME>
|
||||
<CMPNAME>GET_ROW_DIMENSION</CMPNAME>
|
||||
<CMPNAME>GET_ROW</CMPNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>Get row dimension at a specific row</DESCRIPT>
|
||||
<DESCRIPT>Get row at a specific row</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CLSNAME>ZCL_EXCEL_WORKSHEET</CLSNAME>
|
||||
<CMPNAME>GET_ROW_DIMENSION</CMPNAME>
|
||||
<LANGU>I</LANGU>
|
||||
<DESCRIPT>Get column dimension at a specific column</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CLSNAME>ZCL_EXCEL_WORKSHEET</CLSNAME>
|
||||
<CMPNAME>GET_ROW_DIMENSIONS</CMPNAME>
|
||||
<CMPNAME>GET_ROWS</CMPNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>Get row dimensions</DESCRIPT>
|
||||
<DESCRIPT>Get rows</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CLSNAME>ZCL_EXCEL_WORKSHEET</CLSNAME>
|
||||
<CMPNAME>GET_ROW_DIMENSIONS</CMPNAME>
|
||||
<LANGU>I</LANGU>
|
||||
<DESCRIPT>Get column dimensions</DESCRIPT>
|
||||
<CMPNAME>GET_ROWS_ITERATOR</CMPNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>Get rows iterator</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CLSNAME>ZCL_EXCEL_WORKSHEET</CLSNAME>
|
||||
|
@ -814,12 +796,6 @@
|
|||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>All row outlines ( sorted table )</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CLSNAME>ZCL_EXCEL_WORKSHEET</CLSNAME>
|
||||
<CMPNAME>MTY_TS_ROW_DIMENSION</CMPNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>Sorted table for row dimensions</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CLSNAME>ZCL_EXCEL_WORKSHEET</CLSNAME>
|
||||
<CMPNAME>MT_MERGED_CELLS</CMPNAME>
|
||||
|
@ -918,15 +894,15 @@
|
|||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CLSNAME>ZCL_EXCEL_WORKSHEET</CLSNAME>
|
||||
<CMPNAME>ROW_DIMENSIONS</CMPNAME>
|
||||
<CMPNAME>ROWS</CMPNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>Collection of row dimensions</DESCRIPT>
|
||||
<DESCRIPT>Ranges collection</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CLSNAME>ZCL_EXCEL_WORKSHEET</CLSNAME>
|
||||
<CMPNAME>ROW_DIMENSIONS</CMPNAME>
|
||||
<LANGU>I</LANGU>
|
||||
<DESCRIPT>Collection of row dimensions</DESCRIPT>
|
||||
<CMPNAME>ROW_DEFAULT</CMPNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>Worksheet ColumnDimension</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CLSNAME>ZCL_EXCEL_WORKSHEET</CLSNAME>
|
||||
|
|
|
@ -1,230 +0,0 @@
|
|||
class ZCL_EXCEL_WORKSHEET_COLUMNDIME definition
|
||||
public
|
||||
final
|
||||
create public .
|
||||
|
||||
*"* public components of class ZCL_EXCEL_WORKSHEET_COLUMNDIME
|
||||
*"* do not include other source files here!!!
|
||||
public section.
|
||||
type-pools ABAP .
|
||||
|
||||
methods CONSTRUCTOR
|
||||
importing
|
||||
!IP_INDEX type ZEXCEL_CELL_COLUMN_ALPHA
|
||||
!IP_WORKSHEET type ref to ZCL_EXCEL_WORKSHEET
|
||||
!IP_EXCEL type ref to ZCL_EXCEL .
|
||||
methods GET_AUTO_SIZE
|
||||
returning
|
||||
value(R_AUTO_SIZE) type ABAP_BOOL .
|
||||
methods GET_COLLAPSED
|
||||
returning
|
||||
value(R_COLLAPSED) type ABAP_BOOL .
|
||||
methods GET_COLUMN_INDEX
|
||||
returning
|
||||
value(R_COLUMN_INDEX) type INT4 .
|
||||
methods GET_OUTLINE_LEVEL
|
||||
returning
|
||||
value(R_OUTLINE_LEVEL) type INT4 .
|
||||
methods GET_VISIBLE
|
||||
returning
|
||||
value(R_VISIBLE) type ABAP_BOOL .
|
||||
methods GET_WIDTH
|
||||
returning
|
||||
value(R_WIDTH) type FLOAT .
|
||||
methods GET_XF_INDEX
|
||||
returning
|
||||
value(R_XF_INDEX) type INT4 .
|
||||
methods SET_AUTO_SIZE
|
||||
importing
|
||||
!IP_AUTO_SIZE type ABAP_BOOL
|
||||
returning
|
||||
value(R_WORKSHEET_COLUMNDIME) type ref to ZCL_EXCEL_WORKSHEET_COLUMNDIME .
|
||||
methods SET_COLLAPSED
|
||||
importing
|
||||
!IP_COLLAPSED type ABAP_BOOL
|
||||
returning
|
||||
value(R_WORKSHEET_COLUMNDIME) type ref to ZCL_EXCEL_WORKSHEET_COLUMNDIME .
|
||||
methods SET_COLUMN_INDEX
|
||||
importing
|
||||
!IP_INDEX type ZEXCEL_CELL_COLUMN_ALPHA
|
||||
returning
|
||||
value(R_WORKSHEET_COLUMNDIME) type ref to ZCL_EXCEL_WORKSHEET_COLUMNDIME .
|
||||
methods SET_OUTLINE_LEVEL
|
||||
importing
|
||||
!IP_OUTLINE_LEVEL type INT4 .
|
||||
methods SET_VISIBLE
|
||||
importing
|
||||
!IP_VISIBLE type ABAP_BOOL
|
||||
returning
|
||||
value(R_WORKSHEET_COLUMNDIME) type ref to ZCL_EXCEL_WORKSHEET_COLUMNDIME .
|
||||
methods SET_WIDTH
|
||||
importing
|
||||
!IP_WIDTH type SIMPLE
|
||||
returning
|
||||
value(R_WORKSHEET_COLUMNDIME) type ref to ZCL_EXCEL_WORKSHEET_COLUMNDIME
|
||||
raising
|
||||
ZCX_EXCEL .
|
||||
methods SET_XF_INDEX
|
||||
importing
|
||||
!IP_XF_INDEX type INT4
|
||||
returning
|
||||
value(R_WORKSHEET_COLUMNDIME) type ref to ZCL_EXCEL_WORKSHEET_COLUMNDIME .
|
||||
methods SET_COLUMN_STYLE_BY_GUID
|
||||
importing
|
||||
!IP_STYLE_GUID type ZEXCEL_CELL_STYLE
|
||||
raising
|
||||
ZCX_EXCEL .
|
||||
methods GET_COLUMN_STYLE_GUID
|
||||
returning
|
||||
value(EP_STYLE_GUID) type ZEXCEL_CELL_STYLE
|
||||
raising
|
||||
ZCX_EXCEL .
|
||||
*"* protected components of class ZCL_EXCEL_WORKSHEET_COLUMNDIME
|
||||
*"* do not include other source files here!!!
|
||||
protected section.
|
||||
*"* private components of class ZCL_EXCEL_WORKSHEET_COLUMNDIME
|
||||
*"* do not include other source files here!!!
|
||||
private section.
|
||||
|
||||
data COLUMN_INDEX type INT4 .
|
||||
data WIDTH type FLOAT .
|
||||
data AUTO_SIZE type ABAP_BOOL .
|
||||
data VISIBLE type ABAP_BOOL .
|
||||
data OUTLINE_LEVEL type INT4 .
|
||||
data COLLAPSED type ABAP_BOOL .
|
||||
data XF_INDEX type INT4 .
|
||||
data STYLE_GUID type ZEXCEL_CELL_STYLE .
|
||||
data EXCEL type ref to ZCL_EXCEL .
|
||||
data WORKSHEET type ref to ZCL_EXCEL_WORKSHEET .
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
|
||||
CLASS ZCL_EXCEL_WORKSHEET_COLUMNDIME IMPLEMENTATION.
|
||||
|
||||
|
||||
method CONSTRUCTOR.
|
||||
me->column_index = zcl_excel_common=>convert_column2int( ip_index ).
|
||||
me->width = -1.
|
||||
me->auto_size = abap_false.
|
||||
me->visible = abap_true.
|
||||
me->outline_level = 0.
|
||||
me->collapsed = abap_false.
|
||||
me->excel = ip_excel. "ins issue #157 - Allow Style for columns
|
||||
me->worksheet = ip_worksheet. "ins issue #157 - Allow Style for columns
|
||||
|
||||
" set default index to cellXf
|
||||
me->xf_index = 0.
|
||||
|
||||
endmethod.
|
||||
|
||||
|
||||
method GET_AUTO_SIZE.
|
||||
r_auto_size = me->auto_size.
|
||||
endmethod.
|
||||
|
||||
|
||||
method GET_COLLAPSED.
|
||||
r_Collapsed = me->Collapsed.
|
||||
endmethod.
|
||||
|
||||
|
||||
method GET_COLUMN_INDEX.
|
||||
r_column_index = me->column_index.
|
||||
endmethod.
|
||||
|
||||
|
||||
method GET_COLUMN_STYLE_GUID.
|
||||
IF me->style_guid IS NOT INITIAL.
|
||||
ep_style_guid = me->style_guid.
|
||||
ELSE.
|
||||
ep_style_guid = me->worksheet->zif_excel_sheet_properties~get_style( ).
|
||||
ENDIF.
|
||||
endmethod.
|
||||
|
||||
|
||||
method GET_OUTLINE_LEVEL.
|
||||
r_outline_level = me->outline_level.
|
||||
endmethod.
|
||||
|
||||
|
||||
method GET_VISIBLE.
|
||||
r_Visible = me->Visible.
|
||||
endmethod.
|
||||
|
||||
|
||||
method GET_WIDTH.
|
||||
r_WIDTH = me->WIDTH.
|
||||
endmethod.
|
||||
|
||||
|
||||
method GET_XF_INDEX.
|
||||
r_xf_index = me->xf_index.
|
||||
endmethod.
|
||||
|
||||
|
||||
method SET_AUTO_SIZE.
|
||||
me->auto_size = ip_auto_size.
|
||||
r_worksheet_columndime = me.
|
||||
endmethod.
|
||||
|
||||
|
||||
method SET_COLLAPSED.
|
||||
me->Collapsed = ip_Collapsed.
|
||||
r_worksheet_columndime = me.
|
||||
endmethod.
|
||||
|
||||
|
||||
method SET_COLUMN_INDEX.
|
||||
me->column_index = zcl_excel_common=>convert_column2int( ip_index ).
|
||||
r_worksheet_columndime = me.
|
||||
endmethod.
|
||||
|
||||
|
||||
method SET_COLUMN_STYLE_BY_GUID.
|
||||
DATA: stylemapping TYPE zexcel_s_stylemapping.
|
||||
|
||||
IF me->excel IS NOT BOUND.
|
||||
RAISE EXCEPTION TYPE zcx_excel
|
||||
EXPORTING
|
||||
error = 'Internal error - reference to ZCL_EXCEL not bound'.
|
||||
ENDIF.
|
||||
TRY.
|
||||
stylemapping = me->excel->get_style_to_guid( ip_style_guid ).
|
||||
me->style_guid = stylemapping-guid.
|
||||
|
||||
CATCH zcx_excel .
|
||||
EXIT. " leave as is in case of error
|
||||
ENDTRY.
|
||||
|
||||
endmethod.
|
||||
|
||||
|
||||
method SET_OUTLINE_LEVEL.
|
||||
me->outline_level = ip_outline_level.
|
||||
endmethod.
|
||||
|
||||
|
||||
method SET_VISIBLE.
|
||||
me->Visible = ip_Visible.
|
||||
r_worksheet_columndime = me.
|
||||
endmethod.
|
||||
|
||||
|
||||
method SET_WIDTH.
|
||||
TRY.
|
||||
me->width = ip_width.
|
||||
r_worksheet_columndime = me.
|
||||
CATCH cx_sy_conversion_no_number.
|
||||
RAISE EXCEPTION TYPE zcx_excel
|
||||
EXPORTING
|
||||
error = 'Unable to interpret width as number'.
|
||||
ENDTRY.
|
||||
endmethod.
|
||||
|
||||
|
||||
method SET_XF_INDEX.
|
||||
me->XF_INDEX = ip_XF_INDEX.
|
||||
r_worksheet_columndime = me.
|
||||
endmethod.
|
||||
ENDCLASS.
|
|
@ -1,166 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<abapGit version="v1.0.0" serializer="LCL_OBJECT_CLAS" serializer_version="v1.0.0">
|
||||
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
|
||||
<asx:values>
|
||||
<VSEOCLASS>
|
||||
<CLSNAME>ZCL_EXCEL_WORKSHEET_COLUMNDIME</CLSNAME>
|
||||
<VERSION>1</VERSION>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>Worksheet ColumnDimension</DESCRIPT>
|
||||
<EXPOSURE>2</EXPOSURE>
|
||||
<STATE>1</STATE>
|
||||
<CLSFINAL>X</CLSFINAL>
|
||||
<CLSCCINCL>X</CLSCCINCL>
|
||||
<FIXPT>X</FIXPT>
|
||||
<UNICODE>X</UNICODE>
|
||||
</VSEOCLASS>
|
||||
<TPOOL/>
|
||||
<DESCRIPTIONS>
|
||||
<SEOCOMPOTX>
|
||||
<CLSNAME>ZCL_EXCEL_WORKSHEET_COLUMNDIME</CLSNAME>
|
||||
<CMPNAME>AUTO_SIZE</CMPNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>Auto size?</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CLSNAME>ZCL_EXCEL_WORKSHEET_COLUMNDIME</CLSNAME>
|
||||
<CMPNAME>AUTO_SIZE</CMPNAME>
|
||||
<LANGU>I</LANGU>
|
||||
<DESCRIPT>Auto size?</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CLSNAME>ZCL_EXCEL_WORKSHEET_COLUMNDIME</CLSNAME>
|
||||
<CMPNAME>COLLAPSED</CMPNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>Collapsed?</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CLSNAME>ZCL_EXCEL_WORKSHEET_COLUMNDIME</CLSNAME>
|
||||
<CMPNAME>COLLAPSED</CMPNAME>
|
||||
<LANGU>I</LANGU>
|
||||
<DESCRIPT>Collapsed?</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CLSNAME>ZCL_EXCEL_WORKSHEET_COLUMNDIME</CLSNAME>
|
||||
<CMPNAME>COLUMN_INDEX</CMPNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>Column index</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CLSNAME>ZCL_EXCEL_WORKSHEET_COLUMNDIME</CLSNAME>
|
||||
<CMPNAME>COLUMN_INDEX</CMPNAME>
|
||||
<LANGU>I</LANGU>
|
||||
<DESCRIPT>Column index</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CLSNAME>ZCL_EXCEL_WORKSHEET_COLUMNDIME</CLSNAME>
|
||||
<CMPNAME>EXCEL</CMPNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>Excel creator</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CLSNAME>ZCL_EXCEL_WORKSHEET_COLUMNDIME</CLSNAME>
|
||||
<CMPNAME>EXCEL</CMPNAME>
|
||||
<LANGU>I</LANGU>
|
||||
<DESCRIPT>Excel creator</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CLSNAME>ZCL_EXCEL_WORKSHEET_COLUMNDIME</CLSNAME>
|
||||
<CMPNAME>GET_COLUMN_STYLE_GUID</CMPNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>Get guid of column style</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CLSNAME>ZCL_EXCEL_WORKSHEET_COLUMNDIME</CLSNAME>
|
||||
<CMPNAME>GET_COLUMN_STYLE_GUID</CMPNAME>
|
||||
<LANGU>I</LANGU>
|
||||
<DESCRIPT>Get guid of column style</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CLSNAME>ZCL_EXCEL_WORKSHEET_COLUMNDIME</CLSNAME>
|
||||
<CMPNAME>OUTLINE_LEVEL</CMPNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>Outline level</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CLSNAME>ZCL_EXCEL_WORKSHEET_COLUMNDIME</CLSNAME>
|
||||
<CMPNAME>OUTLINE_LEVEL</CMPNAME>
|
||||
<LANGU>I</LANGU>
|
||||
<DESCRIPT>Outline level</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CLSNAME>ZCL_EXCEL_WORKSHEET_COLUMNDIME</CLSNAME>
|
||||
<CMPNAME>SET_COLUMN_STYLE_BY_GUID</CMPNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>Set column style by style guid</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CLSNAME>ZCL_EXCEL_WORKSHEET_COLUMNDIME</CLSNAME>
|
||||
<CMPNAME>SET_COLUMN_STYLE_BY_GUID</CMPNAME>
|
||||
<LANGU>I</LANGU>
|
||||
<DESCRIPT>Set column style by style guid</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CLSNAME>ZCL_EXCEL_WORKSHEET_COLUMNDIME</CLSNAME>
|
||||
<CMPNAME>STYLE_GUID</CMPNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>Style identifier</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CLSNAME>ZCL_EXCEL_WORKSHEET_COLUMNDIME</CLSNAME>
|
||||
<CMPNAME>STYLE_GUID</CMPNAME>
|
||||
<LANGU>I</LANGU>
|
||||
<DESCRIPT>Style identifier</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CLSNAME>ZCL_EXCEL_WORKSHEET_COLUMNDIME</CLSNAME>
|
||||
<CMPNAME>VISIBLE</CMPNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>Visible?</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CLSNAME>ZCL_EXCEL_WORKSHEET_COLUMNDIME</CLSNAME>
|
||||
<CMPNAME>VISIBLE</CMPNAME>
|
||||
<LANGU>I</LANGU>
|
||||
<DESCRIPT>Visible?</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CLSNAME>ZCL_EXCEL_WORKSHEET_COLUMNDIME</CLSNAME>
|
||||
<CMPNAME>WIDTH</CMPNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>Column width</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CLSNAME>ZCL_EXCEL_WORKSHEET_COLUMNDIME</CLSNAME>
|
||||
<CMPNAME>WIDTH</CMPNAME>
|
||||
<LANGU>I</LANGU>
|
||||
<DESCRIPT>Column width</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CLSNAME>ZCL_EXCEL_WORKSHEET_COLUMNDIME</CLSNAME>
|
||||
<CMPNAME>WORKSHEET</CMPNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>Worksheet</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CLSNAME>ZCL_EXCEL_WORKSHEET_COLUMNDIME</CLSNAME>
|
||||
<CMPNAME>WORKSHEET</CMPNAME>
|
||||
<LANGU>I</LANGU>
|
||||
<DESCRIPT>Worksheet</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CLSNAME>ZCL_EXCEL_WORKSHEET_COLUMNDIME</CLSNAME>
|
||||
<CMPNAME>XF_INDEX</CMPNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>Index to cellXf</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
<SEOCOMPOTX>
|
||||
<CLSNAME>ZCL_EXCEL_WORKSHEET_COLUMNDIME</CLSNAME>
|
||||
<CMPNAME>XF_INDEX</CMPNAME>
|
||||
<LANGU>I</LANGU>
|
||||
<DESCRIPT>Index to cellXf</DESCRIPT>
|
||||
</SEOCOMPOTX>
|
||||
</DESCRIPTIONS>
|
||||
</asx:values>
|
||||
</asx:abap>
|
||||
</abapGit>
|
|
@ -3092,10 +3092,8 @@ METHOD create_xl_sheet.
|
|||
lo_style_conditional TYPE REF TO zcl_excel_style_conditional,
|
||||
lo_data_validation TYPE REF TO zcl_excel_data_validation,
|
||||
lo_table TYPE REF TO zcl_excel_table,
|
||||
row_dimension TYPE REF TO zcl_excel_worksheet_rowdimensi,
|
||||
lo_row_dim_empty TYPE REF TO zcl_excel_worksheet_rowdimensi,
|
||||
lo_column_default TYPE REF TO zcl_excel_column,
|
||||
default_row_dimension TYPE REF TO zcl_excel_worksheet_rowdimensi.
|
||||
lo_row_default TYPE REF TO zcl_excel_row.
|
||||
|
||||
DATA: lv_value TYPE string,
|
||||
lt_range_merge TYPE string_table,
|
||||
|
@ -3124,7 +3122,8 @@ METHOD create_xl_sheet.
|
|||
lv_freeze_cell_column_alpha TYPE zexcel_cell_column_alpha,
|
||||
lo_column_iterator TYPE REF TO cl_object_collection_iterator,
|
||||
lo_column TYPE REF TO zcl_excel_column,
|
||||
row_dimensions TYPE zexcel_t_worksheet_rowdimensio,
|
||||
lo_row_iterator TYPE REF TO cl_object_collection_iterator,
|
||||
lo_row TYPE REF TO zcl_excel_row,
|
||||
ls_style_cond_mapping TYPE zexcel_s_styles_cond_mapping,
|
||||
lv_relation_id TYPE i VALUE 0,
|
||||
outline_level_row TYPE i VALUE 0,
|
||||
|
@ -3134,7 +3133,6 @@ METHOD create_xl_sheet.
|
|||
ls_sheet_content LIKE LINE OF io_worksheet->sheet_content,
|
||||
ls_sheet_content_empty LIKE LINE OF io_worksheet->sheet_content,
|
||||
lv_last_row TYPE i,
|
||||
lts_row_dimensions TYPE zexcel_t_worksheet_rowdimensio,
|
||||
lts_row_outlines TYPE zcl_excel_worksheet=>mty_ts_outlines_row,
|
||||
col_count TYPE int4,
|
||||
merge_count TYPE int4,
|
||||
|
@ -3152,7 +3150,6 @@ METHOD create_xl_sheet.
|
|||
|
||||
FIELD-SYMBOLS: <ls_sheet_content> TYPE zexcel_s_cell_data,
|
||||
<fs_range_merge> LIKE LINE OF lt_range_merge,
|
||||
<row_dimension> TYPE zexcel_s_worksheet_rowdimensio,
|
||||
<ls_row_outline> LIKE LINE OF lts_row_outlines.
|
||||
|
||||
*--------------------------------------------------------------------*
|
||||
|
@ -3379,22 +3376,23 @@ METHOD create_xl_sheet.
|
|||
|
||||
|
||||
lo_column_iterator = io_worksheet->get_columns_iterator( ).
|
||||
lo_row_iterator = io_worksheet->get_rows_iterator( ).
|
||||
" Calculate col
|
||||
IF NOT lo_column_iterator IS BOUND.
|
||||
io_worksheet->calculate_column_widths( ).
|
||||
lo_column_iterator = io_worksheet->get_columns_iterator( ).
|
||||
ENDIF.
|
||||
row_dimensions[] = io_worksheet->get_row_dimensions( ).
|
||||
|
||||
" sheetFormatPr node
|
||||
lo_element = lo_document->create_simple_element( name = lc_xml_node_sheetformatpr
|
||||
parent = lo_document ).
|
||||
" defaultRowHeight
|
||||
default_row_dimension = io_worksheet->get_default_row_dimension( ).
|
||||
IF default_row_dimension IS BOUND.
|
||||
IF default_row_dimension->get_row_height( ) >= 0.
|
||||
lo_row_default = io_worksheet->get_default_row( ).
|
||||
IF lo_row_default IS BOUND.
|
||||
IF lo_row_default->get_row_height( ) >= 0.
|
||||
lo_element->set_attribute_ns( name = lc_xml_attr_customheight
|
||||
value = lc_xml_attr_true ).
|
||||
lv_value = default_row_dimension->get_row_height( ).
|
||||
lv_value = lo_row_default->get_row_height( ).
|
||||
ELSE.
|
||||
lv_value = '12.75'.
|
||||
ENDIF.
|
||||
|
@ -4785,9 +4783,10 @@ METHOD create_xl_sheet_sheet_data.
|
|||
lv_next_row TYPE i,
|
||||
lv_last_row TYPE i,
|
||||
|
||||
lts_row_dimensions TYPE zexcel_t_worksheet_rowdimensio,
|
||||
lo_row_dim_empty TYPE REF TO zcl_excel_worksheet_rowdimensi,
|
||||
row_dimension TYPE REF TO zcl_excel_worksheet_rowdimensi,
|
||||
* lts_row_dimensions TYPE zexcel_t_worksheet_rowdimensio,
|
||||
lo_row_iterator TYPE REF TO cl_object_collection_iterator,
|
||||
lo_row TYPE REF TO zcl_excel_row,
|
||||
lo_row_empty TYPE REF TO zcl_excel_row,
|
||||
lts_row_outlines TYPE zcl_excel_worksheet=>mty_ts_outlines_row,
|
||||
|
||||
ls_last_row TYPE zexcel_s_cell_data,
|
||||
|
@ -4801,7 +4800,6 @@ METHOD create_xl_sheet_sheet_data.
|
|||
lv_style_guid TYPE zexcel_cell_style.
|
||||
|
||||
FIELD-SYMBOLS: <ls_sheet_content> TYPE zexcel_s_cell_data,
|
||||
<row_dimension> TYPE zexcel_s_worksheet_rowdimensio,
|
||||
<ls_row_outline> LIKE LINE OF lts_row_outlines.
|
||||
|
||||
|
||||
|
@ -4854,12 +4852,15 @@ METHOD create_xl_sheet_sheet_data.
|
|||
*Last row with cell content
|
||||
lv_last_row = io_worksheet->get_highest_row( ).
|
||||
*Last line with row-information set directly ( like line height, hidden-status ... )
|
||||
lts_row_dimensions = io_worksheet->get_row_dimensions( ).
|
||||
SORT lts_row_dimensions BY row DESCENDING.
|
||||
READ TABLE lts_row_dimensions INDEX 1 ASSIGNING <row_dimension>.
|
||||
IF sy-subrc = 0 AND <row_dimension>-row > lv_last_row.
|
||||
lv_last_row = <row_dimension>-row.
|
||||
|
||||
lo_row_iterator = io_worksheet->get_rows_iterator( ).
|
||||
WHILE lo_row_iterator->has_next( ) = abap_true.
|
||||
lo_row ?= lo_row_iterator->get_next( ).
|
||||
IF lo_row->get_row_index( ) > lv_last_row.
|
||||
lv_last_row = lo_row->get_row_index( ).
|
||||
ENDIF.
|
||||
ENDWHILE.
|
||||
|
||||
*Last line with row-information set indirectly by row outline
|
||||
lts_row_outlines = io_worksheet->get_row_outlines( ).
|
||||
LOOP AT lts_row_outlines ASSIGNING <ls_row_outline>.
|
||||
|
@ -4908,11 +4909,11 @@ METHOD create_xl_sheet_sheet_data.
|
|||
ASSIGN ls_sheet_content TO <ls_sheet_content>.
|
||||
ELSE.
|
||||
*Check if empty row is really necessary - this is basically the case when we have information in row_dimension
|
||||
lo_row_dim_empty = io_worksheet->get_row_dimension( lv_current_row ).
|
||||
CHECK lo_row_dim_empty->get_row_height( ) >= 0 OR
|
||||
lo_row_dim_empty->get_collapsed( io_worksheet ) = abap_true OR
|
||||
lo_row_dim_empty->get_outline_level( io_worksheet ) > 0 OR
|
||||
lo_row_dim_empty->get_xf_index( ) <> 0.
|
||||
lo_row_empty = io_worksheet->get_row( lv_current_row ).
|
||||
CHECK lo_row_empty->get_row_height( ) >= 0 OR
|
||||
lo_row_empty->get_collapsed( io_worksheet ) = abap_true OR
|
||||
lo_row_empty->get_outline_level( io_worksheet ) > 0 OR
|
||||
lo_row_empty->get_xf_index( ) <> 0.
|
||||
" Dummyentry A1
|
||||
ls_sheet_content_empty-cell_row = lv_current_row.
|
||||
ls_sheet_content_empty-cell_column = 1.
|
||||
|
@ -4930,7 +4931,7 @@ METHOD create_xl_sheet_sheet_data.
|
|||
ENDIF.
|
||||
IF ls_last_row-cell_row IS NOT INITIAL.
|
||||
" Row visibility of previos row.
|
||||
IF row_dimension->get_visible( io_worksheet ) = abap_false OR
|
||||
IF lo_row->get_visible( io_worksheet ) = abap_false OR
|
||||
l_autofilter_hidden = abap_true.
|
||||
lo_element_2->set_attribute_ns( name = 'hidden' value = 'true').
|
||||
ENDIF.
|
||||
|
@ -4956,33 +4957,33 @@ METHOD create_xl_sheet_sheet_data.
|
|||
SHIFT lv_value LEFT DELETING LEADING space.
|
||||
lo_element_2->set_attribute_ns( name = lc_xml_attr_spans
|
||||
value = lv_value ).
|
||||
row_dimension = io_worksheet->get_row_dimension( <ls_sheet_content>-cell_row ).
|
||||
lo_row = io_worksheet->get_row( <ls_sheet_content>-cell_row ).
|
||||
" Do we need the row dimension attributes?
|
||||
IF row_dimension->get_row_height( ) >= 0 OR
|
||||
row_dimension->get_collapsed( io_worksheet ) = abap_true OR
|
||||
row_dimension->get_outline_level( io_worksheet ) > 0 OR
|
||||
row_dimension->get_xf_index( ) <> 0 OR
|
||||
IF lo_row->get_row_height( ) >= 0 OR
|
||||
lo_row->get_collapsed( io_worksheet ) = abap_true OR
|
||||
lo_row->get_outline_level( io_worksheet ) > 0 OR
|
||||
lo_row->get_xf_index( ) <> 0 OR
|
||||
l_autofilter_hidden = abap_true.
|
||||
" Row dimensions
|
||||
IF row_dimension->get_row_height( ) >= 0.
|
||||
IF lo_row->get_row_height( ) >= 0.
|
||||
lo_element_2->set_attribute_ns( name = 'customHeight' value = '1').
|
||||
lv_value = row_dimension->get_row_height( ).
|
||||
lv_value = lo_row->get_row_height( ).
|
||||
lo_element_2->set_attribute_ns( name = 'ht' value = lv_value ).
|
||||
ENDIF.
|
||||
" Collapsed
|
||||
IF row_dimension->get_collapsed( io_worksheet ) = abap_true.
|
||||
IF lo_row->get_collapsed( io_worksheet ) = abap_true.
|
||||
lo_element_2->set_attribute_ns( name = 'collapsed' value = 'true').
|
||||
ENDIF.
|
||||
" Outline level
|
||||
IF row_dimension->get_outline_level( io_worksheet ) > 0.
|
||||
lv_value = row_dimension->get_outline_level( io_worksheet ).
|
||||
IF lo_row->get_outline_level( io_worksheet ) > 0.
|
||||
lv_value = lo_row->get_outline_level( io_worksheet ).
|
||||
SHIFT lv_value RIGHT DELETING TRAILING space.
|
||||
SHIFT lv_value LEFT DELETING LEADING space.
|
||||
lo_element_2->set_attribute_ns( name = 'outlineLevel' value = lv_value ).
|
||||
ENDIF.
|
||||
" Style
|
||||
IF row_dimension->get_xf_index( ) <> 0.
|
||||
lv_value = row_dimension->get_xf_index( ).
|
||||
IF lo_row->get_xf_index( ) <> 0.
|
||||
lv_value = lo_row->get_xf_index( ).
|
||||
lo_element_2->set_attribute_ns( name = 's' value = lv_value ).
|
||||
lo_element_2->set_attribute_ns( name = 'customFormat' value = '1').
|
||||
ENDIF.
|
||||
|
@ -5108,7 +5109,7 @@ METHOD create_xl_sheet_sheet_data.
|
|||
CLEAR l_autofilter_hidden.
|
||||
ENDIF.
|
||||
" Row visibility of previos row.
|
||||
IF row_dimension->get_visible( ) = abap_false OR
|
||||
IF lo_row->get_visible( ) = abap_false OR
|
||||
l_autofilter_hidden = abap_true.
|
||||
lo_element_2->set_attribute_ns( name = 'hidden' value = 'true').
|
||||
ENDIF.
|
||||
|
|
|
@ -281,9 +281,8 @@ METHOD create_xl_sheet.
|
|||
DATA:
|
||||
lo_iterator TYPE REF TO cl_object_collection_iterator,
|
||||
lo_table TYPE REF TO zcl_excel_table,
|
||||
row_dimension TYPE REF TO zcl_excel_worksheet_rowdimensi,
|
||||
lo_column_default TYPE REF TO zcl_excel_column,
|
||||
default_row_dimension TYPE REF TO zcl_excel_worksheet_rowdimensi,
|
||||
lo_row_default TYPE REF TO zcl_excel_row,
|
||||
lv_value TYPE string,
|
||||
lv_index TYPE i,
|
||||
lv_spans TYPE string,
|
||||
|
@ -296,7 +295,8 @@ METHOD create_xl_sheet.
|
|||
lv_freeze_cell_column_alpha TYPE zexcel_cell_column_alpha,
|
||||
lo_column_iterator TYPE REF TO cl_object_collection_iterator,
|
||||
lo_column TYPE REF TO zcl_excel_column,
|
||||
row_dimensions TYPE zexcel_t_worksheet_rowdimensio,
|
||||
lo_row_iterator TYPE REF TO cl_object_collection_iterator,
|
||||
lo_row TYPE REF TO zcl_excel_row,
|
||||
lv_relation_id TYPE i VALUE 0,
|
||||
outline_level_row TYPE i VALUE 0,
|
||||
outline_level_col TYPE i VALUE 0,
|
||||
|
@ -428,18 +428,23 @@ METHOD create_xl_sheet.
|
|||
* Row and column info
|
||||
*
|
||||
lo_column_iterator = io_worksheet->get_columns_iterator( ).
|
||||
row_dimensions[] = io_worksheet->get_row_dimensions( ).
|
||||
|
||||
IF NOT lo_column_iterator IS BOUND.
|
||||
io_worksheet->calculate_column_widths( ).
|
||||
lo_column_iterator = io_worksheet->get_columns_iterator( ).
|
||||
ENDIF.
|
||||
|
||||
default_row_dimension = io_worksheet->get_default_row_dimension( ).
|
||||
IF default_row_dimension IS BOUND.
|
||||
IF default_row_dimension->get_row_height( ) >= 0.
|
||||
lo_column_default = io_worksheet->get_default_column( ).
|
||||
IF lo_column_default IS BOUND.
|
||||
IF lo_column_default->get_width( ) >= 0.
|
||||
l_worksheet-defaultcolwidth = lo_column_default->get_width( ).
|
||||
ENDIF.
|
||||
ENDIF.
|
||||
|
||||
lo_row_default = io_worksheet->get_default_row( ).
|
||||
IF lo_row_default IS BOUND.
|
||||
IF lo_row_default->get_row_height( ) >= 0.
|
||||
l_worksheet-customheight = lc_true.
|
||||
lv_value = default_row_dimension->get_row_height( ).
|
||||
lv_value = lo_row_default->get_row_height( ).
|
||||
ELSE.
|
||||
lv_value = '12.75'.
|
||||
ENDIF.
|
||||
|
@ -449,21 +454,16 @@ METHOD create_xl_sheet.
|
|||
CONDENSE lv_value.
|
||||
l_worksheet-defaultrowheight = lv_value.
|
||||
|
||||
lo_column_default = io_worksheet->get_default_column( ).
|
||||
IF lo_column_default IS BOUND.
|
||||
IF lo_column_default->get_width( ) >= 0.
|
||||
l_worksheet-defaultcolwidth = lo_column_default->get_width( ).
|
||||
lo_row_iterator = io_worksheet->get_rows_iterator( ).
|
||||
WHILE lo_row_iterator->has_next( ) = abap_true.
|
||||
lo_row ?= lo_row_iterator->get_next( ).
|
||||
IF lo_row->get_outline_level( ) > outline_level_row.
|
||||
l_worksheet-outlinelevelrow = lo_row->get_outline_level( ).
|
||||
ENDIF.
|
||||
ENDIF.
|
||||
|
||||
LOOP AT row_dimensions ASSIGNING <row_dimension>.
|
||||
IF <row_dimension>-row_dimension->get_outline_level( ) > outline_level_row.
|
||||
l_worksheet-outlinelevelrow = <row_dimension>-row_dimension->get_outline_level( ).
|
||||
ENDIF.
|
||||
ENDLOOP.
|
||||
ENDWHILE.
|
||||
|
||||
* Set column information (width, style, ...)
|
||||
IF lo_column_iterator->has_next( ) = abap_true.
|
||||
* IF lo_column_iterator->has_next( ) = abap_true.
|
||||
WHILE lo_column_iterator->has_next( ) = abap_true.
|
||||
lo_column ?= lo_column_iterator->get_next( ).
|
||||
IF lo_column->get_outline_level( ) > outline_level_col.
|
||||
|
@ -504,7 +504,7 @@ METHOD create_xl_sheet.
|
|||
lv_column = zcl_excel_common=>convert_column2int( lo_column->get_column_index( ) ).
|
||||
INSERT lv_column INTO TABLE lts_sorted_columns.
|
||||
ENDWHILE.
|
||||
ENDIF.
|
||||
* ENDIF.
|
||||
|
||||
*
|
||||
* Now find all columns that were missing so far
|
||||
|
@ -577,32 +577,32 @@ METHOD create_xl_sheet.
|
|||
*
|
||||
* Row dimension attributes
|
||||
*
|
||||
row_dimension = io_worksheet->get_row_dimension( <sheet_content>-cell_row ).
|
||||
IF row_dimension->get_visible( ) = abap_false.
|
||||
lo_row = io_worksheet->get_row( <sheet_content>-cell_row ).
|
||||
IF lo_row->get_visible( ) = abap_false.
|
||||
<row>-hidden = lc_true.
|
||||
ENDIF.
|
||||
|
||||
IF row_dimension->get_row_height( ) >= 0.
|
||||
IF lo_row->get_row_height( ) >= 0.
|
||||
<row>-customheight = lc_one.
|
||||
<row>-height = row_dimension->get_row_height( ).
|
||||
<row>-height = lo_row->get_row_height( ).
|
||||
ENDIF.
|
||||
|
||||
*
|
||||
* Collapsed
|
||||
*
|
||||
IF row_dimension->get_collapsed( ) = abap_true.
|
||||
IF lo_row->get_collapsed( ) = abap_true.
|
||||
<row>-collapsed = lc_true.
|
||||
ENDIF.
|
||||
|
||||
*
|
||||
* Outline level
|
||||
*
|
||||
<row>-outlinelevel = row_dimension->get_outline_level( ).
|
||||
<row>-outlinelevel = lo_row->get_outline_level( ).
|
||||
|
||||
*
|
||||
* Style
|
||||
*
|
||||
<row>-style = row_dimension->get_xf_index( ).
|
||||
<row>-style = lo_row->get_xf_index( ).
|
||||
IF <row>-style <> 0.
|
||||
<row>-customformat = lc_one.
|
||||
ENDIF.
|
||||
|
|
|
@ -49,8 +49,8 @@ START-OF-SELECTION.
|
|||
lo_excel_writer TYPE REF TO zif_excel_writer,
|
||||
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
||||
lo_column TYPE REF TO zcl_excel_column,
|
||||
lo_row_dim TYPE REF TO zcl_excel_worksheet_rowdimensi,
|
||||
hyperlink TYPE REF TO zcl_excel_hyperlink,
|
||||
lo_row TYPE REF TO zcl_excel_row,
|
||||
lo_hyperlink TYPE REF TO zcl_excel_hyperlink,
|
||||
lo_drawing TYPE REF TO zcl_excel_drawing.
|
||||
|
||||
DATA: lo_style_month TYPE REF TO zcl_excel_style,
|
||||
|
@ -291,13 +291,13 @@ START-OF-SELECTION.
|
|||
row = lv_from_row - 2.
|
||||
ENDIF.
|
||||
IF NOT <img_descr>-url IS INITIAL.
|
||||
hyperlink = zcl_excel_hyperlink=>create_external_link( <img_descr>-url ).
|
||||
lo_hyperlink = zcl_excel_hyperlink=>create_external_link( <img_descr>-url ).
|
||||
lo_worksheet->set_cell(
|
||||
EXPORTING
|
||||
ip_column = from_col " Cell Column
|
||||
ip_row = row " Cell Row
|
||||
ip_value = value " Cell Value
|
||||
ip_hyperlink = hyperlink
|
||||
ip_hyperlink = lo_hyperlink
|
||||
).
|
||||
ELSE.
|
||||
lo_worksheet->set_cell(
|
||||
|
@ -307,8 +307,8 @@ START-OF-SELECTION.
|
|||
ip_value = value " Cell Value
|
||||
).
|
||||
ENDIF.
|
||||
lo_row_dim = lo_worksheet->get_row_dimension( row ).
|
||||
lo_row_dim->set_row_height( '22.0' ).
|
||||
lo_row = lo_worksheet->get_row( row ).
|
||||
lo_row->set_row_height( '22.0' ).
|
||||
|
||||
" In Landscape mode the row between the description and the
|
||||
" dates should be not so high
|
||||
|
@ -320,11 +320,11 @@ START-OF-SELECTION.
|
|||
ip_row = row " Cell Row
|
||||
ip_value = ' ' " Cell Value
|
||||
).
|
||||
lo_row_dim = lo_worksheet->get_row_dimension( row ).
|
||||
lo_row_dim->set_row_height( '7.0' ).
|
||||
lo_row = lo_worksheet->get_row( row ).
|
||||
lo_row->set_row_height( '7.0' ).
|
||||
row = lv_from_row - 1.
|
||||
lo_row_dim = lo_worksheet->get_row_dimension( row ).
|
||||
lo_row_dim->set_row_height( '5.0' ).
|
||||
lo_row = lo_worksheet->get_row( row ).
|
||||
lo_row->set_row_height( '5.0' ).
|
||||
ENDIF.
|
||||
|
||||
CONCATENATE p_path lv_file_separator <img_descr>-filename INTO image_path.
|
||||
|
|
|
@ -217,7 +217,7 @@ CLASS zcl_helper IMPLEMENTATION.
|
|||
from_col_int TYPE zexcel_cell_column,
|
||||
col TYPE zexcel_cell_column_alpha,
|
||||
lo_column TYPE REF TO zcl_excel_column,
|
||||
lr_row_dim TYPE REF TO zcl_excel_worksheet_rowdimensi.
|
||||
lo_row TYPE REF TO zcl_excel_row.
|
||||
DATA: lv_date TYPE datum,
|
||||
value TYPE string,
|
||||
weekday TYPE wotnr,
|
||||
|
@ -333,8 +333,8 @@ CLASS zcl_helper IMPLEMENTATION.
|
|||
row_max = i_from_row + 6.
|
||||
WHILE row <= row_max.
|
||||
height = 50.
|
||||
lr_row_dim = c_worksheet->get_row_dimension( row ).
|
||||
lr_row_dim->set_row_height( height ).
|
||||
lo_row = c_worksheet->get_row( row ).
|
||||
lo_row->set_row_height( height ).
|
||||
row = row + 1.
|
||||
ENDWHILE.
|
||||
ENDMETHOD. "add_calendar
|
||||
|
@ -342,8 +342,8 @@ CLASS zcl_helper IMPLEMENTATION.
|
|||
DATA: value TYPE string,
|
||||
hyperlink TYPE REF TO zcl_excel_hyperlink.
|
||||
|
||||
value = 'Created with abap2xlsx. Find more information at http://abap2xlsx.org.'(002).
|
||||
hyperlink = zcl_excel_hyperlink=>create_external_link( 'http://abap2xlsx.org' ). "#EC NOTEXT
|
||||
value = 'Created with abap2xlsx. Find more information at http://www.plinky.it/abap/abap2xlsx.php.'(002).
|
||||
hyperlink = zcl_excel_hyperlink=>create_external_link( 'http://www.plinky.it/abap/abap2xlsx.php' ). "#EC NOTEXT
|
||||
c_worksheet->set_cell(
|
||||
EXPORTING
|
||||
ip_column = i_from_col " Cell Column
|
||||
|
@ -365,7 +365,7 @@ CLASS zcl_helper IMPLEMENTATION.
|
|||
col_int TYPE zexcel_cell_column,
|
||||
col TYPE zexcel_cell_column_alpha.
|
||||
DATA: lo_column TYPE REF TO zcl_excel_column,
|
||||
lo_row_dim TYPE REF TO zcl_excel_worksheet_rowdimensi.
|
||||
lo_row TYPE REF TO zcl_excel_row.
|
||||
|
||||
FIELD-SYMBOLS: <day_name> LIKE LINE OF day_names.
|
||||
|
||||
|
@ -424,8 +424,8 @@ CLASS zcl_helper IMPLEMENTATION.
|
|||
ip_row = row " Cell Row
|
||||
ip_value = ' ' " Cell Value
|
||||
).
|
||||
lo_row_dim = c_worksheet->get_row_dimension( row ).
|
||||
lo_row_dim->set_row_height( '5.0' ).
|
||||
lo_row = c_worksheet->get_row( row ).
|
||||
lo_row->set_row_height( '5.0' ).
|
||||
row = i_from_row + 3.
|
||||
zcl_helper=>add_a2x_footer(
|
||||
EXPORTING
|
||||
|
|
|
@ -28,7 +28,7 @@ START-OF-SELECTION.
|
|||
lo_worksheet->set_cell( ip_column = 'B' ip_row = 2 ip_value = 'Hello world' ).
|
||||
lo_worksheet->set_cell( ip_column = 'B' ip_row = 3 ip_value = sy-datum ).
|
||||
lo_worksheet->set_cell( ip_column = 'C' ip_row = 3 ip_value = sy-uzeit ).
|
||||
lo_hyperlink = zcl_excel_hyperlink=>create_external_link( iv_url = 'http://www.abap2xlsx.org' ).
|
||||
lo_hyperlink = zcl_excel_hyperlink=>create_external_link( iv_url = 'http://www.plinky.it/abap/abap2xlsx.php' ).
|
||||
lo_worksheet->set_cell( ip_column = 'B' ip_row = 4 ip_value = 'Click here to visit abap2xlsx homepage' ip_hyperlink = lo_hyperlink ).
|
||||
|
||||
lo_column = lo_worksheet->get_column( ip_column = 'B' ).
|
||||
|
|
|
@ -192,7 +192,7 @@ START-OF-SELECTION.
|
|||
lo_style_body TYPE REF TO zcl_excel_style,
|
||||
lo_border_dark TYPE REF TO zcl_excel_style_border,
|
||||
lo_column TYPE REF TO zcl_excel_column,
|
||||
row_dimension TYPE REF TO zcl_excel_worksheet_rowdimensi.
|
||||
lo_row TYPE REF TO zcl_excel_row.
|
||||
|
||||
DATA: lv_style_body_even_guid TYPE zexcel_cell_style,
|
||||
lv_style_body_green TYPE zexcel_cell_style.
|
||||
|
@ -358,8 +358,8 @@ START-OF-SELECTION.
|
|||
ip_style = lv_style_body_even_guid ).
|
||||
ENDLOOP.
|
||||
" Hide first row
|
||||
row_dimension = lo_worksheet->get_row_dimension( 1 ).
|
||||
row_dimension->set_visible( abap_false ).
|
||||
lo_row = lo_worksheet->get_row( 1 ).
|
||||
lo_row->set_visible( abap_false ).
|
||||
|
||||
DATA: highest_column TYPE zexcel_cell_column,
|
||||
count TYPE int4,
|
||||
|
|
|
@ -11,7 +11,7 @@ REPORT zdemo_excel12.
|
|||
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
||||
lo_column TYPE REF TO zcl_excel_column,
|
||||
row_dimension TYPE REF TO zcl_excel_worksheet_rowdimensi.
|
||||
lo_row TYPE REF TO zcl_excel_row.
|
||||
|
||||
DATA: lv_file TYPE xstring,
|
||||
lv_bytecount TYPE i,
|
||||
|
@ -71,10 +71,10 @@ START-OF-SELECTION.
|
|||
lo_column = lo_worksheet->get_column( ip_column = 'H' ).
|
||||
lo_column->set_outline_level( ip_outline_level = 2 ).
|
||||
|
||||
row_dimension = lo_worksheet->get_row_dimension( ip_row = 1 ).
|
||||
row_dimension->set_visible( ip_visible = abap_false ).
|
||||
row_dimension = lo_worksheet->get_row_dimension( ip_row = 5 ).
|
||||
row_dimension->set_row_height( ip_row_height = 20 ).
|
||||
lo_row = lo_worksheet->get_row( ip_row = 1 ).
|
||||
lo_row->set_visible( ip_visible = abap_false ).
|
||||
lo_row = lo_worksheet->get_row( ip_row = 5 ).
|
||||
lo_row->set_row_height( ip_row_height = 20 ).
|
||||
|
||||
* Define an outline rows 10-16, collapsed on startup
|
||||
lo_worksheet->set_row_outline( iv_row_from = 10
|
||||
|
|
|
@ -37,7 +37,7 @@ DATA: lo_excel TYPE REF TO zcl_excel,
|
|||
lv_style_shrink_guid TYPE zexcel_cell_style,
|
||||
lv_style_indent_guid TYPE zexcel_cell_style.
|
||||
|
||||
DATA: lo_row_dimension TYPE REF TO zcl_excel_worksheet_rowdimensi.
|
||||
DATA: lo_row TYPE REF TO zcl_excel_row.
|
||||
|
||||
CONSTANTS: gc_save_file_name TYPE string VALUE '14_Alignment.xlsx'.
|
||||
INCLUDE zdemo_excel_outputopt_incl.
|
||||
|
@ -117,8 +117,8 @@ START-OF-SELECTION.
|
|||
|
||||
" Set row size for first 7 rows to 40
|
||||
DO 7 TIMES.
|
||||
lo_row_dimension = lo_worksheet->get_row_dimension( sy-index ).
|
||||
lo_row_dimension->set_row_height( 40 ).
|
||||
lo_row = lo_worksheet->get_row( sy-index ).
|
||||
lo_row->set_row_height( 40 ).
|
||||
ENDDO.
|
||||
|
||||
"Horizontal alignment
|
||||
|
|
|
@ -47,7 +47,7 @@ DATA: lv_file TYPE xstring,
|
|||
DATA: lv_full_path TYPE string,
|
||||
lv_workdir TYPE string,
|
||||
lv_file_separator TYPE c.
|
||||
DATA: lo_row_dim TYPE REF TO zcl_excel_worksheet_rowdimensi.
|
||||
DATA: lo_row TYPE REF TO zcl_excel_row.
|
||||
|
||||
CONSTANTS: gc_save_file_name TYPE string VALUE '02_Styles.xlsx'.
|
||||
INCLUDE zdemo_excel_outputopt_incl.
|
||||
|
@ -262,47 +262,47 @@ START-OF-SELECTION.
|
|||
|
||||
|
||||
lo_worksheet->set_cell( ip_column = 'B' ip_row = 10 ip_style = lv_style_gr_cornerlb_guid ip_value = zcl_excel_style_fill=>c_fill_gradient_cornerlb ).
|
||||
lo_row_dim = lo_worksheet->get_row_dimension( ip_row = 10 ).
|
||||
lo_row_dim->set_row_height( ip_row_height = 30 ).
|
||||
lo_row = lo_worksheet->get_row( ip_row = 10 ).
|
||||
lo_row->set_row_height( ip_row_height = 30 ).
|
||||
lo_worksheet->set_cell( ip_column = 'C' ip_row = 11 ip_style = lv_style_gr_cornerlt_guid ip_value = zcl_excel_style_fill=>c_fill_gradient_cornerlt ).
|
||||
lo_row_dim = lo_worksheet->get_row_dimension( ip_row = 11 ).
|
||||
lo_row_dim->set_row_height( ip_row_height = 30 ).
|
||||
lo_row = lo_worksheet->get_row( ip_row = 11 ).
|
||||
lo_row->set_row_height( ip_row_height = 30 ).
|
||||
lo_worksheet->set_cell( ip_column = 'B' ip_row = 12 ip_style = lv_style_gr_cornerrb_guid ip_value = zcl_excel_style_fill=>c_fill_gradient_cornerrb ).
|
||||
lo_row_dim = lo_worksheet->get_row_dimension( ip_row = 12 ).
|
||||
lo_row_dim->set_row_height( ip_row_height = 30 ).
|
||||
lo_row = lo_worksheet->get_row( ip_row = 12 ).
|
||||
lo_row->set_row_height( ip_row_height = 30 ).
|
||||
lo_worksheet->set_cell( ip_column = 'C' ip_row = 13 ip_style = lv_style_gr_cornerrt_guid ip_value = zcl_excel_style_fill=>c_fill_gradient_cornerrt ).
|
||||
lo_row_dim = lo_worksheet->get_row_dimension( ip_row = 13 ).
|
||||
lo_row_dim->set_row_height( ip_row_height = 30 ).
|
||||
lo_row = lo_worksheet->get_row( ip_row = 13 ).
|
||||
lo_row->set_row_height( ip_row_height = 30 ).
|
||||
lo_worksheet->set_cell( ip_column = 'B' ip_row = 14 ip_style = lv_style_gr_horizontal90_guid ip_value = zcl_excel_style_fill=>c_fill_gradient_horizontal90 ).
|
||||
lo_row_dim = lo_worksheet->get_row_dimension( ip_row = 14 ).
|
||||
lo_row_dim->set_row_height( ip_row_height = 30 ).
|
||||
lo_row = lo_worksheet->get_row( ip_row = 14 ).
|
||||
lo_row->set_row_height( ip_row_height = 30 ).
|
||||
lo_worksheet->set_cell( ip_column = 'C' ip_row = 15 ip_style = lv_style_gr_horizontal270_guid ip_value = zcl_excel_style_fill=>c_fill_gradient_horizontal270 ).
|
||||
lo_row_dim = lo_worksheet->get_row_dimension( ip_row = 15 ).
|
||||
lo_row_dim->set_row_height( ip_row_height = 30 ).
|
||||
lo_row = lo_worksheet->get_row( ip_row = 15 ).
|
||||
lo_row->set_row_height( ip_row_height = 30 ).
|
||||
lo_worksheet->set_cell( ip_column = 'B' ip_row = 16 ip_style = lv_style_gr_horizontalb_guid ip_value = zcl_excel_style_fill=>c_fill_gradient_horizontalb ).
|
||||
lo_row_dim = lo_worksheet->get_row_dimension( ip_row = 16 ).
|
||||
lo_row_dim->set_row_height( ip_row_height = 30 ).
|
||||
lo_row = lo_worksheet->get_row( ip_row = 16 ).
|
||||
lo_row->set_row_height( ip_row_height = 30 ).
|
||||
lo_worksheet->set_cell( ip_column = 'C' ip_row = 17 ip_style = lv_style_gr_vertical_guid ip_value = zcl_excel_style_fill=>c_fill_gradient_vertical ).
|
||||
lo_row_dim = lo_worksheet->get_row_dimension( ip_row = 17 ).
|
||||
lo_row_dim->set_row_height( ip_row_height = 30 ).
|
||||
lo_row = lo_worksheet->get_row( ip_row = 17 ).
|
||||
lo_row->set_row_height( ip_row_height = 30 ).
|
||||
lo_worksheet->set_cell( ip_column = 'B' ip_row = 18 ip_style = lv_style_gr_vertical2_guid ip_value = zcl_excel_style_fill=>c_fill_gradient_vertical ).
|
||||
lo_row_dim = lo_worksheet->get_row_dimension( ip_row = 18 ).
|
||||
lo_row_dim->set_row_height( ip_row_height = 30 ).
|
||||
lo_row = lo_worksheet->get_row( ip_row = 18 ).
|
||||
lo_row->set_row_height( ip_row_height = 30 ).
|
||||
lo_worksheet->set_cell( ip_column = 'C' ip_row = 19 ip_style = lv_style_gr_fromcenter_guid ip_value = zcl_excel_style_fill=>c_fill_gradient_fromcenter ).
|
||||
lo_row_dim = lo_worksheet->get_row_dimension( ip_row = 19 ).
|
||||
lo_row_dim->set_row_height( ip_row_height = 30 ).
|
||||
lo_row = lo_worksheet->get_row( ip_row = 19 ).
|
||||
lo_row->set_row_height( ip_row_height = 30 ).
|
||||
lo_worksheet->set_cell( ip_column = 'B' ip_row = 20 ip_style = lv_style_gr_diagonal45_guid ip_value = zcl_excel_style_fill=>c_fill_gradient_diagonal45 ).
|
||||
lo_row_dim = lo_worksheet->get_row_dimension( ip_row = 20 ).
|
||||
lo_row_dim->set_row_height( ip_row_height = 30 ).
|
||||
lo_row = lo_worksheet->get_row( ip_row = 20 ).
|
||||
lo_row->set_row_height( ip_row_height = 30 ).
|
||||
lo_worksheet->set_cell( ip_column = 'C' ip_row = 21 ip_style = lv_style_gr_diagonal45b_guid ip_value = zcl_excel_style_fill=>c_fill_gradient_diagonal45b ).
|
||||
lo_row_dim = lo_worksheet->get_row_dimension( ip_row = 21 ).
|
||||
lo_row_dim->set_row_height( ip_row_height = 30 ).
|
||||
lo_row = lo_worksheet->get_row( ip_row = 21 ).
|
||||
lo_row->set_row_height( ip_row_height = 30 ).
|
||||
lo_worksheet->set_cell( ip_column = 'B' ip_row = 22 ip_style = lv_style_gr_diagonal135_guid ip_value = zcl_excel_style_fill=>c_fill_gradient_diagonal135 ).
|
||||
lo_row_dim = lo_worksheet->get_row_dimension( ip_row = 22 ).
|
||||
lo_row_dim->set_row_height( ip_row_height = 30 ).
|
||||
lo_row = lo_worksheet->get_row( ip_row = 22 ).
|
||||
lo_row->set_row_height( ip_row_height = 30 ).
|
||||
lo_worksheet->set_cell( ip_column = 'C' ip_row = 23 ip_style = lv_style_gr_diagonal135b_guid ip_value = zcl_excel_style_fill=>c_fill_gradient_diagonal135b ).
|
||||
lo_row_dim = lo_worksheet->get_row_dimension( ip_row = 23 ).
|
||||
lo_row_dim->set_row_height( ip_row_height = 30 ).
|
||||
lo_row = lo_worksheet->get_row( ip_row = 23 ).
|
||||
lo_row->set_row_height( ip_row_height = 30 ).
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -20,7 +20,7 @@ DATA: current_row TYPE i,
|
|||
color TYPE zexcel_style_color_argb,
|
||||
|
||||
lo_column TYPE REF TO zcl_excel_column,
|
||||
row_dimension TYPE REF TO zcl_excel_worksheet_rowdimensi,
|
||||
lo_row TYPE REF TO zcl_excel_row,
|
||||
|
||||
writing1 TYPE string,
|
||||
writing2 TYPE string.
|
||||
|
@ -69,8 +69,8 @@ START-OF-SELECTION.
|
|||
lo_column->set_width( width ).
|
||||
|
||||
* Set size of row
|
||||
row_dimension = lo_worksheet->get_row_dimension( row ).
|
||||
row_dimension->set_row_height( height ).
|
||||
lo_row = lo_worksheet->get_row( row ).
|
||||
lo_row->set_row_height( height ).
|
||||
|
||||
* Set writing on chessboard
|
||||
lo_worksheet->set_cell( ip_row = row
|
||||
|
|
|
@ -1,41 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<abapGit version="v1.0.0" serializer="LCL_OBJECT_TABL" serializer_version="v1.0.0">
|
||||
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
|
||||
<asx:values>
|
||||
<DD02V>
|
||||
<TABNAME>ZEXCEL_S_WORKSHEET_ROWDIMENSIO</TABNAME>
|
||||
<DDLANGUAGE>E</DDLANGUAGE>
|
||||
<TABCLASS>INTTAB</TABCLASS>
|
||||
<DDTEXT>Stucture for the collection of row dimensions</DDTEXT>
|
||||
<EXCLASS>1</EXCLASS>
|
||||
</DD02V>
|
||||
<DD03P_TABLE>
|
||||
<DD03P>
|
||||
<TABNAME>ZEXCEL_S_WORKSHEET_ROWDIMENSIO</TABNAME>
|
||||
<FIELDNAME>ROW</FIELDNAME>
|
||||
<POSITION>0001</POSITION>
|
||||
<ROLLNAME>INT4</ROLLNAME>
|
||||
<ADMINFIELD>0</ADMINFIELD>
|
||||
<COMPTYPE>E</COMPTYPE>
|
||||
</DD03P>
|
||||
<DD03P>
|
||||
<TABNAME>ZEXCEL_S_WORKSHEET_ROWDIMENSIO</TABNAME>
|
||||
<FIELDNAME>ROW_DIMENSION</FIELDNAME>
|
||||
<POSITION>0002</POSITION>
|
||||
<ROLLNAME>ZCL_EXCEL_WORKSHEET_ROWDIMENSI</ROLLNAME>
|
||||
<ADMINFIELD>0</ADMINFIELD>
|
||||
<DATATYPE>REF</DATATYPE>
|
||||
<MASK> REF RC</MASK>
|
||||
<COMPTYPE>R</COMPTYPE>
|
||||
<REFTYPE>C</REFTYPE>
|
||||
</DD03P>
|
||||
</DD03P_TABLE>
|
||||
<DD05M_TABLE/>
|
||||
<DD08V_TABLE/>
|
||||
<DD12V/>
|
||||
<DD17V/>
|
||||
<DD35V_TALE/>
|
||||
<DD36M/>
|
||||
</asx:values>
|
||||
</asx:abap>
|
||||
</abapGit>
|
|
@ -1,20 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<abapGit version="v1.0.0" serializer="LCL_OBJECT_TTYP" serializer_version="v1.0.0">
|
||||
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
|
||||
<asx:values>
|
||||
<DD40V>
|
||||
<TYPENAME>ZEXCEL_T_WORKSHEET_ROWDIMENSIO</TYPENAME>
|
||||
<DDLANGUAGE>E</DDLANGUAGE>
|
||||
<ROWTYPE>ZEXCEL_S_WORKSHEET_ROWDIMENSIO</ROWTYPE>
|
||||
<ROWKIND>S</ROWKIND>
|
||||
<DATATYPE>STRU</DATATYPE>
|
||||
<ACCESSMODE>T</ACCESSMODE>
|
||||
<KEYDEF>D</KEYDEF>
|
||||
<KEYKIND>N</KEYKIND>
|
||||
<DDTEXT>Collection of row dimensions</DDTEXT>
|
||||
</DD40V>
|
||||
<DD42V/>
|
||||
<DD43V/>
|
||||
</asx:values>
|
||||
</asx:abap>
|
||||
</abapGit>
|
Loading…
Reference in New Issue
Block a user