Removed row dimension and introduced row object
This commit is contained in:
Ivan Femia 2017-05-19 23:52:29 +02:00
parent 18cfa99a18
commit 6c124bf61d
23 changed files with 463 additions and 800 deletions

View File

@ -23,7 +23,7 @@ DATA: lo_excel TYPE REF TO zcl_excel,
lo_style_credit TYPE REF TO zcl_excel_style, lo_style_credit TYPE REF TO zcl_excel_style,
lo_style_link TYPE REF TO zcl_excel_style, lo_style_link TYPE REF TO zcl_excel_style,
lo_column TYPE REF TO zcl_excel_column, 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. lo_hyperlink TYPE REF TO zcl_excel_hyperlink.
DATA: lv_style_color0_guid TYPE zexcel_cell_style, DATA: lv_style_color0_guid TYPE zexcel_cell_style,
@ -700,8 +700,8 @@ START-OF-SELECTION.
LOOP AT lt_mapper INTO ls_mapper. LOOP AT lt_mapper INTO ls_mapper.
lv_col_str = zcl_excel_common=>convert_column2alpha( lv_col ). lv_col_str = zcl_excel_common=>convert_column2alpha( lv_col ).
IF ls_mapper IS INITIAL. IF ls_mapper IS INITIAL.
lo_row_dimension = lo_worksheet->get_row_dimension( ip_row = lv_row ). lo_row = lo_worksheet->get_row( ip_row = lv_row ).
lo_row_dimension->set_row_height( ip_row_height = 8 ). lo_row->set_row_height( ip_row_height = 8 ).
lv_col = 1. lv_col = 1.
lv_row = lv_row + 1. lv_row = lv_row + 1.
CONTINUE. CONTINUE.
@ -723,10 +723,10 @@ START-OF-SELECTION.
ip_value = 'Created with abap2xlsx' ip_value = 'Created with abap2xlsx'
ip_style = lv_style_credit_guid ). 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' lo_worksheet->set_cell( ip_column = 'AP'
ip_row = 24 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_style = lv_style_link_guid
ip_hyperlink = lo_hyperlink ). ip_hyperlink = lo_hyperlink ).

View File

@ -356,7 +356,7 @@ METHOD bind_table.
ls_field_catalog TYPE zexcel_s_fieldcatalog, ls_field_catalog TYPE zexcel_s_fieldcatalog,
ls_fcat TYPE zexcel_s_converter_fcat, ls_fcat TYPE zexcel_s_converter_fcat,
lo_column TYPE REF TO zcl_excel_column, 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_int TYPE zexcel_cell_column,
lv_col_alpha TYPE zexcel_cell_column_alpha, lv_col_alpha TYPE zexcel_cell_column_alpha,
ls_settings TYPE zexcel_s_table_settings, ls_settings TYPE zexcel_s_table_settings,
@ -1174,7 +1174,7 @@ method LOOP_NORMAL.
l_cell_value TYPE zexcel_cell_value, l_cell_value TYPE zexcel_cell_value,
l_s_color TYPE abap_bool, l_s_color TYPE abap_bool,
lo_column TYPE REF TO zcl_excel_column, 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_formula TYPE zexcel_cell_formula,
l_style TYPE zexcel_cell_style, l_style TYPE zexcel_cell_style,
l_cells TYPE i, l_cells TYPE i,
@ -1293,7 +1293,7 @@ method LOOP_SUBTOTAL.
l_cell_value TYPE zexcel_cell_value, l_cell_value TYPE zexcel_cell_value,
l_s_color TYPE abap_bool, l_s_color TYPE abap_bool,
lo_column TYPE REF TO zcl_excel_column, 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_formula TYPE zexcel_cell_formula,
l_style TYPE zexcel_cell_style, l_style TYPE zexcel_cell_style,
l_subtotalled TYPE flag, l_subtotalled TYPE flag,
@ -1385,13 +1385,13 @@ method LOOP_SUBTOTAL.
ip_value = l_cell_value ip_value = l_cell_value
ip_abap_type = cl_abap_typedescr=>typekind_string ip_abap_type = cl_abap_typedescr=>typekind_string
ip_style = <fs_sfcat>-style_subtotal ). ip_style = <fs_sfcat>-style_subtotal ).
lo_row_dim = wo_worksheet->get_row_dimension( ip_row = l_row_int ). lo_row = wo_worksheet->get_row( ip_row = l_row_int ).
lo_row_dim->set_outline_level( ip_outline_level = <fs_sfcat>-sort_level ) . lo_row->set_outline_level( ip_outline_level = <fs_sfcat>-sort_level ) .
IF <fs_sfcat>-is_collapsed = abap_true. IF <fs_sfcat>-is_collapsed = abap_true.
IF <fs_sfcat>-sort_level > l_hidden. 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.
lo_row_dim->set_collapsed( ip_collapsed = <fs_sfcat>-is_collapsed ) . lo_row->set_collapsed( ip_collapsed = <fs_sfcat>-is_collapsed ) .
ENDIF. ENDIF.
* Now let's change the key * Now let's change the key
ADD 1 TO l_row_int. ADD 1 TO l_row_int.
@ -1429,21 +1429,21 @@ method LOOP_SUBTOTAL.
ip_style = <fs_sfcat>-style_subtotal ). ip_style = <fs_sfcat>-style_subtotal ).
l_sort_level = <fs_sfcat>-sort_level. l_sort_level = <fs_sfcat>-sort_level.
lo_row_dim = wo_worksheet->get_row_dimension( ip_row = l_row_int ). lo_row = wo_worksheet->get_row( ip_row = l_row_int ).
lo_row_dim->set_outline_level( ip_outline_level = l_sort_level ) . lo_row->set_outline_level( ip_outline_level = l_sort_level ) .
IF <fs_sfcat>-is_collapsed = abap_true. IF <fs_sfcat>-is_collapsed = abap_true.
IF <fs_sfcat>-sort_level > l_hidden. 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.
lo_row_dim->set_collapsed( ip_collapsed = <fs_sfcat>-is_collapsed ) . lo_row->set_collapsed( ip_collapsed = <fs_sfcat>-is_collapsed ) .
ENDIF. ENDIF.
ADD 1 TO l_row_int. ADD 1 TO l_row_int.
ENDIF. ENDIF.
ENDLOOP. ENDLOOP.
* Let's write the Grand total * Let's write the Grand total
l_sort_level = 0. l_sort_level = 0.
lo_row_dim = wo_worksheet->get_row_dimension( ip_row = l_row_int ). lo_row = wo_worksheet->get_row( ip_row = l_row_int ).
lo_row_dim->set_outline_level( ip_outline_level = l_sort_level ) . 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 * lo_row_dim->set_collapsed( ip_collapsed = <fs_sfcat>-is_collapsed ) . Not on grand total
l_text = create_text_subtotal( i_value = 'Grand'(002) l_text = create_text_subtotal( i_value = 'Grand'(002)
@ -1500,10 +1500,10 @@ method LOOP_SUBTOTAL.
ip_formula = l_formula ip_formula = l_formula
ip_style = <fs_sfcat>-style_subtotal ). ip_style = <fs_sfcat>-style_subtotal ).
IF <fs_sfcat>-is_collapsed = abap_true. IF <fs_sfcat>-is_collapsed = abap_true.
lo_row_dim = wo_worksheet->get_row_dimension( ip_row = l_row_int ). lo_row = wo_worksheet->get_row( ip_row = l_row_int ).
lo_row_dim->set_collapsed( ip_collapsed = <fs_sfcat>-is_collapsed ). lo_row->set_collapsed( ip_collapsed = <fs_sfcat>-is_collapsed ).
IF <fs_sfcat>-sort_level > l_hidden. 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.
ENDIF. ENDIF.
ADD 1 TO l_row_int. ADD 1 TO l_row_int.
@ -1519,11 +1519,11 @@ method LOOP_SUBTOTAL.
ENDIF. ENDIF.
ENDDO. ENDDO.
* Let's set the row dimension values * Let's set the row dimension values
lo_row_dim = wo_worksheet->get_row_dimension( ip_row = l_row_int ). lo_row = wo_worksheet->get_row( ip_row = l_row_int ).
lo_row_dim->set_outline_level( ip_outline_level = ws_layout-max_subtotal_level ) . lo_row->set_outline_level( ip_outline_level = ws_layout-max_subtotal_level ) .
IF <fs_sfcat>-is_collapsed = abap_true. IF <fs_sfcat>-is_collapsed = abap_true.
lo_row_dim->set_visible( ip_visible = abap_false ) . lo_row->set_visible( ip_visible = abap_false ) .
lo_row_dim->set_collapsed( ip_collapsed = <fs_sfcat>-is_collapsed ) . lo_row->set_collapsed( ip_collapsed = <fs_sfcat>-is_collapsed ) .
ENDIF. ENDIF.
* Now let's write the cell values * Now let's write the cell values
IF ws_layout-is_stripped = abap_true AND l_s_color = abap_true. 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_formula = l_formula
ip_style = <fs_sfcat>-style_subtotal ). ip_style = <fs_sfcat>-style_subtotal ).
IF <fs_sfcat>-is_collapsed = abap_true. IF <fs_sfcat>-is_collapsed = abap_true.
lo_row_dim = wo_worksheet->get_row_dimension( ip_row = l_row_int ). lo_row = wo_worksheet->get_row( ip_row = l_row_int ).
lo_row_dim->set_collapsed( ip_collapsed = <fs_sfcat>-is_collapsed ). lo_row->set_collapsed( ip_collapsed = <fs_sfcat>-is_collapsed ).
ENDIF. ENDIF.
ADD 1 TO l_row_int. ADD 1 TO l_row_int.
ELSE. ELSE.

