mirror of
https://github.com/abap2xlsx/abap2xlsx.git
synced 2025-05-04 17:56:10 +08:00
* fix print titles range read and write * remove empty line in method definition
This commit is contained in:
parent
5da41aaab2
commit
6d12c57f27
|
@ -46,15 +46,22 @@ CLASS zcl_excel_common DEFINITION
|
|||
!e_row TYPE zexcel_cell_row .
|
||||
CLASS-METHODS convert_range2column_a_row
|
||||
IMPORTING
|
||||
!i_range TYPE clike
|
||||
!i_range TYPE clike
|
||||
!i_allow_1dim_range TYPE abap_bool DEFAULT abap_false
|
||||
EXPORTING
|
||||
!e_column_start TYPE zexcel_cell_column_alpha
|
||||
!e_column_end TYPE zexcel_cell_column_alpha
|
||||
!e_row_start TYPE zexcel_cell_row
|
||||
!e_row_end TYPE zexcel_cell_row
|
||||
!e_sheet TYPE clike
|
||||
!e_column_start TYPE zexcel_cell_column_alpha
|
||||
!e_column_end TYPE zexcel_cell_column_alpha
|
||||
!e_row_start TYPE zexcel_cell_row
|
||||
!e_row_end TYPE zexcel_cell_row
|
||||
!e_sheet TYPE clike
|
||||
RAISING
|
||||
zcx_excel .
|
||||
CLASS-METHODS convert_columnrow2column_o_row
|
||||
IMPORTING
|
||||
!i_columnrow TYPE clike
|
||||
EXPORTING
|
||||
!e_column TYPE zexcel_cell_column_alpha
|
||||
!e_row TYPE zexcel_cell_row .
|
||||
CLASS-METHODS date_to_excel_string
|
||||
IMPORTING
|
||||
!ip_value TYPE d
|
||||
|
@ -570,21 +577,43 @@ CLASS ZCL_EXCEL_COMMON IMPLEMENTATION.
|
|||
REPLACE ALL OCCURRENCES OF '$' IN lv_range WITH ''.
|
||||
SPLIT lv_range AT ':' INTO lv_columnrow_start lv_columnrow_end.
|
||||
|
||||
convert_columnrow2column_a_row( EXPORTING
|
||||
i_columnrow = lv_columnrow_start
|
||||
IMPORTING
|
||||
e_column = e_column_start
|
||||
e_row = e_row_start ).
|
||||
convert_columnrow2column_a_row( EXPORTING
|
||||
i_columnrow = lv_columnrow_end
|
||||
IMPORTING
|
||||
e_column = e_column_end
|
||||
e_row = e_row_end ).
|
||||
IF i_allow_1dim_range = abap_true.
|
||||
convert_columnrow2column_o_row( EXPORTING i_columnrow = lv_columnrow_start
|
||||
IMPORTING e_column = e_column_start
|
||||
e_row = e_row_start ).
|
||||
convert_columnrow2column_o_row( EXPORTING i_columnrow = lv_columnrow_end
|
||||
IMPORTING e_column = e_column_end
|
||||
e_row = e_row_end ).
|
||||
ELSE.
|
||||
convert_columnrow2column_a_row( EXPORTING i_columnrow = lv_columnrow_start
|
||||
IMPORTING e_column = e_column_start
|
||||
e_row = e_row_start ).
|
||||
convert_columnrow2column_a_row( EXPORTING i_columnrow = lv_columnrow_end
|
||||
IMPORTING e_column = e_column_end
|
||||
e_row = e_row_end ).
|
||||
ENDIF.
|
||||
|
||||
e_sheet = unescape_string( lv_sheet ). " Return in unescaped form
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD convert_columnrow2column_o_row.
|
||||
|
||||
DATA: row TYPE string.
|
||||
DATA: columnrow TYPE string.
|
||||
|
||||
CLEAR e_column.
|
||||
|
||||
columnrow = i_columnrow.
|
||||
|
||||
FIND REGEX '^(\D*)(\d*)$' IN columnrow SUBMATCHES e_column
|
||||
row.
|
||||
|
||||
e_row = row.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD date_to_excel_string.
|
||||
DATA: lv_date_diff TYPE i.
|
||||
|
||||
|
|
|
@ -842,6 +842,100 @@ CLASS lcl_excel_common_test IMPLEMENTATION.
|
|||
exp = ''
|
||||
msg = 'Conversion of range failed'
|
||||
level = if_aunit_constants=>critical ).
|
||||
|
||||
**********************************************************************
|
||||
* 1 Dimensional Ranges - Ros or Cols Only (eg Print Tiles)
|
||||
*
|
||||
lv_range = `$2:$7`.
|
||||
zcl_excel_common=>convert_range2column_a_row( EXPORTING i_range = lv_range
|
||||
i_allow_1dim_range = abap_false
|
||||
IMPORTING e_column_start = lv_column_start
|
||||
e_column_end = lv_column_end
|
||||
e_row_start = lv_row_start
|
||||
e_row_end = lv_row_end
|
||||
e_sheet = lv_sheet ).
|
||||
|
||||
cl_abap_unit_assert=>assert_equals( act = lv_column_start
|
||||
exp = ''
|
||||
msg = 'Conversion of range failed'
|
||||
level = if_aunit_constants=>critical ).
|
||||
cl_abap_unit_assert=>assert_equals( act = lv_column_end
|
||||
exp = ''
|
||||
msg = 'Conversion of range failed'
|
||||
level = if_aunit_constants=>critical ).
|
||||
cl_abap_unit_assert=>assert_equals( act = lv_row_start
|
||||
exp = ''
|
||||
msg = 'Conversion of range failed'
|
||||
level = if_aunit_constants=>critical ).
|
||||
cl_abap_unit_assert=>assert_equals( act = lv_row_end
|
||||
exp = ''
|
||||
msg = 'Conversion of range failed'
|
||||
level = if_aunit_constants=>critical ).
|
||||
cl_abap_unit_assert=>assert_equals( act = lv_sheet
|
||||
exp = ''
|
||||
msg = 'Conversion of range failed'
|
||||
level = if_aunit_constants=>critical ).
|
||||
|
||||
***
|
||||
lv_range = `$2:$7`.
|
||||
zcl_excel_common=>convert_range2column_a_row( EXPORTING i_range = lv_range
|
||||
i_allow_1dim_range = abap_true
|
||||
IMPORTING e_column_start = lv_column_start
|
||||
e_column_end = lv_column_end
|
||||
e_row_start = lv_row_start
|
||||
e_row_end = lv_row_end
|
||||
e_sheet = lv_sheet ).
|
||||
|
||||
cl_abap_unit_assert=>assert_equals( act = lv_column_start
|
||||
exp = ''
|
||||
msg = 'Conversion of range failed'
|
||||
level = if_aunit_constants=>critical ).
|
||||
cl_abap_unit_assert=>assert_equals( act = lv_column_end
|
||||
exp = ''
|
||||
msg = 'Conversion of range failed'
|
||||
level = if_aunit_constants=>critical ).
|
||||
cl_abap_unit_assert=>assert_equals( act = lv_row_start
|
||||
exp = '2'
|
||||
msg = 'Conversion of range failed'
|
||||
level = if_aunit_constants=>critical ).
|
||||
cl_abap_unit_assert=>assert_equals( act = lv_row_end
|
||||
exp = '7'
|
||||
msg = 'Conversion of range failed'
|
||||
level = if_aunit_constants=>critical ).
|
||||
cl_abap_unit_assert=>assert_equals( act = lv_sheet
|
||||
exp = ''
|
||||
msg = 'Conversion of range failed'
|
||||
level = if_aunit_constants=>critical ).
|
||||
***
|
||||
lv_range = `Sheet3!$D:$I`.
|
||||
zcl_excel_common=>convert_range2column_a_row( EXPORTING i_range = lv_range
|
||||
i_allow_1dim_range = abap_true
|
||||
IMPORTING e_column_start = lv_column_start
|
||||
e_column_end = lv_column_end
|
||||
e_row_start = lv_row_start
|
||||
e_row_end = lv_row_end
|
||||
e_sheet = lv_sheet ).
|
||||
|
||||
cl_abap_unit_assert=>assert_equals( act = lv_column_start
|
||||
exp = 'D'
|
||||
msg = 'Conversion of range failed'
|
||||
level = if_aunit_constants=>critical ).
|
||||
cl_abap_unit_assert=>assert_equals( act = lv_column_end
|
||||
exp = 'I'
|
||||
msg = 'Conversion of range failed'
|
||||
level = if_aunit_constants=>critical ).
|
||||
cl_abap_unit_assert=>assert_equals( act = lv_row_start
|
||||
exp = ''
|
||||
msg = 'Conversion of range failed'
|
||||
level = if_aunit_constants=>critical ).
|
||||
cl_abap_unit_assert=>assert_equals( act = lv_row_end
|
||||
exp = ''
|
||||
msg = 'Conversion of range failed'
|
||||
level = if_aunit_constants=>critical ).
|
||||
cl_abap_unit_assert=>assert_equals( act = lv_sheet
|
||||
exp = 'Sheet3'
|
||||
msg = 'Conversion of range failed'
|
||||
level = if_aunit_constants=>critical ).
|
||||
ENDMETHOD. "convert_range2column_a_row
|
||||
|
||||
|
||||
|
|
|
@ -2081,6 +2081,7 @@ CLASS zcl_excel_reader_2007 IMPLEMENTATION.
|
|||
*--------------------------------------------------------------------*
|
||||
WHEN zif_excel_sheet_printsettings=>gcv_print_title_name.
|
||||
lo_range = <worksheet>-worksheet->add_new_range( ).
|
||||
lo_range->name = zif_excel_sheet_printsettings=>gcv_print_title_name.
|
||||
*--------------------------------------------------------------------*
|
||||
* This might be a temporary solution. Maybe ranges get be reworked
|
||||
* to support areas consisting of multiple rectangles
|
||||
|
@ -2107,11 +2108,12 @@ CLASS zcl_excel_reader_2007 IMPLEMENTATION.
|
|||
ENDIF.
|
||||
ENDIF.
|
||||
* 1st range
|
||||
zcl_excel_common=>convert_range2column_a_row( EXPORTING i_range = lv_range_value_1
|
||||
IMPORTING e_column_start = lv_col_start_alpha
|
||||
e_column_end = lv_col_end_alpha
|
||||
e_row_start = lv_row_start
|
||||
e_row_end = lv_row_end ).
|
||||
zcl_excel_common=>convert_range2column_a_row( EXPORTING i_range = lv_range_value_1
|
||||
i_allow_1dim_range = abap_true
|
||||
IMPORTING e_column_start = lv_col_start_alpha
|
||||
e_column_end = lv_col_end_alpha
|
||||
e_row_start = lv_row_start
|
||||
e_row_end = lv_row_end ).
|
||||
IF lv_col_start_alpha IS NOT INITIAL.
|
||||
<worksheet>-worksheet->zif_excel_sheet_printsettings~set_print_repeat_columns( iv_columns_from = lv_col_start_alpha
|
||||
iv_columns_to = lv_col_end_alpha ).
|
||||
|
@ -2122,11 +2124,12 @@ CLASS zcl_excel_reader_2007 IMPLEMENTATION.
|
|||
ENDIF.
|
||||
|
||||
* 2nd range
|
||||
zcl_excel_common=>convert_range2column_a_row( EXPORTING i_range = lv_range_value_2
|
||||
IMPORTING e_column_start = lv_col_start_alpha
|
||||
e_column_end = lv_col_end_alpha
|
||||
e_row_start = lv_row_start
|
||||
e_row_end = lv_row_end ).
|
||||
zcl_excel_common=>convert_range2column_a_row( EXPORTING i_range = lv_range_value_2
|
||||
i_allow_1dim_range = abap_true
|
||||
IMPORTING e_column_start = lv_col_start_alpha
|
||||
e_column_end = lv_col_end_alpha
|
||||
e_row_start = lv_row_start
|
||||
e_row_end = lv_row_end ).
|
||||
IF lv_col_start_alpha IS NOT INITIAL.
|
||||
<worksheet>-worksheet->zif_excel_sheet_printsettings~set_print_repeat_columns( iv_columns_from = lv_col_start_alpha
|
||||
iv_columns_to = lv_col_end_alpha ).
|
||||
|
|
Loading…
Reference in New Issue
Block a user