mirror of
https://github.com/abap2xlsx/abap2xlsx.git
synced 2025-05-05 16:46:11 +08:00
Add method to check if a cell is within a range
This commit is contained in:
parent
21a63fd96e
commit
248ed862d4
|
@ -1886,6 +1886,46 @@ endmethod.</source>
|
||||||
|
|
||||||
ENDLOOP.
|
ENDLOOP.
|
||||||
|
|
||||||
|
endmethod.</source>
|
||||||
|
</method>
|
||||||
|
<method CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="IS_CELL_IN_RANGE" VERSION="1" LANGU="E" DESCRIPT="Check if cell is part of a range" EXPOSURE="2" STATE="1" EDITORDER="24 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="1" MTDNEWEXC="X" BCMTDCAT="00" BCMTDSYN="0">
|
||||||
|
<parameter CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="IS_CELL_IN_RANGE" SCONAME="IP_COLUMN" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="SIMPLE"/>
|
||||||
|
<parameter CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="IS_CELL_IN_RANGE" SCONAME="IP_ROW" VERSION="1" LANGU="E" DESCRIPT="Cell Row" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_CELL_ROW"/>
|
||||||
|
<parameter CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="IS_CELL_IN_RANGE" SCONAME="IP_RANGE" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="3 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="CLIKE"/>
|
||||||
|
<parameter CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="IS_CELL_IN_RANGE" SCONAME="RP_IN_RANGE" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="4 " DISPID="0 " PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="ABAP_BOOL"/>
|
||||||
|
<exception CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="IS_CELL_IN_RANGE" SCONAME="ZCX_EXCEL" VERSION="1" LANGU="E" DESCRIPT="Exceptions for ABAP2XLSX" MTDTYPE="0" EDITORDER="1 "/>
|
||||||
|
<source>method IS_CELL_IN_RANGE.
|
||||||
|
DATA lv_column_start TYPE zexcel_cell_column_alpha.
|
||||||
|
DATA lv_column_end TYPE zexcel_cell_column_alpha.
|
||||||
|
DATA lv_row_start TYPE zexcel_cell_row.
|
||||||
|
DATA lv_row_end TYPE zexcel_cell_row.
|
||||||
|
DATA lv_column_start_i TYPE zexcel_cell_column.
|
||||||
|
DATA lv_column_end_i TYPE zexcel_cell_column.
|
||||||
|
DATA lv_column_i TYPE zexcel_cell_column.
|
||||||
|
|
||||||
|
|
||||||
|
* Split range and convert columns
|
||||||
|
convert_range2column_a_row(
|
||||||
|
exporting
|
||||||
|
i_range = ip_range
|
||||||
|
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 ).
|
||||||
|
|
||||||
|
lv_column_start_i = convert_column2int( ip_column = lv_column_start ).
|
||||||
|
lv_column_end_i = convert_column2int( ip_column = lv_column_end ).
|
||||||
|
|
||||||
|
lv_column_i = convert_column2int( ip_column = ip_column ).
|
||||||
|
|
||||||
|
* Check if cell is in range
|
||||||
|
IF lv_column_i >= lv_column_start_i AND
|
||||||
|
lv_column_i <= lv_column_end_i AND
|
||||||
|
ip_row >= lv_row_start AND
|
||||||
|
ip_row <= lv_row_end.
|
||||||
|
rp_in_range = abap_true.
|
||||||
|
ENDIF.
|
||||||
endmethod.</source>
|
endmethod.</source>
|
||||||
</method>
|
</method>
|
||||||
<method CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="NUMBER_TO_EXCEL_STRING" VERSION="1" LANGU="E" DESCRIPT="Converts number to string representation in Excel format" EXPOSURE="2" STATE="1" EDITORDER="13 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="1" BCMTDCAT="00" BCMTDSYN="0">
|
<method CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="NUMBER_TO_EXCEL_STRING" VERSION="1" LANGU="E" DESCRIPT="Converts number to string representation in Excel format" EXPOSURE="2" STATE="1" EDITORDER="13 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="1" BCMTDCAT="00" BCMTDSYN="0">
|
||||||
|
|
Loading…
Reference in New Issue
Block a user