View File

@ -304,9 +304,7 @@ METHOD fill_row_outlines.
END OF lts_row_data, END OF lts_row_data,
ltt_row_data TYPE SORTED TABLE OF lts_row_data WITH UNIQUE KEY row. ltt_row_data TYPE SORTED TABLE OF lts_row_data WITH UNIQUE KEY row.
DATA: lt_row_dimensions TYPE zexcel_t_worksheet_rowdimensio, DATA: lt_row_data TYPE ltt_row_data,
lt_row_data TYPE ltt_row_data,
ls_row_data LIKE LINE OF lt_row_data, ls_row_data LIKE LINE OF lt_row_data,
lt_collapse_rows TYPE HASHED TABLE OF i WITH UNIQUE KEY table_line, 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, lv_next_consecutive_row TYPE i,
lt_outline_rows TYPE zcl_excel_worksheet=>mty_ts_outlines_row, lt_outline_rows TYPE zcl_excel_worksheet=>mty_ts_outlines_row,
ls_outline_row LIKE LINE OF lt_outline_rows, 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_offset TYPE i,
lv_row_collapse_flag TYPE i. lv_row_collapse_flag TYPE i.
FIELD-SYMBOLS: <ls_row_dimension> LIKE LINE OF lt_row_dimensions, FIELD-SYMBOLS: <ls_row_data> LIKE LINE OF lt_row_data.
<ls_row_data> LIKE LINE OF lt_row_data.
* First collect information about outlines ( outline leven and collapsed state ) * First collect information about outlines ( outline leven and collapsed state )
lt_row_dimensions = io_worksheet->get_row_dimensions( ). lo_row_iterator = io_worksheet->get_rows_iterator( ).
LOOP AT lt_row_dimensions ASSIGNING <ls_row_dimension>. WHILE lo_row_iterator->has_next( ) = abap_true.
lo_row ?= lo_row_iterator->get_next( ).
ls_row_data-row = <ls_row_dimension>-row. ls_row_data-row = lo_row->get_row_index( ).
ls_row_data-outline_level = <ls_row_dimension>-row_dimension->get_outline_level( ). ls_row_data-outline_level = lo_row->get_outline_level( ).
IF ls_row_data-outline_level IS NOT INITIAL. IF ls_row_data-outline_level IS NOT INITIAL.
INSERT ls_row_data INTO TABLE lt_row_data. INSERT ls_row_data INTO TABLE lt_row_data.
ENDIF. ENDIF.
lv_collapsed = <ls_row_dimension>-row_dimension->get_collapsed( ). lv_collapsed = lo_row->get_collapsed( ).
IF lv_collapsed = abap_true. 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. ENDIF.
ENDWHILE.
ENDLOOP.
* Now parse this information - we need consecutive rows - any gap will create a new outline * Now parse this information - we need consecutive rows - any gap will create a new outline
DO 7 TIMES. " max number of outlines allowed DO 7 TIMES. " max number of outlines allowed
@ -387,12 +384,14 @@ METHOD fill_row_outlines.
ENDLOOP. ENDLOOP.
* Finally purge outline information ( collapsed state, outline leve) from row_dimensions, since we want to keep these in the outline-table * 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 ). lo_row->set_outline_level( 0 ).
<ls_row_dimension>-row_dimension->set_collapsed( abap_false ). lo_row->set_collapsed( abap_false ).
ENDLOOP. ENDWHILE.
ENDMETHOD. ENDMETHOD.
@ -2268,7 +2267,7 @@ METHOD load_worksheet.
* lv_min_col TYPE i, "for use with SPANS element " not in use currently * 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_max_col_s TYPE char10, "for use with SPANS element
lv_min_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 ------------------------------------------------------------------- *--- End of current code aligning -------------------------------------------------------------------
lv_path TYPE string, 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
OR ls_row-hidden = lc_xml_attr_true_int OR ls_row-hidden = lc_xml_attr_true_int
OR ls_row-outlinelevel > '0'. 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'. IF ls_row-customheight = '1'.
lo_row_dimension->set_row_height( ls_row-ht ). lo_row->set_row_height( ls_row-ht ).
ENDIF. ENDIF.
IF ls_row-collapsed = lc_xml_attr_true IF ls_row-collapsed = lc_xml_attr_true
OR ls_row-collapsed = lc_xml_attr_true_int. OR ls_row-collapsed = lc_xml_attr_true_int.
lo_row_dimension->set_collapsed( abap_true ). lo_row->set_collapsed( abap_true ).
ENDIF. ENDIF.
IF ls_row-hidden = lc_xml_attr_true IF ls_row-hidden = lc_xml_attr_true
OR ls_row-hidden = lc_xml_attr_true_int. OR ls_row-hidden = lc_xml_attr_true_int.
lo_row_dimension->set_visible( abap_false ). lo_row->set_visible( abap_false ).
ENDIF. ENDIF.
IF ls_row-outlinelevel > ''. IF ls_row-outlinelevel > ''.
@ -2412,7 +2411,7 @@ METHOD load_worksheet.
CONDENSE ls_row-outlinelevel. CONDENSE ls_row-outlinelevel.
lv_outline_level = ls_row-outlinelevel. lv_outline_level = ls_row-outlinelevel.
IF lv_outline_level > 0. 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. 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 ). fill_struct_from_attributes( EXPORTING ip_element = lo_ixml_sheetformatpr_elem CHANGING cp_structure = ls_sheetformatpr ).
IF ls_sheetformatpr-customheight = '1'. IF ls_sheetformatpr-customheight = '1'.
lv_height = ls_sheetformatpr-defaultrowheight. lv_height = ls_sheetformatpr-defaultrowheight.
lo_row_dimension = io_worksheet->get_default_row_dimension( ). lo_row = io_worksheet->get_default_row( ).
lo_row_dimension->set_row_height( lv_height ). lo_row->set_row_height( lv_height ).
ENDIF. ENDIF.
" TODO... column " TODO... column

View File

@ -1,9 +1,9 @@
class ZCL_EXCEL_WORKSHEET_ROWDIMENSI definition class ZCL_EXCEL_ROW definition
public public
final final
create public . create public .
*"* public components of class ZCL_EXCEL_WORKSHEET_ROWDIMENSI *"* public components of class ZCL_EXCEL_ROW
*"* do not include other source files here!!! *"* do not include other source files here!!!
public section. public section.
type-pools ABAP . type-pools ABAP .
@ -57,10 +57,10 @@ public section.
methods SET_XF_INDEX methods SET_XF_INDEX
importing importing
!IP_XF_INDEX type INT4 . !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!!! *"* do not include other source files here!!!
protected section. protected section.
*"* private components of class ZCL_EXCEL_WORKSHEET_ROWDIMENSI *"* private components of class ZCL_EXCEL_ROW
*"* do not include other source files here!!! *"* do not include other source files here!!!
private section. private section.
@ -74,7 +74,7 @@ ENDCLASS.
CLASS ZCL_EXCEL_WORKSHEET_ROWDIMENSI IMPLEMENTATION. CLASS ZCL_EXCEL_ROW IMPLEMENTATION.
method CONSTRUCTOR. method CONSTRUCTOR.
@ -90,7 +90,7 @@ method CONSTRUCTOR.
endmethod. endmethod.
METHOD get_collapsed. METHOD GET_COLLAPSED.
DATA: lt_row_outlines TYPE zcl_excel_worksheet=>mty_ts_outlines_row, DATA: lt_row_outlines TYPE zcl_excel_worksheet=>mty_ts_outlines_row,
lv_previous_row TYPE i, lv_previous_row TYPE i,
@ -121,7 +121,7 @@ METHOD get_collapsed.
ENDMETHOD. ENDMETHOD.
METHOD get_outline_level. METHOD GET_OUTLINE_LEVEL.
DATA: lt_row_outlines TYPE zcl_excel_worksheet=>mty_ts_outlines_row. DATA: lt_row_outlines TYPE zcl_excel_worksheet=>mty_ts_outlines_row.
FIELD-SYMBOLS: <ls_row_outline> LIKE LINE OF lt_row_outlines. FIELD-SYMBOLS: <ls_row_outline> LIKE LINE OF lt_row_outlines.
@ -155,7 +155,7 @@ method GET_ROW_INDEX.
endmethod. endmethod.
METHOD get_visible. METHOD GET_VISIBLE.
DATA: lt_row_outlines TYPE zcl_excel_worksheet=>mty_ts_outlines_row. DATA: lt_row_outlines TYPE zcl_excel_worksheet=>mty_ts_outlines_row.
FIELD-SYMBOLS: <ls_row_outline> LIKE LINE OF lt_row_outlines. FIELD-SYMBOLS: <ls_row_outline> LIKE LINE OF lt_row_outlines.

View File

