mirror of
https://github.com/abap2xlsx/abap2xlsx.git
synced 2025-05-05 16:46:11 +08:00
Update zcl_excel_reader_2007.clas.abap
This commit is contained in:
parent
be2b57a4fa
commit
33247032a8
|
@ -2126,58 +2126,56 @@ CLASS zcl_excel_reader_2007 IMPLEMENTATION.
|
||||||
* to support areas consisting of multiple rectangles
|
* to support areas consisting of multiple rectangles
|
||||||
* But for now just split the range into row and columnpart
|
* But for now just split the range into row and columnpart
|
||||||
*--------------------------------------------------------------------*
|
*--------------------------------------------------------------------*
|
||||||
IF lv_range_value IS NOT INITIAL.
|
CLEAR:lv_range_value_1,
|
||||||
* We don't need a range object here no more, because since the
|
lv_range_value_2.
|
||||||
* parameter i_allow_1dim_range is passed below anything works
|
IF lv_range_value IS INITIAL.
|
||||||
* fine within worksheet's method print_title_set_range, which
|
* Empty --> nothing to do
|
||||||
* now creates the range object and sets name and value correctly.
|
ELSE.
|
||||||
IF lv_range_value(1) = `'`. " Escaped
|
IF lv_range_value(1) = `'`. " Escaped
|
||||||
lv_regex = `^('[^']*')+![^,]*,`.
|
lv_regex = `^('[^']*')+![^,]*,`.
|
||||||
ELSE.
|
ELSE.
|
||||||
lv_regex = `^[^!]*![^,]*,`.
|
lv_regex = `^[^!]*![^,]*,`.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
* Split into two ranges if necessary
|
* Split into two ranges if necessary
|
||||||
FIND REGEX lv_regex IN lv_range_value MATCH LENGTH lv_position_temp.
|
FIND REGEX lv_regex IN lv_range_value MATCH LENGTH sy-fdpos.
|
||||||
IF sy-subrc = 0 AND lv_position_temp > 0.
|
IF sy-subrc = 0 AND sy-fdpos > 0.
|
||||||
lv_range_value_2 = lv_range_value+lv_position_temp.
|
lv_range_value_2 = lv_range_value+sy-fdpos.
|
||||||
SUBTRACT 1 FROM lv_position_temp.
|
SUBTRACT 1 FROM sy-fdpos.
|
||||||
lv_range_value_1 = lv_range_value(lv_position_temp).
|
lv_range_value_1 = lv_range_value(sy-fdpos).
|
||||||
ELSE.
|
ELSE.
|
||||||
lv_range_value_1 = lv_range_value.
|
lv_range_value_1 = lv_range_value.
|
||||||
CLEAR lv_range_value_2.
|
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
ENDIF.
|
||||||
* 1st range
|
* 1st range
|
||||||
zcl_excel_common=>convert_range2column_a_row( EXPORTING i_range = lv_range_value_1
|
zcl_excel_common=>convert_range2column_a_row( EXPORTING i_range = lv_range_value_1
|
||||||
i_allow_1dim_range = abap_true
|
i_allow_1dim_range = abap_true
|
||||||
IMPORTING e_column_start = lv_col_start_alpha
|
IMPORTING e_column_start = lv_col_start_alpha
|
||||||
e_column_end = lv_col_end_alpha
|
e_column_end = lv_col_end_alpha
|
||||||
e_row_start = lv_row_start
|
e_row_start = lv_row_start
|
||||||
e_row_end = lv_row_end ).
|
e_row_end = lv_row_end ).
|
||||||
IF lv_col_start_alpha IS NOT INITIAL.
|
IF lv_col_start_alpha IS NOT INITIAL.
|
||||||
lo_worksheet->zif_excel_sheet_printsettings~set_print_repeat_columns( iv_columns_from = lv_col_start_alpha
|
lo_worksheet->zif_excel_sheet_printsettings~set_print_repeat_columns( iv_columns_from = lv_col_start_alpha
|
||||||
iv_columns_to = lv_col_end_alpha ).
|
iv_columns_to = lv_col_end_alpha ).
|
||||||
ENDIF.
|
ENDIF.
|
||||||
IF lv_row_start IS NOT INITIAL.
|
IF lv_row_start IS NOT INITIAL.
|
||||||
lo_worksheet->zif_excel_sheet_printsettings~set_print_repeat_rows( iv_rows_from = lv_row_start
|
lo_worksheet->zif_excel_sheet_printsettings~set_print_repeat_rows( iv_rows_from = lv_row_start
|
||||||
iv_rows_to = lv_row_end ).
|
iv_rows_to = lv_row_end ).
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
* 2nd range
|
* 2nd range
|
||||||
zcl_excel_common=>convert_range2column_a_row( EXPORTING i_range = lv_range_value_2
|
zcl_excel_common=>convert_range2column_a_row( EXPORTING i_range = lv_range_value_2
|
||||||
i_allow_1dim_range = abap_true
|
i_allow_1dim_range = abap_true
|
||||||
IMPORTING e_column_start = lv_col_start_alpha
|
IMPORTING e_column_start = lv_col_start_alpha
|
||||||
e_column_end = lv_col_end_alpha
|
e_column_end = lv_col_end_alpha
|
||||||
e_row_start = lv_row_start
|
e_row_start = lv_row_start
|
||||||
e_row_end = lv_row_end ).
|
e_row_end = lv_row_end ).
|
||||||
IF lv_col_start_alpha IS NOT INITIAL.
|
IF lv_col_start_alpha IS NOT INITIAL.
|
||||||
lo_worksheet->zif_excel_sheet_printsettings~set_print_repeat_columns( iv_columns_from = lv_col_start_alpha
|
lo_worksheet->zif_excel_sheet_printsettings~set_print_repeat_columns( iv_columns_from = lv_col_start_alpha
|
||||||
iv_columns_to = lv_col_end_alpha ).
|
iv_columns_to = lv_col_end_alpha ).
|
||||||
ENDIF.
|
ENDIF.
|
||||||
IF lv_row_start IS NOT INITIAL.
|
IF lv_row_start IS NOT INITIAL.
|
||||||
lo_worksheet->zif_excel_sheet_printsettings~set_print_repeat_rows( iv_rows_from = lv_row_start
|
lo_worksheet->zif_excel_sheet_printsettings~set_print_repeat_rows( iv_rows_from = lv_row_start
|
||||||
iv_rows_to = lv_row_end ).
|
iv_rows_to = lv_row_end ).
|
||||||
ENDIF.
|
|
||||||
ELSE.
|
|
||||||
lo_range = lo_worksheet->add_new_range( ).
|
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
WHEN OTHERS.
|
WHEN OTHERS.
|
||||||
|
|
Loading…
Reference in New Issue
Block a user