mirror of
https://github.com/abap2xlsx/abap2xlsx.git
synced 2025-05-05 19:16:10 +08:00

* remove TYPE-POOLS statements * fix whitespace Co-authored-by: sandraros <34005250+sandraros@users.noreply.github.com>
108 lines
2.5 KiB
ABAP
108 lines
2.5 KiB
ABAP
CLASS zcl_excel_hyperlink DEFINITION
|
|
PUBLIC
|
|
FINAL
|
|
CREATE PRIVATE .
|
|
|
|
*"* public components of class ZCL_EXCEL_HYPERLINK
|
|
*"* do not include other source files here!!!
|
|
PUBLIC SECTION.
|
|
|
|
CLASS-METHODS create_external_link
|
|
IMPORTING
|
|
!iv_url TYPE string
|
|
RETURNING
|
|
VALUE(ov_link) TYPE REF TO zcl_excel_hyperlink .
|
|
CLASS-METHODS create_internal_link
|
|
IMPORTING
|
|
!iv_location TYPE string
|
|
RETURNING
|
|
VALUE(ov_link) TYPE REF TO zcl_excel_hyperlink .
|
|
METHODS is_internal
|
|
RETURNING
|
|
VALUE(ev_ret) TYPE abap_bool .
|
|
METHODS set_cell_reference
|
|
IMPORTING
|
|
!ip_column TYPE simple
|
|
!ip_row TYPE zexcel_cell_row
|
|
RAISING
|
|
zcx_excel .
|
|
METHODS get_ref
|
|
RETURNING
|
|
VALUE(ev_ref) TYPE string .
|
|
METHODS get_url
|
|
RETURNING
|
|
VALUE(ev_url) TYPE string .
|
|
*"* protected components of class ZCL_EXCEL_HYPERLINK
|
|
*"* do not include other source files here!!!
|
|
PROTECTED SECTION.
|
|
*"* private components of class ZCL_EXCEL_HYPERLINK
|
|
*"* do not include other source files here!!!
|
|
PRIVATE SECTION.
|
|
|
|
DATA location TYPE string .
|
|
DATA cell_reference TYPE string .
|
|
DATA internal TYPE abap_bool .
|
|
DATA column TYPE zexcel_cell_column_alpha .
|
|
DATA row TYPE zexcel_cell_row .
|
|
|
|
CLASS-METHODS create
|
|
IMPORTING
|
|
!iv_url TYPE string
|
|
!iv_internal TYPE abap_bool
|
|
RETURNING
|
|
VALUE(ov_link) TYPE REF TO zcl_excel_hyperlink .
|
|
ENDCLASS.
|
|
|
|
|
|
|
|
CLASS zcl_excel_hyperlink IMPLEMENTATION.
|
|
|
|
|
|
METHOD create.
|
|
DATA: lo_hyperlink TYPE REF TO zcl_excel_hyperlink.
|
|
|
|
CREATE OBJECT lo_hyperlink.
|
|
|
|
lo_hyperlink->location = iv_url.
|
|
lo_hyperlink->internal = iv_internal.
|
|
|
|
ov_link = lo_hyperlink.
|
|
ENDMETHOD.
|
|
|
|
|
|
METHOD create_external_link.
|
|
|
|
ov_link = zcl_excel_hyperlink=>create( iv_url = iv_url
|
|
iv_internal = abap_false ).
|
|
ENDMETHOD.
|
|
|
|
|
|
METHOD create_internal_link.
|
|
ov_link = zcl_excel_hyperlink=>create( iv_url = iv_location
|
|
iv_internal = abap_true ).
|
|
ENDMETHOD.
|
|
|
|
|
|
METHOD get_ref.
|
|
ev_ref = row.
|
|
CONDENSE ev_ref.
|
|
CONCATENATE column ev_ref INTO ev_ref.
|
|
ENDMETHOD.
|
|
|
|
|
|
METHOD get_url.
|
|
ev_url = me->location.
|
|
ENDMETHOD.
|
|
|
|
|
|
METHOD is_internal.
|
|
ev_ret = me->internal.
|
|
ENDMETHOD.
|
|
|
|
|
|
METHOD set_cell_reference.
|
|
me->column = zcl_excel_common=>convert_column2alpha( ip_column ). " issue #155 - less restrictive typing for ip_column
|
|
me->row = ip_row.
|
|
ENDMETHOD.
|
|
ENDCLASS.
|