@ -3,7 +3,7 @@
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0"> <asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
<asx:values> <asx:values>
<VSEOCLASS> <VSEOCLASS>
<CLSNAME>ZCL_EXCEL_WORKSHEET_ROWDIMENSI</CLSNAME> <CLSNAME>ZCL_EXCEL_ROW</CLSNAME>
<VERSION>1</VERSION> <VERSION>1</VERSION>
<LANGU>E</LANGU> <LANGU>E</LANGU>
<DESCRIPT>Worksheet RowDimension</DESCRIPT> <DESCRIPT>Worksheet RowDimension</DESCRIPT>
@ -17,107 +17,71 @@
<TPOOL/> <TPOOL/>
<DESCRIPTIONS> <DESCRIPTIONS>
<SEOCOMPOTX> <SEOCOMPOTX>
<CLSNAME>ZCL_EXCEL_WORKSHEET_ROWDIMENSI</CLSNAME> <CLSNAME>ZCL_EXCEL_ROW</CLSNAME>
<CMPNAME>COLLAPSED</CMPNAME> <CMPNAME>COLLAPSED</CMPNAME>
<LANGU>E</LANGU> <LANGU>E</LANGU>
<DESCRIPT>Boolean Variable (X=True, -=False, Space=Unknown)</DESCRIPT> <DESCRIPT>Boolean Variable (X=True, -=False, Space=Unknown)</DESCRIPT>
</SEOCOMPOTX> </SEOCOMPOTX>
<SEOCOMPOTX> <SEOCOMPOTX>
<CLSNAME>ZCL_EXCEL_WORKSHEET_ROWDIMENSI</CLSNAME> <CLSNAME>ZCL_EXCEL_ROW</CLSNAME>
<CMPNAME>COLLAPSED</CMPNAME>
<LANGU>I</LANGU>
<DESCRIPT>Boolean Variable (X=True, -=False, Space=Unknown)</DESCRIPT>
</SEOCOMPOTX>
<SEOCOMPOTX>
<CLSNAME>ZCL_EXCEL_WORKSHEET_ROWDIMENSI</CLSNAME>
<CMPNAME>GET_COLLAPSED</CMPNAME> <CMPNAME>GET_COLLAPSED</CMPNAME>
<LANGU>E</LANGU> <LANGU>E</LANGU>
<DESCRIPT>new - please pass worksheet to make use of new outline info</DESCRIPT> <DESCRIPT>new - please pass worksheet to make use of new outline info</DESCRIPT>
</SEOCOMPOTX> </SEOCOMPOTX>
<SEOCOMPOTX> <SEOCOMPOTX>
<CLSNAME>ZCL_EXCEL_WORKSHEET_ROWDIMENSI</CLSNAME> <CLSNAME>ZCL_EXCEL_ROW</CLSNAME>
<CMPNAME>GET_OUTLINE_LEVEL</CMPNAME> <CMPNAME>GET_OUTLINE_LEVEL</CMPNAME>
<LANGU>E</LANGU> <LANGU>E</LANGU>
<DESCRIPT>new - please pass worksheet to make use of new outline info</DESCRIPT> <DESCRIPT>new - please pass worksheet to make use of new outline info</DESCRIPT>
</SEOCOMPOTX> </SEOCOMPOTX>
<SEOCOMPOTX> <SEOCOMPOTX>
<CLSNAME>ZCL_EXCEL_WORKSHEET_ROWDIMENSI</CLSNAME> <CLSNAME>ZCL_EXCEL_ROW</CLSNAME>
<CMPNAME>GET_VISIBLE</CMPNAME> <CMPNAME>GET_VISIBLE</CMPNAME>
<LANGU>E</LANGU> <LANGU>E</LANGU>
<DESCRIPT>new - please pass worksheet to make use of new outline info</DESCRIPT> <DESCRIPT>new - please pass worksheet to make use of new outline info</DESCRIPT>
</SEOCOMPOTX> </SEOCOMPOTX>
<SEOCOMPOTX> <SEOCOMPOTX>
<CLSNAME>ZCL_EXCEL_WORKSHEET_ROWDIMENSI</CLSNAME> <CLSNAME>ZCL_EXCEL_ROW</CLSNAME>
<CMPNAME>OUTLINE_LEVEL</CMPNAME> <CMPNAME>OUTLINE_LEVEL</CMPNAME>
<LANGU>E</LANGU> <LANGU>E</LANGU>
<DESCRIPT>Natural number</DESCRIPT> <DESCRIPT>Natural number</DESCRIPT>
</SEOCOMPOTX> </SEOCOMPOTX>
<SEOCOMPOTX> <SEOCOMPOTX>
<CLSNAME>ZCL_EXCEL_WORKSHEET_ROWDIMENSI</CLSNAME> <CLSNAME>ZCL_EXCEL_ROW</CLSNAME>
<CMPNAME>OUTLINE_LEVEL</CMPNAME>
<LANGU>I</LANGU>
<DESCRIPT>Natural number</DESCRIPT>
</SEOCOMPOTX>
<SEOCOMPOTX>
<CLSNAME>ZCL_EXCEL_WORKSHEET_ROWDIMENSI</CLSNAME>
<CMPNAME>ROW_HEIGHT</CMPNAME> <CMPNAME>ROW_HEIGHT</CMPNAME>
<LANGU>E</LANGU> <LANGU>E</LANGU>
<DESCRIPT>Field of type FLTP</DESCRIPT> <DESCRIPT>Field of type FLTP</DESCRIPT>
</SEOCOMPOTX> </SEOCOMPOTX>
<SEOCOMPOTX> <SEOCOMPOTX>
<CLSNAME>ZCL_EXCEL_WORKSHEET_ROWDIMENSI</CLSNAME> <CLSNAME>ZCL_EXCEL_ROW</CLSNAME>
<CMPNAME>ROW_HEIGHT</CMPNAME>
<LANGU>I</LANGU>
<DESCRIPT>Field of type FLTP</DESCRIPT>
</SEOCOMPOTX>
<SEOCOMPOTX>
<CLSNAME>ZCL_EXCEL_WORKSHEET_ROWDIMENSI</CLSNAME>
<CMPNAME>ROW_INDEX</CMPNAME> <CMPNAME>ROW_INDEX</CMPNAME>
<LANGU>E</LANGU> <LANGU>E</LANGU>
<DESCRIPT>Natural number</DESCRIPT> <DESCRIPT>Natural number</DESCRIPT>
</SEOCOMPOTX> </SEOCOMPOTX>
<SEOCOMPOTX> <SEOCOMPOTX>
<CLSNAME>ZCL_EXCEL_WORKSHEET_ROWDIMENSI</CLSNAME> <CLSNAME>ZCL_EXCEL_ROW</CLSNAME>
<CMPNAME>ROW_INDEX</CMPNAME>
<LANGU>I</LANGU>
<DESCRIPT>Natural number</DESCRIPT>
</SEOCOMPOTX>
<SEOCOMPOTX>
<CLSNAME>ZCL_EXCEL_WORKSHEET_ROWDIMENSI</CLSNAME>
<CMPNAME>SET_COLLAPSED</CMPNAME> <CMPNAME>SET_COLLAPSED</CMPNAME>
<LANGU>E</LANGU> <LANGU>E</LANGU>
<DESCRIPT>obsolete - please use worksheet-&gt;set_outline instead</DESCRIPT> <DESCRIPT>obsolete - please use worksheet-&gt;set_outline instead</DESCRIPT>
</SEOCOMPOTX> </SEOCOMPOTX>
<SEOCOMPOTX> <SEOCOMPOTX>
<CLSNAME>ZCL_EXCEL_WORKSHEET_ROWDIMENSI</CLSNAME> <CLSNAME>ZCL_EXCEL_ROW</CLSNAME>
<CMPNAME>SET_OUTLINE_LEVEL</CMPNAME> <CMPNAME>SET_OUTLINE_LEVEL</CMPNAME>
<LANGU>E</LANGU> <LANGU>E</LANGU>
<DESCRIPT>obsolete - please use worksheet-&gt;set_outline instead</DESCRIPT> <DESCRIPT>obsolete - please use worksheet-&gt;set_outline instead</DESCRIPT>
</SEOCOMPOTX> </SEOCOMPOTX>
<SEOCOMPOTX> <SEOCOMPOTX>
<CLSNAME>ZCL_EXCEL_WORKSHEET_ROWDIMENSI</CLSNAME> <CLSNAME>ZCL_EXCEL_ROW</CLSNAME>
<CMPNAME>VISIBLE</CMPNAME> <CMPNAME>VISIBLE</CMPNAME>
<LANGU>E</LANGU> <LANGU>E</LANGU>
<DESCRIPT>Boolean Variable (X=True, -=False, Space=Unknown)</DESCRIPT> <DESCRIPT>Boolean Variable (X=True, -=False, Space=Unknown)</DESCRIPT>
</SEOCOMPOTX> </SEOCOMPOTX>
<SEOCOMPOTX> <SEOCOMPOTX>
<CLSNAME>ZCL_EXCEL_WORKSHEET_ROWDIMENSI</CLSNAME> <CLSNAME>ZCL_EXCEL_ROW</CLSNAME>
<CMPNAME>VISIBLE</CMPNAME>
<LANGU>I</LANGU>
<DESCRIPT>Boolean Variable (X=True, -=False, Space=Unknown)</DESCRIPT>
</SEOCOMPOTX>
<SEOCOMPOTX>
<CLSNAME>ZCL_EXCEL_WORKSHEET_ROWDIMENSI</CLSNAME>
<CMPNAME>XF_INDEX</CMPNAME> <CMPNAME>XF_INDEX</CMPNAME>
<LANGU>E</LANGU> <LANGU>E</LANGU>
<DESCRIPT>Natural number</DESCRIPT> <DESCRIPT>Natural number</DESCRIPT>
</SEOCOMPOTX> </SEOCOMPOTX>
<SEOCOMPOTX>
<CLSNAME>ZCL_EXCEL_WORKSHEET_ROWDIMENSI</CLSNAME>
<CMPNAME>XF_INDEX</CMPNAME>
<LANGU>I</LANGU>
<DESCRIPT>Natural number</DESCRIPT>
</SEOCOMPOTX>
</DESCRIPTIONS> </DESCRIPTIONS>
</asx:values> </asx:values>
</asx:abap> </asx:abap>

