Add method to check if a cell is within a range

This commit is contained in:
oliver-huetkoeper 2014-10-02 08:28:47 +02:00
parent 21a63fd96e
commit 248ed862d4

View File

@ -1886,6 +1886,46 @@ endmethod.</source>
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 &gt;= lv_column_start_i AND
lv_column_i &lt;= lv_column_end_i AND
ip_row &gt;= lv_row_start AND
ip_row &lt;= lv_row_end.
rp_in_range = abap_true.
ENDIF.
endmethod.</source>
</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">