View 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.

View 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>

View File

@ -25,17 +25,22 @@ public section.
constants C_BREAK_NONE type ZEXCEL_BREAK value 0. "#EC NOTEXT constants C_BREAK_NONE type ZEXCEL_BREAK value 0. "#EC NOTEXT
constants C_BREAK_ROW type ZEXCEL_BREAK value 1. "#EC NOTEXT constants C_BREAK_ROW type ZEXCEL_BREAK value 1. "#EC NOTEXT
data EXCEL type ref to ZCL_EXCEL read-only . 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_CONTENT type ZEXCEL_T_CELL_DATA .
data SHEET_SETUP type ref to ZCL_EXCEL_SHEET_SETUP . 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_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_ROWCOLHEADERS type ZEXCEL_SHOW_GRIDLINES read-only value ABAP_TRUE. "#EC NOTEXT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . " .
data STYLES type ZEXCEL_T_SHEET_STYLE . data STYLES type ZEXCEL_T_SHEET_STYLE .
data TABCOLOR type ZEXCEL_S_TABCOLOR read-only . data TABCOLOR type ZEXCEL_S_TABCOLOR read-only .
methods ADD_DRAWING methods ADD_DRAWING
importing importing
!IP_DRAWING type ref to ZCL_EXCEL_DRAWING . !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 methods ADD_NEW_COLUMN
importing importing
!IP_COLUMN type SIMPLE !IP_COLUMN type SIMPLE
@ -257,6 +262,9 @@ public section.
methods GET_COLUMNS methods GET_COLUMNS
returning returning
value(EO_COLUMNS) type ref to ZCL_EXCEL_COLUMNS . 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 methods GET_COLUMNS_ITERATOR
returning returning
value(EO_ITERATOR) type ref to CL_OBJECT_COLLECTION_ITERATOR . value(EO_ITERATOR) type ref to CL_OBJECT_COLLECTION_ITERATOR .
@ -278,9 +286,9 @@ public section.
methods GET_DEFAULT_EXCEL_TIME_FORMAT methods GET_DEFAULT_EXCEL_TIME_FORMAT
returning returning
value(EP_DEFAULT_EXCEL_TIME_FORMAT) type ZEXCEL_NUMBER_FORMAT . value(EP_DEFAULT_EXCEL_TIME_FORMAT) type ZEXCEL_NUMBER_FORMAT .
methods GET_DEFAULT_ROW_DIMENSION methods GET_DEFAULT_ROW
returning 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 methods GET_DIMENSION_RANGE
returning returning
value(EP_DIMENSION_RANGE) type STRING value(EP_DIMENSION_RANGE) type STRING
@ -332,14 +340,14 @@ public section.
methods GET_RANGES_ITERATOR methods GET_RANGES_ITERATOR
returning returning
value(EO_ITERATOR) type ref to CL_OBJECT_COLLECTION_ITERATOR . value(EO_ITERATOR) type ref to CL_OBJECT_COLLECTION_ITERATOR .
methods GET_ROW_DIMENSION methods GET_ROW
importing importing
!IP_ROW type INT4 !IP_ROW type INT4
returning returning
value(R_ROW_DIMENSION) type ref to ZCL_EXCEL_WORKSHEET_ROWDIMENSI . value(EO_ROW) type ref to ZCL_EXCEL_ROW .
methods GET_ROW_DIMENSIONS methods GET_ROWS
returning returning
value(R_ROW_DIMENSION) type ZEXCEL_T_WORKSHEET_ROWDIMENSIO . value(EO_ROWS) type ref to ZCL_EXCEL_ROWS .
methods GET_ROW_OUTLINES methods GET_ROW_OUTLINES
returning returning
value(RT_ROW_OUTLINES) type MTY_TS_OUTLINES_ROW . value(RT_ROW_OUTLINES) type MTY_TS_OUTLINES_ROW .
@ -479,8 +487,8 @@ private section.
mty_th_font_cache mty_th_font_cache
TYPE HASHED TABLE OF mty_s_font_cache TYPE HASHED TABLE OF mty_s_font_cache
WITH UNIQUE KEY font_name font_height flag_bold flag_italic . WITH UNIQUE KEY font_name font_height flag_bold flag_italic .
types: * types:
mty_ts_row_dimension TYPE SORTED TABLE OF zexcel_s_worksheet_rowdimensio WITH UNIQUE KEY row . * mty_ts_row_dimension TYPE SORTED TABLE OF zexcel_s_worksheet_rowdimensio WITH UNIQUE KEY row .
types: types:
BEGIN OF mty_merge, BEGIN OF mty_merge,
row_from TYPE i, row_from TYPE i,
@ -496,12 +504,12 @@ private section.
data ACTIVE_CELL type ZEXCEL_S_CELL_DATA . data ACTIVE_CELL type ZEXCEL_S_CELL_DATA .
data CHARTS type ref to ZCL_EXCEL_DRAWINGS . data CHARTS type ref to ZCL_EXCEL_DRAWINGS .
data COLUMNS type ref to ZCL_EXCEL_COLUMNS . 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 CONDITIONAL_STYLES type ref to ZCL_EXCEL_STYLES_CONDITIONAL .
data DATA_VALIDATIONS type ref to ZCL_EXCEL_DATA_VALIDATIONS . 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_DATE_FORMAT type ZEXCEL_NUMBER_FORMAT .
data DEFAULT_EXCEL_TIME_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 DRAWINGS type ref to ZCL_EXCEL_DRAWINGS .
data FREEZE_PANE_CELL_COLUMN type ZEXCEL_CELL_COLUMN . data FREEZE_PANE_CELL_COLUMN type ZEXCEL_CELL_COLUMN .
data FREEZE_PANE_CELL_ROW type ZEXCEL_CELL_ROW . 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_FROM type ZEXCEL_CELL_ROW .
data PRINT_TITLE_ROW_TO type ZEXCEL_CELL_ROW . data PRINT_TITLE_ROW_TO type ZEXCEL_CELL_ROW .
data RANGES type ref to ZCL_EXCEL_RANGES . 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 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 . data UPPER_CELL type ZEXCEL_S_CELL_DATA .
methods CALCULATE_CELL_WIDTH methods CALCULATE_CELL_WIDTH
@ -594,6 +602,14 @@ METHOD add_new_range.
ENDMETHOD. ENDMETHOD.
METHOD add_new_row.
CREATE OBJECT eo_row
EXPORTING
ip_index = ip_row.
rows->add( eo_row ).
ENDMETHOD.
method BIND_ALV. method BIND_ALV.
data: lo_converter type ref to zcl_excel_converter. data: lo_converter type ref to zcl_excel_converter.
@ -3650,6 +3666,7 @@ METHOD constructor.
CREATE OBJECT data_validations. CREATE OBJECT data_validations.
CREATE OBJECT tables. CREATE OBJECT tables.
CREATE OBJECT columns. CREATE OBJECT columns.
CREATE OBJECT rows.
CREATE OBJECT ranges. " issue #163 CREATE OBJECT ranges. " issue #163
CREATE OBJECT mo_pagebreaks. CREATE OBJECT mo_pagebreaks.
CREATE OBJECT drawings CREATE OBJECT drawings
@ -3949,13 +3966,13 @@ method GET_DEFAULT_EXCEL_TIME_FORMAT.
endmethod. endmethod.
method GET_DEFAULT_ROW_DIMENSION. METHOD get_default_row.
IF me->default_row_dimension IS NOT BOUND. IF me->row_default IS NOT BOUND.
CREATE OBJECT me->default_row_dimension. CREATE OBJECT me->row_default.
ENDIF. ENDIF.
r_row_dimension = me->default_row_dimension. eo_row = me->row_default.
endmethod. ENDMETHOD.
method GET_DIMENSION_RANGE. method GET_DIMENSION_RANGE.
@ -4089,32 +4106,35 @@ method GET_RANGES_ITERATOR.
endmethod. 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> IF eo_row IS NOT BOUND.
WITH TABLE KEY row = ip_row. eo_row = me->add_new_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.
ENDIF. ENDIF.
ENDMETHOD. 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. ENDMETHOD.
@ -4724,11 +4744,11 @@ method SET_PRINT_GRIDLINES.
endmethod. endmethod.
method SET_ROW_HEIGHT. METHOD set_row_height.
DATA: row_dimension TYPE REF TO zcl_excel_worksheet_rowdimensi. DATA: lo_row TYPE REF TO zcl_excel_row.
DATA: height TYPE float. 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 * if a fix size is supplied use this
TRY. TRY.
@ -4738,7 +4758,7 @@ method SET_ROW_HEIGHT.
EXPORTING EXPORTING
error = 'Please supply a positive number as row-height'. error = 'Please supply a positive number as row-height'.
ENDIF. ENDIF.
row_dimension->set_row_height( height ). lo_row->set_row_height( height ).
EXIT. EXIT.
CATCH cx_sy_conversion_no_number. CATCH cx_sy_conversion_no_number.
* Strange stuff passed --> raise error * Strange stuff passed --> raise error
@ -4747,9 +4767,7 @@ method SET_ROW_HEIGHT.
error = 'Unable to interpret supplied input as number'. error = 'Unable to interpret supplied input as number'.
ENDTRY. ENDTRY.
ENDMETHOD.
endmethod.
METHOD set_row_outline. METHOD set_row_outline.

View File

@ -130,6 +130,12 @@
<LANGU>I</LANGU> <LANGU>I</LANGU>
<DESCRIPT>Create a new local range</DESCRIPT> <DESCRIPT>Create a new local range</DESCRIPT>
</SEOCOMPOTX> </SEOCOMPOTX>
<SEOCOMPOTX>
<CLSNAME>ZCL_EXCEL_WORKSHEET</CLSNAME>
<CMPNAME>ADD_NEW_ROW</CMPNAME>
<LANGU>E</LANGU>
<DESCRIPT>Create a new row</DESCRIPT>
</SEOCOMPOTX>
<SEOCOMPOTX> <SEOCOMPOTX>
<CLSNAME>ZCL_EXCEL_WORKSHEET</CLSNAME> <CLSNAME>ZCL_EXCEL_WORKSHEET</CLSNAME>
<CMPNAME>BIND_ALV</CMPNAME> <CMPNAME>BIND_ALV</CMPNAME>
@ -322,18 +328,6 @@
<LANGU>I</LANGU> <LANGU>I</LANGU>
<DESCRIPT>Date format used in case style is not provide for D fields</DESCRIPT> <DESCRIPT>Date format used in case style is not provide for D fields</DESCRIPT>
</SEOCOMPOTX> </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> <SEOCOMPOTX>
<CLSNAME>ZCL_EXCEL_WORKSHEET</CLSNAME> <CLSNAME>ZCL_EXCEL_WORKSHEET</CLSNAME>
<CMPNAME>DELETE_MERGE</CMPNAME> <CMPNAME>DELETE_MERGE</CMPNAME>
@ -522,15 +516,9 @@
</SEOCOMPOTX> </SEOCOMPOTX>
<SEOCOMPOTX> <SEOCOMPOTX>
<CLSNAME>ZCL_EXCEL_WORKSHEET</CLSNAME> <CLSNAME>ZCL_EXCEL_WORKSHEET</CLSNAME>
<CMPNAME>GET_DEFAULT_ROW_DIMENSION</CMPNAME> <CMPNAME>GET_DEFAULT_ROW</CMPNAME>
<LANGU>E</LANGU> <LANGU>E</LANGU>
<DESCRIPT>Get column at a specific column</DESCRIPT> <DESCRIPT>Get row at a specific row</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>
</SEOCOMPOTX> </SEOCOMPOTX>
<SEOCOMPOTX> <SEOCOMPOTX>
<CLSNAME>ZCL_EXCEL_WORKSHEET</CLSNAME> <CLSNAME>ZCL_EXCEL_WORKSHEET</CLSNAME>
@ -648,27 +636,21 @@
</SEOCOMPOTX> </SEOCOMPOTX>
<SEOCOMPOTX> <SEOCOMPOTX>
<CLSNAME>ZCL_EXCEL_WORKSHEET</CLSNAME> <CLSNAME>ZCL_EXCEL_WORKSHEET</CLSNAME>
<CMPNAME>GET_ROW_DIMENSION</CMPNAME> <CMPNAME>GET_ROW</CMPNAME>
<LANGU>E</LANGU> <LANGU>E</LANGU>
<DESCRIPT>Get row dimension at a specific row</DESCRIPT> <DESCRIPT>Get row at a specific row</DESCRIPT>
</SEOCOMPOTX> </SEOCOMPOTX>
<SEOCOMPOTX> <SEOCOMPOTX>
<CLSNAME>ZCL_EXCEL_WORKSHEET</CLSNAME> <CLSNAME>ZCL_EXCEL_WORKSHEET</CLSNAME>
<CMPNAME>GET_ROW_DIMENSION</CMPNAME> <CMPNAME>GET_ROWS</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>
<LANGU>E</LANGU> <LANGU>E</LANGU>
<DESCRIPT>Get row dimensions</DESCRIPT> <DESCRIPT>Get rows</DESCRIPT>
</SEOCOMPOTX> </SEOCOMPOTX>
<SEOCOMPOTX> <SEOCOMPOTX>
<CLSNAME>ZCL_EXCEL_WORKSHEET</CLSNAME> <CLSNAME>ZCL_EXCEL_WORKSHEET</CLSNAME>
<CMPNAME>GET_ROW_DIMENSIONS</CMPNAME> <CMPNAME>GET_ROWS_ITERATOR</CMPNAME>
<LANGU>I</LANGU> <LANGU>E</LANGU>
<DESCRIPT>Get column dimensions</DESCRIPT> <DESCRIPT>Get rows iterator</DESCRIPT>
</SEOCOMPOTX> </SEOCOMPOTX>
<SEOCOMPOTX> <SEOCOMPOTX>
<CLSNAME>ZCL_EXCEL_WORKSHEET</CLSNAME> <CLSNAME>ZCL_EXCEL_WORKSHEET</CLSNAME>
@ -814,12 +796,6 @@
<LANGU>E</LANGU> <LANGU>E</LANGU>
<DESCRIPT>All row outlines ( sorted table )</DESCRIPT> <DESCRIPT>All row outlines ( sorted table )</DESCRIPT>
</SEOCOMPOTX> </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> <SEOCOMPOTX>
<CLSNAME>ZCL_EXCEL_WORKSHEET</CLSNAME> <CLSNAME>ZCL_EXCEL_WORKSHEET</CLSNAME>
<CMPNAME>MT_MERGED_CELLS</CMPNAME> <CMPNAME>MT_MERGED_CELLS</CMPNAME>
@ -918,15 +894,15 @@
</SEOCOMPOTX> </SEOCOMPOTX>
<SEOCOMPOTX> <SEOCOMPOTX>
<CLSNAME>ZCL_EXCEL_WORKSHEET</CLSNAME> <CLSNAME>ZCL_EXCEL_WORKSHEET</CLSNAME>
<CMPNAME>ROW_DIMENSIONS</CMPNAME> <CMPNAME>ROWS</CMPNAME>
<LANGU>E</LANGU> <LANGU>E</LANGU>
<DESCRIPT>Collection of row dimensions</DESCRIPT> <DESCRIPT>Ranges collection</DESCRIPT>
</SEOCOMPOTX> </SEOCOMPOTX>
<SEOCOMPOTX> <SEOCOMPOTX>
<CLSNAME>ZCL_EXCEL_WORKSHEET</CLSNAME> <CLSNAME>ZCL_EXCEL_WORKSHEET</CLSNAME>
<CMPNAME>ROW_DIMENSIONS</CMPNAME> <CMPNAME>ROW_DEFAULT</CMPNAME>
<LANGU>I</LANGU> <LANGU>E</LANGU>
<DESCRIPT>Collection of row dimensions</DESCRIPT> <DESCRIPT>Worksheet ColumnDimension</DESCRIPT>
</SEOCOMPOTX> </SEOCOMPOTX>
<SEOCOMPOTX> <SEOCOMPOTX>
<CLSNAME>ZCL_EXCEL_WORKSHEET</CLSNAME> <CLSNAME>ZCL_EXCEL_WORKSHEET</CLSNAME>

View File

@ -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.

View File

@ -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>

View File

@ -3092,10 +3092,8 @@ METHOD create_xl_sheet.
lo_style_conditional TYPE REF TO zcl_excel_style_conditional, lo_style_conditional TYPE REF TO zcl_excel_style_conditional,
lo_data_validation TYPE REF TO zcl_excel_data_validation, lo_data_validation TYPE REF TO zcl_excel_data_validation,
lo_table TYPE REF TO zcl_excel_table, 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, 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, DATA: lv_value TYPE string,
lt_range_merge TYPE string_table, lt_range_merge TYPE string_table,
@ -3124,7 +3122,8 @@ METHOD create_xl_sheet.
lv_freeze_cell_column_alpha TYPE zexcel_cell_column_alpha, lv_freeze_cell_column_alpha TYPE zexcel_cell_column_alpha,
lo_column_iterator TYPE REF TO cl_object_collection_iterator, lo_column_iterator TYPE REF TO cl_object_collection_iterator,
lo_column TYPE REF TO zcl_excel_column, 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, ls_style_cond_mapping TYPE zexcel_s_styles_cond_mapping,
lv_relation_id TYPE i VALUE 0, lv_relation_id TYPE i VALUE 0,
outline_level_row 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 LIKE LINE OF io_worksheet->sheet_content,
ls_sheet_content_empty LIKE LINE OF io_worksheet->sheet_content, ls_sheet_content_empty LIKE LINE OF io_worksheet->sheet_content,
lv_last_row TYPE i, lv_last_row TYPE i,
lts_row_dimensions TYPE zexcel_t_worksheet_rowdimensio,
lts_row_outlines TYPE zcl_excel_worksheet=>mty_ts_outlines_row, lts_row_outlines TYPE zcl_excel_worksheet=>mty_ts_outlines_row,
col_count TYPE int4, col_count TYPE int4,
merge_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, FIELD-SYMBOLS: <ls_sheet_content> TYPE zexcel_s_cell_data,
<fs_range_merge> LIKE LINE OF lt_range_merge, <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. <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_column_iterator = io_worksheet->get_columns_iterator( ).
lo_row_iterator = io_worksheet->get_rows_iterator( ).
" Calculate col " Calculate col
IF NOT lo_column_iterator IS BOUND. IF NOT lo_column_iterator IS BOUND.
io_worksheet->calculate_column_widths( ). io_worksheet->calculate_column_widths( ).
lo_column_iterator = io_worksheet->get_columns_iterator( ). lo_column_iterator = io_worksheet->get_columns_iterator( ).
ENDIF. ENDIF.
row_dimensions[] = io_worksheet->get_row_dimensions( ).
" sheetFormatPr node " sheetFormatPr node
lo_element = lo_document->create_simple_element( name = lc_xml_node_sheetformatpr lo_element = lo_document->create_simple_element( name = lc_xml_node_sheetformatpr
parent = lo_document ). parent = lo_document ).
" defaultRowHeight " defaultRowHeight
default_row_dimension = io_worksheet->get_default_row_dimension( ). lo_row_default = io_worksheet->get_default_row( ).
IF default_row_dimension IS BOUND. IF lo_row_default IS BOUND.
IF default_row_dimension->get_row_height( ) >= 0. IF lo_row_default->get_row_height( ) >= 0.
lo_element->set_attribute_ns( name = lc_xml_attr_customheight lo_element->set_attribute_ns( name = lc_xml_attr_customheight
value = lc_xml_attr_true ). value = lc_xml_attr_true ).
lv_value = default_row_dimension->get_row_height( ). lv_value = lo_row_default->get_row_height( ).
ELSE. ELSE.
lv_value = '12.75'. lv_value = '12.75'.
ENDIF. ENDIF.
@ -4785,9 +4783,10 @@ METHOD create_xl_sheet_sheet_data.
lv_next_row TYPE i, lv_next_row TYPE i,
lv_last_row TYPE i, lv_last_row TYPE i,
lts_row_dimensions TYPE zexcel_t_worksheet_rowdimensio, * lts_row_dimensions TYPE zexcel_t_worksheet_rowdimensio,
lo_row_dim_empty TYPE REF TO zcl_excel_worksheet_rowdimensi, lo_row_iterator TYPE REF TO cl_object_collection_iterator,
row_dimension TYPE REF TO zcl_excel_worksheet_rowdimensi, 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, lts_row_outlines TYPE zcl_excel_worksheet=>mty_ts_outlines_row,
ls_last_row TYPE zexcel_s_cell_data, 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. lv_style_guid TYPE zexcel_cell_style.
FIELD-SYMBOLS: <ls_sheet_content> TYPE zexcel_s_cell_data, 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. <ls_row_outline> LIKE LINE OF lts_row_outlines.
@ -4854,12 +4852,15 @@ METHOD create_xl_sheet_sheet_data.
*Last row with cell content *Last row with cell content
lv_last_row = io_worksheet->get_highest_row( ). lv_last_row = io_worksheet->get_highest_row( ).
*Last line with row-information set directly ( like line height, hidden-status ... ) *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. lo_row_iterator = io_worksheet->get_rows_iterator( ).
READ TABLE lts_row_dimensions INDEX 1 ASSIGNING <row_dimension>. WHILE lo_row_iterator->has_next( ) = abap_true.
IF sy-subrc = 0 AND <row_dimension>-row > lv_last_row. lo_row ?= lo_row_iterator->get_next( ).
lv_last_row = <row_dimension>-row. IF lo_row->get_row_index( ) > lv_last_row.
lv_last_row = lo_row->get_row_index( ).
ENDIF. ENDIF.
ENDWHILE.
*Last line with row-information set indirectly by row outline *Last line with row-information set indirectly by row outline
lts_row_outlines = io_worksheet->get_row_outlines( ). lts_row_outlines = io_worksheet->get_row_outlines( ).
LOOP AT lts_row_outlines ASSIGNING <ls_row_outline>. 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>. ASSIGN ls_sheet_content TO <ls_sheet_content>.
ELSE. ELSE.
*Check if empty row is really necessary - this is basically the case when we have information in row_dimension *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 ). lo_row_empty = io_worksheet->get_row( lv_current_row ).
CHECK lo_row_dim_empty->get_row_height( ) >= 0 OR CHECK lo_row_empty->get_row_height( ) >= 0 OR
lo_row_dim_empty->get_collapsed( io_worksheet ) = abap_true OR lo_row_empty->get_collapsed( io_worksheet ) = abap_true OR
lo_row_dim_empty->get_outline_level( io_worksheet ) > 0 OR lo_row_empty->get_outline_level( io_worksheet ) > 0 OR
lo_row_dim_empty->get_xf_index( ) <> 0. lo_row_empty->get_xf_index( ) <> 0.
" Dummyentry A1 " Dummyentry A1
ls_sheet_content_empty-cell_row = lv_current_row. ls_sheet_content_empty-cell_row = lv_current_row.
ls_sheet_content_empty-cell_column = 1. ls_sheet_content_empty-cell_column = 1.
@ -4930,7 +4931,7 @@ METHOD create_xl_sheet_sheet_data.
ENDIF. ENDIF.
IF ls_last_row-cell_row IS NOT INITIAL. IF ls_last_row-cell_row IS NOT INITIAL.
" Row visibility of previos row. " 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. l_autofilter_hidden = abap_true.
lo_element_2->set_attribute_ns( name = 'hidden' value = 'true'). lo_element_2->set_attribute_ns( name = 'hidden' value = 'true').
ENDIF. ENDIF.
@ -4956,33 +4957,33 @@ METHOD create_xl_sheet_sheet_data.
SHIFT lv_value LEFT DELETING LEADING space. SHIFT lv_value LEFT DELETING LEADING space.
lo_element_2->set_attribute_ns( name = lc_xml_attr_spans lo_element_2->set_attribute_ns( name = lc_xml_attr_spans
value = lv_value ). 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? " Do we need the row dimension attributes?
IF row_dimension->get_row_height( ) >= 0 OR IF lo_row->get_row_height( ) >= 0 OR
row_dimension->get_collapsed( io_worksheet ) = abap_true OR lo_row->get_collapsed( io_worksheet ) = abap_true OR
row_dimension->get_outline_level( io_worksheet ) > 0 OR lo_row->get_outline_level( io_worksheet ) > 0 OR
row_dimension->get_xf_index( ) <> 0 OR lo_row->get_xf_index( ) <> 0 OR
l_autofilter_hidden = abap_true. l_autofilter_hidden = abap_true.
" Row dimensions " 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'). 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 ). lo_element_2->set_attribute_ns( name = 'ht' value = lv_value ).
ENDIF. ENDIF.
" Collapsed " 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'). lo_element_2->set_attribute_ns( name = 'collapsed' value = 'true').
ENDIF. ENDIF.
" Outline level " Outline level
IF row_dimension->get_outline_level( io_worksheet ) > 0. IF lo_row->get_outline_level( io_worksheet ) > 0.
lv_value = row_dimension->get_outline_level( io_worksheet ). lv_value = lo_row->get_outline_level( io_worksheet ).
SHIFT lv_value RIGHT DELETING TRAILING space. SHIFT lv_value RIGHT DELETING TRAILING space.
SHIFT lv_value LEFT DELETING LEADING space. SHIFT lv_value LEFT DELETING LEADING space.
lo_element_2->set_attribute_ns( name = 'outlineLevel' value = lv_value ). lo_element_2->set_attribute_ns( name = 'outlineLevel' value = lv_value ).
ENDIF. ENDIF.
" Style " Style
IF row_dimension->get_xf_index( ) <> 0. IF lo_row->get_xf_index( ) <> 0.
lv_value = row_dimension->get_xf_index( ). 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 = 's' value = lv_value ).
lo_element_2->set_attribute_ns( name = 'customFormat' value = '1'). lo_element_2->set_attribute_ns( name = 'customFormat' value = '1').
ENDIF. ENDIF.
@ -5108,7 +5109,7 @@ METHOD create_xl_sheet_sheet_data.
CLEAR l_autofilter_hidden. CLEAR l_autofilter_hidden.
ENDIF. ENDIF.
" Row visibility of previos row. " 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. l_autofilter_hidden = abap_true.
lo_element_2->set_attribute_ns( name = 'hidden' value = 'true'). lo_element_2->set_attribute_ns( name = 'hidden' value = 'true').
ENDIF. ENDIF.

View File

@ -281,9 +281,8 @@ METHOD create_xl_sheet.
DATA: DATA:
lo_iterator TYPE REF TO cl_object_collection_iterator, lo_iterator TYPE REF TO cl_object_collection_iterator,
lo_table TYPE REF TO zcl_excel_table, 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, 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_value TYPE string,
lv_index TYPE i, lv_index TYPE i,
lv_spans TYPE string, lv_spans TYPE string,
@ -296,7 +295,8 @@ METHOD create_xl_sheet.
lv_freeze_cell_column_alpha TYPE zexcel_cell_column_alpha, lv_freeze_cell_column_alpha TYPE zexcel_cell_column_alpha,
lo_column_iterator TYPE REF TO cl_object_collection_iterator, lo_column_iterator TYPE REF TO cl_object_collection_iterator,
lo_column TYPE REF TO zcl_excel_column, 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, lv_relation_id TYPE i VALUE 0,
outline_level_row TYPE i VALUE 0, outline_level_row TYPE i VALUE 0,
outline_level_col TYPE i VALUE 0, outline_level_col TYPE i VALUE 0,
@ -428,18 +428,23 @@ METHOD create_xl_sheet.
* Row and column info * Row and column info
* *
lo_column_iterator = io_worksheet->get_columns_iterator( ). lo_column_iterator = io_worksheet->get_columns_iterator( ).
row_dimensions[] = io_worksheet->get_row_dimensions( ).
IF NOT lo_column_iterator IS BOUND. IF NOT lo_column_iterator IS BOUND.
io_worksheet->calculate_column_widths( ). io_worksheet->calculate_column_widths( ).
lo_column_iterator = io_worksheet->get_columns_iterator( ). lo_column_iterator = io_worksheet->get_columns_iterator( ).
ENDIF. ENDIF.
default_row_dimension = io_worksheet->get_default_row_dimension( ). lo_column_default = io_worksheet->get_default_column( ).
IF default_row_dimension IS BOUND. IF lo_column_default IS BOUND.
IF default_row_dimension->get_row_height( ) >= 0. 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. l_worksheet-customheight = lc_true.
lv_value = default_row_dimension->get_row_height( ). lv_value = lo_row_default->get_row_height( ).
ELSE. ELSE.
lv_value = '12.75'. lv_value = '12.75'.
ENDIF. ENDIF.
@ -449,21 +454,16 @@ METHOD create_xl_sheet.
CONDENSE lv_value. CONDENSE lv_value.
l_worksheet-defaultrowheight = lv_value. l_worksheet-defaultrowheight = lv_value.
lo_column_default = io_worksheet->get_default_column( ). lo_row_iterator = io_worksheet->get_rows_iterator( ).
IF lo_column_default IS BOUND. WHILE lo_row_iterator->has_next( ) = abap_true.
IF lo_column_default->get_width( ) >= 0. lo_row ?= lo_row_iterator->get_next( ).
l_worksheet-defaultcolwidth = lo_column_default->get_width( ). IF lo_row->get_outline_level( ) > outline_level_row.
l_worksheet-outlinelevelrow = lo_row->get_outline_level( ).
ENDIF. ENDIF.
ENDIF. ENDWHILE.
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.
* Set column information (width, style, ...) * 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. WHILE lo_column_iterator->has_next( ) = abap_true.
lo_column ?= lo_column_iterator->get_next( ). lo_column ?= lo_column_iterator->get_next( ).
IF lo_column->get_outline_level( ) > outline_level_col. 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( ) ). lv_column = zcl_excel_common=>convert_column2int( lo_column->get_column_index( ) ).
INSERT lv_column INTO TABLE lts_sorted_columns. INSERT lv_column INTO TABLE lts_sorted_columns.
ENDWHILE. ENDWHILE.
ENDIF. * ENDIF.
* *
* Now find all columns that were missing so far * Now find all columns that were missing so far
@ -577,32 +577,32 @@ METHOD create_xl_sheet.
* *
* Row dimension attributes * Row dimension attributes
* *
row_dimension = io_worksheet->get_row_dimension( <sheet_content>-cell_row ). lo_row = io_worksheet->get_row( <sheet_content>-cell_row ).
IF row_dimension->get_visible( ) = abap_false. IF lo_row->get_visible( ) = abap_false.
<row>-hidden = lc_true. <row>-hidden = lc_true.
ENDIF. ENDIF.
IF row_dimension->get_row_height( ) >= 0. IF lo_row->get_row_height( ) >= 0.
<row>-customheight = lc_one. <row>-customheight = lc_one.
<row>-height = row_dimension->get_row_height( ). <row>-height = lo_row->get_row_height( ).
ENDIF. ENDIF.
* *
* Collapsed * Collapsed
* *
IF row_dimension->get_collapsed( ) = abap_true. IF lo_row->get_collapsed( ) = abap_true.
<row>-collapsed = lc_true. <row>-collapsed = lc_true.
ENDIF. ENDIF.
* *
* Outline level * Outline level
* *
<row>-outlinelevel = row_dimension->get_outline_level( ). <row>-outlinelevel = lo_row->get_outline_level( ).
* *
* Style * Style
* *
<row>-style = row_dimension->get_xf_index( ). <row>-style = lo_row->get_xf_index( ).
IF <row>-style <> 0. IF <row>-style <> 0.
<row>-customformat = lc_one. <row>-customformat = lc_one.
ENDIF. ENDIF.

View File

@ -49,8 +49,8 @@ START-OF-SELECTION.
lo_excel_writer TYPE REF TO zif_excel_writer, lo_excel_writer TYPE REF TO zif_excel_writer,
lo_worksheet TYPE REF TO zcl_excel_worksheet, lo_worksheet TYPE REF TO zcl_excel_worksheet,
lo_column TYPE REF TO zcl_excel_column, 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,
hyperlink TYPE REF TO zcl_excel_hyperlink, lo_hyperlink TYPE REF TO zcl_excel_hyperlink,
lo_drawing TYPE REF TO zcl_excel_drawing. lo_drawing TYPE REF TO zcl_excel_drawing.
DATA: lo_style_month TYPE REF TO zcl_excel_style, DATA: lo_style_month TYPE REF TO zcl_excel_style,
@ -291,13 +291,13 @@ START-OF-SELECTION.
row = lv_from_row - 2. row = lv_from_row - 2.
ENDIF. ENDIF.
IF NOT <img_descr>-url IS INITIAL. 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( lo_worksheet->set_cell(
EXPORTING EXPORTING
ip_column = from_col " Cell Column ip_column = from_col " Cell Column
ip_row = row " Cell Row ip_row = row " Cell Row
ip_value = value " Cell Value ip_value = value " Cell Value
ip_hyperlink = hyperlink ip_hyperlink = lo_hyperlink
). ).
ELSE. ELSE.
lo_worksheet->set_cell( lo_worksheet->set_cell(
@ -307,8 +307,8 @@ START-OF-SELECTION.
ip_value = value " Cell Value ip_value = value " Cell Value
). ).
ENDIF. ENDIF.
lo_row_dim = lo_worksheet->get_row_dimension( row ). lo_row = lo_worksheet->get_row( row ).
lo_row_dim->set_row_height( '22.0' ). lo_row->set_row_height( '22.0' ).
" In Landscape mode the row between the description and the " In Landscape mode the row between the description and the
" dates should be not so high " dates should be not so high
@ -320,11 +320,11 @@ START-OF-SELECTION.
ip_row = row " Cell Row ip_row = row " Cell Row
ip_value = ' ' " Cell Value ip_value = ' ' " Cell Value
). ).
lo_row_dim = lo_worksheet->get_row_dimension( row ). lo_row = lo_worksheet->get_row( row ).
lo_row_dim->set_row_height( '7.0' ). lo_row->set_row_height( '7.0' ).
row = lv_from_row - 1. row = lv_from_row - 1.
lo_row_dim = lo_worksheet->get_row_dimension( row ). lo_row = lo_worksheet->get_row( row ).
lo_row_dim->set_row_height( '5.0' ). lo_row->set_row_height( '5.0' ).
ENDIF. ENDIF.
CONCATENATE p_path lv_file_separator <img_descr>-filename INTO image_path. CONCATENATE p_path lv_file_separator <img_descr>-filename INTO image_path.

View File

@ -217,7 +217,7 @@ CLASS zcl_helper IMPLEMENTATION.
from_col_int TYPE zexcel_cell_column, from_col_int TYPE zexcel_cell_column,
col TYPE zexcel_cell_column_alpha, col TYPE zexcel_cell_column_alpha,
lo_column TYPE REF TO zcl_excel_column, 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, DATA: lv_date TYPE datum,
value TYPE string, value TYPE string,
weekday TYPE wotnr, weekday TYPE wotnr,
@ -333,8 +333,8 @@ CLASS zcl_helper IMPLEMENTATION.
row_max = i_from_row + 6. row_max = i_from_row + 6.
WHILE row <= row_max. WHILE row <= row_max.
height = 50. height = 50.
lr_row_dim = c_worksheet->get_row_dimension( row ). lo_row = c_worksheet->get_row( row ).
lr_row_dim->set_row_height( height ). lo_row->set_row_height( height ).
row = row + 1. row = row + 1.
ENDWHILE. ENDWHILE.
ENDMETHOD. "add_calendar ENDMETHOD. "add_calendar
@ -342,8 +342,8 @@ CLASS zcl_helper IMPLEMENTATION.
DATA: value TYPE string, DATA: value TYPE string,
hyperlink TYPE REF TO zcl_excel_hyperlink. hyperlink TYPE REF TO zcl_excel_hyperlink.
value = 'Created with abap2xlsx. Find more information at http://abap2xlsx.org.'(002). value = 'Created with abap2xlsx. Find more information at http://www.plinky.it/abap/abap2xlsx.php.'(002).
hyperlink = zcl_excel_hyperlink=>create_external_link( 'http://abap2xlsx.org' ). "#EC NOTEXT hyperlink = zcl_excel_hyperlink=>create_external_link( 'http://www.plinky.it/abap/abap2xlsx.php' ). "#EC NOTEXT
c_worksheet->set_cell( c_worksheet->set_cell(
EXPORTING EXPORTING
ip_column = i_from_col " Cell Column ip_column = i_from_col " Cell Column
@ -365,7 +365,7 @@ CLASS zcl_helper IMPLEMENTATION.
col_int TYPE zexcel_cell_column, col_int TYPE zexcel_cell_column,
col TYPE zexcel_cell_column_alpha. col TYPE zexcel_cell_column_alpha.
DATA: lo_column TYPE REF TO zcl_excel_column, 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. FIELD-SYMBOLS: <day_name> LIKE LINE OF day_names.
@ -424,8 +424,8 @@ CLASS zcl_helper IMPLEMENTATION.
ip_row = row " Cell Row ip_row = row " Cell Row
ip_value = ' ' " Cell Value ip_value = ' ' " Cell Value
). ).
lo_row_dim = c_worksheet->get_row_dimension( row ). lo_row = c_worksheet->get_row( row ).
lo_row_dim->set_row_height( '5.0' ). lo_row->set_row_height( '5.0' ).
row = i_from_row + 3. row = i_from_row + 3.
zcl_helper=>add_a2x_footer( zcl_helper=>add_a2x_footer(
EXPORTING EXPORTING

View File

@ -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 = 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 = 'B' ip_row = 3 ip_value = sy-datum ).
lo_worksheet->set_cell( ip_column = 'C' ip_row = 3 ip_value = sy-uzeit ). 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_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' ). lo_column = lo_worksheet->get_column( ip_column = 'B' ).

View File

@ -192,7 +192,7 @@ START-OF-SELECTION.
lo_style_body TYPE REF TO zcl_excel_style, lo_style_body TYPE REF TO zcl_excel_style,
lo_border_dark TYPE REF TO zcl_excel_style_border, lo_border_dark TYPE REF TO zcl_excel_style_border,
lo_column TYPE REF TO zcl_excel_column, 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, DATA: lv_style_body_even_guid TYPE zexcel_cell_style,
lv_style_body_green 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 ). ip_style = lv_style_body_even_guid ).
ENDLOOP. ENDLOOP.
" Hide first row " Hide first row
row_dimension = lo_worksheet->get_row_dimension( 1 ). lo_row = lo_worksheet->get_row( 1 ).
row_dimension->set_visible( abap_false ). lo_row->set_visible( abap_false ).
DATA: highest_column TYPE zexcel_cell_column, DATA: highest_column TYPE zexcel_cell_column,
count TYPE int4, count TYPE int4,

View File

@ -11,7 +11,7 @@ REPORT zdemo_excel12.
DATA: lo_excel TYPE REF TO zcl_excel, DATA: lo_excel TYPE REF TO zcl_excel,
lo_worksheet TYPE REF TO zcl_excel_worksheet, lo_worksheet TYPE REF TO zcl_excel_worksheet,
lo_column TYPE REF TO zcl_excel_column, 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, DATA: lv_file TYPE xstring,
lv_bytecount TYPE i, lv_bytecount TYPE i,
@ -71,10 +71,10 @@ START-OF-SELECTION.
lo_column = lo_worksheet->get_column( ip_column = 'H' ). lo_column = lo_worksheet->get_column( ip_column = 'H' ).
lo_column->set_outline_level( ip_outline_level = 2 ). lo_column->set_outline_level( ip_outline_level = 2 ).
row_dimension = lo_worksheet->get_row_dimension( ip_row = 1 ). lo_row = lo_worksheet->get_row( ip_row = 1 ).
row_dimension->set_visible( ip_visible = abap_false ). lo_row->set_visible( ip_visible = abap_false ).
row_dimension = lo_worksheet->get_row_dimension( ip_row = 5 ). lo_row = lo_worksheet->get_row( ip_row = 5 ).
row_dimension->set_row_height( ip_row_height = 20 ). lo_row->set_row_height( ip_row_height = 20 ).
* Define an outline rows 10-16, collapsed on startup * Define an outline rows 10-16, collapsed on startup
lo_worksheet->set_row_outline( iv_row_from = 10 lo_worksheet->set_row_outline( iv_row_from = 10

View File

@ -37,7 +37,7 @@ DATA: lo_excel TYPE REF TO zcl_excel,
lv_style_shrink_guid TYPE zexcel_cell_style, lv_style_shrink_guid TYPE zexcel_cell_style,
lv_style_indent_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'. CONSTANTS: gc_save_file_name TYPE string VALUE '14_Alignment.xlsx'.
INCLUDE zdemo_excel_outputopt_incl. INCLUDE zdemo_excel_outputopt_incl.
@ -117,8 +117,8 @@ START-OF-SELECTION.
" Set row size for first 7 rows to 40 " Set row size for first 7 rows to 40
DO 7 TIMES. DO 7 TIMES.
lo_row_dimension = lo_worksheet->get_row_dimension( sy-index ). lo_row = lo_worksheet->get_row( sy-index ).
lo_row_dimension->set_row_height( 40 ). lo_row->set_row_height( 40 ).
ENDDO. ENDDO.
"Horizontal alignment "Horizontal alignment

View File

@ -47,7 +47,7 @@ DATA: lv_file TYPE xstring,
DATA: lv_full_path TYPE string, DATA: lv_full_path TYPE string,
lv_workdir TYPE string, lv_workdir TYPE string,
lv_file_separator TYPE c. 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'. CONSTANTS: gc_save_file_name TYPE string VALUE '02_Styles.xlsx'.
INCLUDE zdemo_excel_outputopt_incl. 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_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 = lo_worksheet->get_row( ip_row = 10 ).
lo_row_dim->set_row_height( ip_row_height = 30 ). 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_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 = lo_worksheet->get_row( ip_row = 11 ).
lo_row_dim->set_row_height( ip_row_height = 30 ). 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_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 = lo_worksheet->get_row( ip_row = 12 ).
lo_row_dim->set_row_height( ip_row_height = 30 ). 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_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 = lo_worksheet->get_row( ip_row = 13 ).
lo_row_dim->set_row_height( ip_row_height = 30 ). 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_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 = lo_worksheet->get_row( ip_row = 14 ).
lo_row_dim->set_row_height( ip_row_height = 30 ). 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_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 = lo_worksheet->get_row( ip_row = 15 ).
lo_row_dim->set_row_height( ip_row_height = 30 ). 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_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 = lo_worksheet->get_row( ip_row = 16 ).
lo_row_dim->set_row_height( ip_row_height = 30 ). 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_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 = lo_worksheet->get_row( ip_row = 17 ).
lo_row_dim->set_row_height( ip_row_height = 30 ). 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_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 = lo_worksheet->get_row( ip_row = 18 ).
lo_row_dim->set_row_height( ip_row_height = 30 ). 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_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 = lo_worksheet->get_row( ip_row = 19 ).
lo_row_dim->set_row_height( ip_row_height = 30 ). 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_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 = lo_worksheet->get_row( ip_row = 20 ).
lo_row_dim->set_row_height( ip_row_height = 30 ). 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_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 = lo_worksheet->get_row( ip_row = 21 ).
lo_row_dim->set_row_height( ip_row_height = 30 ). 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_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 = lo_worksheet->get_row( ip_row = 22 ).
lo_row_dim->set_row_height( ip_row_height = 30 ). 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_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 = lo_worksheet->get_row( ip_row = 23 ).
lo_row_dim->set_row_height( ip_row_height = 30 ). lo_row->set_row_height( ip_row_height = 30 ).

View File

@ -20,7 +20,7 @@ DATA: current_row TYPE i,
color TYPE zexcel_style_color_argb, color TYPE zexcel_style_color_argb,
lo_column TYPE REF TO zcl_excel_column, 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, writing1 TYPE string,
writing2 TYPE string. writing2 TYPE string.
@ -69,8 +69,8 @@ START-OF-SELECTION.
lo_column->set_width( width ). lo_column->set_width( width ).
* Set size of row * Set size of row
row_dimension = lo_worksheet->get_row_dimension( row ). lo_row = lo_worksheet->get_row( row ).
row_dimension->set_row_height( height ). lo_row->set_row_height( height ).
* Set writing on chessboard * Set writing on chessboard
lo_worksheet->set_cell( ip_row = row lo_worksheet->set_cell( ip_row = row

View File

@ -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>

View File

@ -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>