mirror of
https://github.com/abap2xlsx/abap2xlsx.git
synced 2025-05-05 05:33:28 +08:00
closes #22
adding support for hyperlinks. Both internal links (within spreadsheet) and external urls are supported. git-svn-id: https://subversion.assembla.com/svn/abap2xlsx/trunk@25 b7d68dce-7c3c-4a99-8ce0-9ea847f5d049
This commit is contained in:
parent
72b99e10da
commit
1d625968dc
139
ZA2X/CLAS/ZCL_EXCEL_HYPERLINK.slnk
Normal file
139
ZA2X/CLAS/ZCL_EXCEL_HYPERLINK.slnk
Normal file
|
@ -0,0 +1,139 @@
|
|||
<?xml version="1.0" encoding="utf-16"?>
|
||||
<CLAS CLSNAME="ZCL_EXCEL_HYPERLINK" VERSION="1" LANGU="E" DESCRIPT="Hyperlink" UUID="DFD57606ED7E50F1A3520003FF8F0689" CATEGORY="00" EXPOSURE="0" STATE="1" RELEASE="0" AUTHOR="BCUSER" CREATEDON="20101011" CHANGEDON="00000000" CHGDANYON="00000000" CLSFINAL="X" CLSCCINCL="X" FIXPT="X" UNICODE="X" R3RELEASE="701" CLSBCCAT="00" DURATION_TYPE="0 " RISK_LEVEL="0 ">
|
||||
<publicSection>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.
|
||||
type-pools ABAP .
|
||||
|
||||
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 ZEXCEL_CELL_COLUMN_ALPHA
|
||||
!IP_ROW type ZEXCEL_CELL_ROW .
|
||||
methods GET_REF
|
||||
returning
|
||||
value(EV_REF) type STRING .
|
||||
methods GET_URL
|
||||
returning
|
||||
value(EV_URL) type STRING .</publicSection>
|
||||
<protectedSection>*"* protected components of class ZCL_EXCEL_HYPERLINK
|
||||
*"* do not include other source files here!!!
|
||||
protected section.</protectedSection>
|
||||
<privateSection>*"* 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 .</privateSection>
|
||||
<localImplementation>*"* local class implementation for public class
|
||||
*"* use this source file for the implementation part of
|
||||
*"* local helper classes</localImplementation>
|
||||
<localTypes>*"* use this source file for any type declarations (class
|
||||
*"* definitions, interfaces or data types) you need for method
|
||||
*"* implementation or private method's signature</localTypes>
|
||||
<localMacros>*"* use this source file for any macro definitions you need
|
||||
*"* in the implementation part of the class</localMacros>
|
||||
<textPool/>
|
||||
<classDocumentation/>
|
||||
<typeUsage CLSNAME="ZCL_EXCEL_HYPERLINK" TYPEGROUP="ABAP" VERSION="1" TPUTYPE="0" EXPLICIT="X" IMPLICIT="X"/>
|
||||
<forwardDeclaration>ABAP</forwardDeclaration>
|
||||
<attribute CLSNAME="ZCL_EXCEL_HYPERLINK" CMPNAME="CELL_REFERENCE" VERSION="1" LANGU="E" EXPOSURE="0" STATE="1" EDITORDER="2 " AUTHOR="BCUSER" CREATEDON="20101011" CHANGEDBY="BCUSER" CHANGEDON="20101014" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="STRING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
|
||||
<attribute CLSNAME="ZCL_EXCEL_HYPERLINK" CMPNAME="COLUMN" VERSION="1" LANGU="E" DESCRIPT="Cell Column" EXPOSURE="0" STATE="1" EDITORDER="4 " AUTHOR="BCUSER" CREATEDON="20101011" CHANGEDBY="BCUSER" CHANGEDON="20101014" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_CELL_COLUMN_ALPHA" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
|
||||
<attribute CLSNAME="ZCL_EXCEL_HYPERLINK" CMPNAME="INTERNAL" VERSION="1" LANGU="E" EXPOSURE="0" STATE="1" EDITORDER="3 " AUTHOR="BCUSER" CREATEDON="20101011" CHANGEDBY="BCUSER" CHANGEDON="20101014" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ABAP_BOOL" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
|
||||
<attribute CLSNAME="ZCL_EXCEL_HYPERLINK" CMPNAME="LOCATION" VERSION="1" LANGU="E" EXPOSURE="0" STATE="1" EDITORDER="1 " AUTHOR="BCUSER" CREATEDON="20101011" CHANGEDBY="BCUSER" CHANGEDON="20101014" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="STRING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
|
||||
<attribute CLSNAME="ZCL_EXCEL_HYPERLINK" CMPNAME="ROW" VERSION="1" LANGU="E" DESCRIPT="Cell Row" EXPOSURE="0" STATE="1" EDITORDER="5 " AUTHOR="BCUSER" CREATEDON="20101011" CHANGEDBY="BCUSER" CHANGEDON="20101014" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_CELL_ROW" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
|
||||
<method CLSNAME="ZCL_EXCEL_HYPERLINK" CMPNAME="CREATE" VERSION="1" LANGU="E" DESCRIPT="Creates new instance of hyperlink" EXPOSURE="0" STATE="1" EDITORDER="1 " DISPID="0 " AUTHOR="BCUSER" CREATEDON="20101011" CHANGEDON="00000000" MTDTYPE="0" MTDDECLTYP="1" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
|
||||
<parameter CLSNAME="ZCL_EXCEL_HYPERLINK" CMPNAME="CREATE" SCONAME="IV_URL" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="BCUSER" CREATEDON="20101011" CHANGEDBY="BCUSER" CHANGEDON="20101014" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="STRING"/>
|
||||
<parameter CLSNAME="ZCL_EXCEL_HYPERLINK" CMPNAME="CREATE" SCONAME="IV_INTERNAL" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " AUTHOR="BCUSER" CREATEDON="20101011" CHANGEDBY="BCUSER" CHANGEDON="20101014" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ABAP_BOOL"/>
|
||||
<parameter CLSNAME="ZCL_EXCEL_HYPERLINK" CMPNAME="CREATE" SCONAME="OV_LINK" VERSION="1" LANGU="E" DESCRIPT="Hyperlink" CMPTYPE="1" MTDTYPE="0" EDITORDER="3 " DISPID="0 " AUTHOR="BCUSER" CREATEDON="20101011" CHANGEDBY="BCUSER" CHANGEDON="20101014" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="3" TYPE="ZCL_EXCEL_HYPERLINK"/>
|
||||
<source>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.</source>
|
||||
<methodDocumentation/>
|
||||
</method>
|
||||
<method CLSNAME="ZCL_EXCEL_HYPERLINK" CMPNAME="CREATE_EXTERNAL_LINK" VERSION="1" LANGU="E" DESCRIPT="Creates new instance of external link (URL)" EXPOSURE="2" STATE="1" EDITORDER="1 " DISPID="0 " AUTHOR="BCUSER" CREATEDON="20101011" CHANGEDON="00000000" MTDTYPE="0" MTDDECLTYP="1" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
|
||||
<parameter CLSNAME="ZCL_EXCEL_HYPERLINK" CMPNAME="CREATE_EXTERNAL_LINK" SCONAME="IV_URL" VERSION="1" LANGU="E" DESCRIPT="URL location" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="BCUSER" CREATEDON="20101011" CHANGEDBY="BCUSER" CHANGEDON="20101014" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="STRING"/>
|
||||
<parameter CLSNAME="ZCL_EXCEL_HYPERLINK" CMPNAME="CREATE_EXTERNAL_LINK" SCONAME="OV_LINK" VERSION="1" LANGU="E" DESCRIPT="Hyperlink" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " AUTHOR="BCUSER" CREATEDON="20101011" CHANGEDBY="BCUSER" CHANGEDON="20101014" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="3" TYPE="ZCL_EXCEL_HYPERLINK"/>
|
||||
<source>METHOD create_external_link.
|
||||
|
||||
ov_link = zcl_excel_hyperlink=>create( iv_url = iv_url
|
||||
iv_internal = abap_false ).
|
||||
ENDMETHOD.</source>
|
||||
<methodDocumentation/>
|
||||
</method>
|
||||
<method CLSNAME="ZCL_EXCEL_HYPERLINK" CMPNAME="CREATE_INTERNAL_LINK" VERSION="1" LANGU="E" DESCRIPT="Creates new instance of internal link" EXPOSURE="2" STATE="1" EDITORDER="2 " DISPID="0 " AUTHOR="BCUSER" CREATEDON="20101011" CHANGEDON="00000000" MTDTYPE="0" MTDDECLTYP="1" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
|
||||
<parameter CLSNAME="ZCL_EXCEL_HYPERLINK" CMPNAME="CREATE_INTERNAL_LINK" SCONAME="IV_LOCATION" VERSION="1" LANGU="E" DESCRIPT="Location in current spraedsheet" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="BCUSER" CREATEDON="20101011" CHANGEDBY="BCUSER" CHANGEDON="20101014" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="STRING"/>
|
||||
<parameter CLSNAME="ZCL_EXCEL_HYPERLINK" CMPNAME="CREATE_INTERNAL_LINK" SCONAME="OV_LINK" VERSION="1" LANGU="E" DESCRIPT="Hyperlink" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " AUTHOR="BCUSER" CREATEDON="20101011" CHANGEDBY="BCUSER" CHANGEDON="20101014" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="3" TYPE="ZCL_EXCEL_HYPERLINK"/>
|
||||
<source>METHOD create_internal_link.
|
||||
ov_link = zcl_excel_hyperlink=>create( iv_url = iv_location
|
||||
iv_internal = abap_true ).
|
||||
ENDMETHOD.</source>
|
||||
<methodDocumentation/>
|
||||
</method>
|
||||
<method CLSNAME="ZCL_EXCEL_HYPERLINK" CMPNAME="GET_REF" VERSION="1" LANGU="E" DESCRIPT="Gets the reference string" EXPOSURE="2" STATE="1" EDITORDER="5 " DISPID="0 " AUTHOR="BCUSER" CREATEDON="20101011" CHANGEDON="00000000" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
|
||||
<parameter CLSNAME="ZCL_EXCEL_HYPERLINK" CMPNAME="GET_REF" SCONAME="EV_REF" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="BCUSER" CREATEDON="20101011" CHANGEDON="00000000" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="STRING"/>
|
||||
<source>METHOD get_ref.
|
||||
ev_ref = row.
|
||||
CONDENSE ev_ref.
|
||||
CONCATENATE column ev_ref INTO ev_ref.
|
||||
ENDMETHOD.</source>
|
||||
<methodDocumentation/>
|
||||
</method>
|
||||
<method CLSNAME="ZCL_EXCEL_HYPERLINK" CMPNAME="GET_URL" VERSION="1" LANGU="E" DESCRIPT="Gets the urls of the link" EXPOSURE="2" STATE="1" EDITORDER="6 " DISPID="0 " AUTHOR="BCUSER" CREATEDON="20101011" CHANGEDON="00000000" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
|
||||
<parameter CLSNAME="ZCL_EXCEL_HYPERLINK" CMPNAME="GET_URL" SCONAME="EV_URL" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="BCUSER" CREATEDON="20101011" CHANGEDON="00000000" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="STRING"/>
|
||||
<source>method GET_URL.
|
||||
ev_url = me->location.
|
||||
endmethod.</source>
|
||||
<methodDocumentation/>
|
||||
</method>
|
||||
<method CLSNAME="ZCL_EXCEL_HYPERLINK" CMPNAME="IS_INTERNAL" VERSION="1" LANGU="E" DESCRIPT="Checks if link is pointing to internall location" EXPOSURE="2" STATE="1" EDITORDER="3 " DISPID="0 " AUTHOR="BCUSER" CREATEDON="20101011" CHANGEDON="00000000" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
|
||||
<parameter CLSNAME="ZCL_EXCEL_HYPERLINK" CMPNAME="IS_INTERNAL" SCONAME="EV_RET" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="BCUSER" CREATEDON="20101011" CHANGEDON="00000000" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="ABAP_BOOL"/>
|
||||
<source>method IS_INTERNAL.
|
||||
ev_ret = me->internal.
|
||||
endmethod.</source>
|
||||
<methodDocumentation/>
|
||||
</method>
|
||||
<method CLSNAME="ZCL_EXCEL_HYPERLINK" CMPNAME="SET_CELL_REFERENCE" VERSION="1" LANGU="E" DESCRIPT="Sets reference to the cell" EXPOSURE="2" STATE="1" EDITORDER="4 " DISPID="0 " AUTHOR="BCUSER" CREATEDON="20101011" CHANGEDON="00000000" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
|
||||
<parameter CLSNAME="ZCL_EXCEL_HYPERLINK" CMPNAME="SET_CELL_REFERENCE" SCONAME="IP_COLUMN" VERSION="1" LANGU="E" DESCRIPT="Cell Column" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="BCUSER" CREATEDON="20101011" CHANGEDON="00000000" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_CELL_COLUMN_ALPHA"/>
|
||||
<parameter CLSNAME="ZCL_EXCEL_HYPERLINK" CMPNAME="SET_CELL_REFERENCE" SCONAME="IP_ROW" VERSION="1" LANGU="E" DESCRIPT="Cell Row" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " AUTHOR="BCUSER" CREATEDON="20101011" CHANGEDON="00000000" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_CELL_ROW"/>
|
||||
<source>METHOD set_cell_reference.
|
||||
me->column = ip_column.
|
||||
me->row = ip_row.
|
||||
ENDMETHOD.</source>
|
||||
<methodDocumentation/>
|
||||
</method>
|
||||
</CLAS>
|
|
@ -128,7 +128,8 @@ public section.
|
|||
!IP_ROW type ZEXCEL_CELL_ROW
|
||||
!IP_VALUE type SIMPLE optional
|
||||
!IP_FORMULA type ZEXCEL_CELL_FORMULA optional
|
||||
!IP_STYLE type ZEXCEL_CELL_STYLE optional .
|
||||
!IP_STYLE type ZEXCEL_CELL_STYLE optional
|
||||
!IP_HYPERLINK type ref to ZCL_EXCEL_HYPERLINK optional .
|
||||
methods SET_CELL_STYLE
|
||||
importing
|
||||
!IP_COLUMN type ZEXCEL_CELL_COLUMN_ALPHA
|
||||
|
@ -148,7 +149,13 @@ public section.
|
|||
!IP_BODY_STYLE type ZEXCEL_CELL_STYLE optional
|
||||
!IP_TABLE_TITLE type STRING
|
||||
!IP_TOP_LEFT_COLUMN type ZEXCEL_CELL_COLUMN_ALPHA default 'B'
|
||||
!IP_TOP_LEFT_ROW type ZEXCEL_CELL_ROW default 3 .</publicSection>
|
||||
!IP_TOP_LEFT_ROW type ZEXCEL_CELL_ROW default 3 .
|
||||
methods GET_HYPERLINKS_SIZE
|
||||
returning
|
||||
value(EP_SIZE) type I .
|
||||
methods GET_HYPERLINKS_ITERATOR
|
||||
returning
|
||||
value(EO_ITERATOR) type ref to CL_OBJECT_COLLECTION_ITERATOR .</publicSection>
|
||||
<protectedSection>*"* protected components of class ZCL_EXCEL_WORKSHEET
|
||||
*"* do not include other source files here!!!
|
||||
protected section.</protectedSection>
|
||||
|
@ -171,6 +178,7 @@ private section.
|
|||
data ROW_DIMENSIONS type ZEXCEL_T_WORKSHEET_ROWDIMENSIO .
|
||||
data TABLES type ref to CL_OBJECT_COLLECTION .
|
||||
data UPPER_CELL type ZEXCEL_S_CELL_DATA .
|
||||
data HYPERLINKS type ref to CL_OBJECT_COLLECTION .
|
||||
|
||||
methods UPDATE_DIMENSION_RANGE .</privateSection>
|
||||
<localImplementation>*"* local class implementation for public class
|
||||
|
@ -209,6 +217,7 @@ private section.
|
|||
<attribute CLSNAME="ZCL_EXCEL_WORKSHEET" CMPNAME="TABLES" VERSION="1" LANGU="E" DESCRIPT="Colletion of tables" EXPOSURE="0" STATE="1" EDITORDER="24 " AUTHOR="FEMIA" CREATEDON="20100831" CHANGEDBY="FEMIA" CHANGEDON="20100921" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="3" TYPE="CL_OBJECT_COLLECTION" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
|
||||
<attribute CLSNAME="ZCL_EXCEL_WORKSHEET" CMPNAME="TITLE" VERSION="1" LANGU="E" DESCRIPT="Title" EXPOSURE="2" STATE="1" EDITORDER="25 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100921" ATTDECLTYP="0" ATTVALUE="'Worksheet'" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_TITLE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
|
||||
<attribute CLSNAME="ZCL_EXCEL_WORKSHEET" CMPNAME="UPPER_CELL" VERSION="1" LANGU="E" DESCRIPT="Top left range cell" EXPOSURE="0" STATE="1" EDITORDER="26 " AUTHOR="FEMIA" CREATEDON="20100704" CHANGEDBY="FEMIA" CHANGEDON="20100921" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_S_CELL_DATA" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
|
||||
<attribute CLSNAME="ZCL_EXCEL_WORKSHEET" CMPNAME="HYPERLINKS" VERSION="1" LANGU="E" DESCRIPT="Colletion of hyperlinks" EXPOSURE="0" STATE="1" EDITORDER="27 " AUTHOR="BCUSER" CREATEDON="20101011" CHANGEDBY="BCUSER" CHANGEDON="20101011" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="3" TYPE="CL_OBJECT_COLLECTION" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
|
||||
<interfaceMethod CLSNAME="ZCL_EXCEL_WORKSHEET" CPDNAME="ZIF_EXCEL_SHEET_PROTECTION~INITIALIZE">
|
||||
<source>METHOD zif_excel_sheet_protection~initialize.
|
||||
|
||||
|
@ -390,6 +399,7 @@ endmethod.</source>
|
|||
CREATE OBJECT tables.
|
||||
CREATE OBJECT drawings.
|
||||
me->zif_excel_sheet_protection~initialize( ).
|
||||
CREATE OBJECT hyperlinks.
|
||||
|
||||
* initialize active cell coordinates
|
||||
active_cell-cell_row = 1.
|
||||
|
@ -709,7 +719,8 @@ endmethod.</source>
|
|||
<parameter CLSNAME="ZCL_EXCEL_WORKSHEET" CMPNAME="SET_CELL" SCONAME="IP_VALUE" VERSION="1" LANGU="E" DESCRIPT="Cell Value" CMPTYPE="1" MTDTYPE="0" EDITORDER="3 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100921" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="SIMPLE" PAROPTIONL="X"/>
|
||||
<parameter CLSNAME="ZCL_EXCEL_WORKSHEET" CMPNAME="SET_CELL" SCONAME="IP_FORMULA" VERSION="1" LANGU="E" DESCRIPT="Cell Formula" CMPTYPE="1" MTDTYPE="0" EDITORDER="4 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100710" CHANGEDBY="FEMIA" CHANGEDON="20100921" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_CELL_FORMULA" PAROPTIONL="X"/>
|
||||
<parameter CLSNAME="ZCL_EXCEL_WORKSHEET" CMPNAME="SET_CELL" SCONAME="IP_STYLE" VERSION="1" LANGU="E" DESCRIPT="Single-Character Indicator" CMPTYPE="1" MTDTYPE="0" EDITORDER="5 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100705" CHANGEDBY="FEMIA" CHANGEDON="20100921" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_CELL_STYLE" PAROPTIONL="X"/>
|
||||
<source>method SET_CELL.
|
||||
<parameter CLSNAME="ZCL_EXCEL_WORKSHEET" CMPNAME="SET_CELL" SCONAME="IP_HYPERLINK" VERSION="1" LANGU="E" DESCRIPT="Hyperlink" CMPTYPE="1" MTDTYPE="0" EDITORDER="6 " DISPID="0 " AUTHOR="BCUSER" CREATEDON="20101011" CHANGEDBY="BCUSER" CHANGEDON="20101011" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="3" TYPE="ZCL_EXCEL_HYPERLINK" PAROPTIONL="X"/>
|
||||
<source>METHOD set_cell.
|
||||
|
||||
DATA: lv_column TYPE zexcel_cell_column,
|
||||
ls_sheet_content TYPE zexcel_s_cell_data,
|
||||
|
@ -766,6 +777,12 @@ endmethod.</source>
|
|||
ENDCASE.
|
||||
ENDIF.
|
||||
|
||||
IF ip_hyperlink IS BOUND.
|
||||
ip_hyperlink->set_cell_reference( ip_column = ip_column
|
||||
ip_row = ip_row ).
|
||||
me->hyperlinks->add( ip_hyperlink ).
|
||||
ENDIF.
|
||||
|
||||
lv_column = zcl_excel_common=>convert_column2int( ip_column ).
|
||||
|
||||
READ TABLE sheet_content ASSIGNING <fs_sheet_content> WITH KEY cell_row = ip_row
|
||||
|
@ -964,4 +981,18 @@ endmethod.</source>
|
|||
|
||||
endmethod.</source>
|
||||
</method>
|
||||
<method CLSNAME="ZCL_EXCEL_WORKSHEET" CMPNAME="GET_HYPERLINKS_ITERATOR" VERSION="1" LANGU="E" DESCRIPT="Get iterator for links collection" EXPOSURE="2" STATE="1" EDITORDER="30 " DISPID="0 " AUTHOR="BCUSER" CREATEDON="20101011" CHANGEDBY="BCUSER" CHANGEDON="20101011" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
|
||||
<parameter CLSNAME="ZCL_EXCEL_WORKSHEET" CMPNAME="GET_HYPERLINKS_ITERATOR" SCONAME="EO_ITERATOR" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="BCUSER" CREATEDON="20101011" CHANGEDON="00000000" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="3" TYPE="CL_OBJECT_COLLECTION_ITERATOR"/>
|
||||
<source>METHOD get_hyperlinks_iterator.
|
||||
eo_iterator = hyperlinks->get_iterator( ).
|
||||
ENDMETHOD.</source>
|
||||
<methodDocumentation/>
|
||||
</method>
|
||||
<method CLSNAME="ZCL_EXCEL_WORKSHEET" CMPNAME="GET_HYPERLINKS_SIZE" VERSION="1" LANGU="E" DESCRIPT="Gets the size of links collection" EXPOSURE="2" STATE="1" EDITORDER="27 " DISPID="0 " AUTHOR="BCUSER" CREATEDON="20101011" CHANGEDBY="BCUSER" CHANGEDON="20101011" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
|
||||
<parameter CLSNAME="ZCL_EXCEL_WORKSHEET" CMPNAME="GET_HYPERLINKS_SIZE" SCONAME="EP_SIZE" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="BCUSER" CREATEDON="20101011" CHANGEDON="00000000" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="I"/>
|
||||
<source>METHOD get_hyperlinks_size.
|
||||
ep_size = hyperlinks->size( ).
|
||||
ENDMETHOD.</source>
|
||||
<methodDocumentation/>
|
||||
</method>
|
||||
</CLAS>
|
||||
|
|
|
@ -1722,7 +1722,8 @@ endmethod.</source>
|
|||
ls_style_mapping TYPE zexcel_s_styles_mapping,
|
||||
lv_freeze_cell_row TYPE zexcel_cell_row,
|
||||
lv_freeze_cell_column TYPE zexcel_cell_column,
|
||||
lv_freeze_cell_column_alpha TYPE zexcel_cell_column_alpha.
|
||||
lv_freeze_cell_column_alpha TYPE zexcel_cell_column_alpha,
|
||||
lv_relation_id TYPE i.
|
||||
|
||||
DATA: default_col_dimension TYPE REF TO zcl_excel_worksheet_columndime,
|
||||
default_row_dimension TYPE REF TO zcl_excel_worksheet_rowdimensi.
|
||||
|
@ -2307,6 +2308,49 @@ endmethod.</source>
|
|||
lo_element_root->append_child( new_child = lo_element ).
|
||||
ENDIF.
|
||||
|
||||
* links
|
||||
DATA: lv_hyperlinks_count TYPE i,
|
||||
lo_link TYPE REF TO zcl_excel_hyperlink.
|
||||
|
||||
lv_hyperlinks_count = io_worksheet->get_hyperlinks_size( ).
|
||||
IF lv_hyperlinks_count > 0.
|
||||
lo_element = lo_document->create_simple_element( name = 'hyperlinks'
|
||||
parent = lo_document ).
|
||||
|
||||
lv_relation_id = io_worksheet->get_tables_size( ). "need to count tables
|
||||
lo_iterator = io_worksheet->get_hyperlinks_iterator( ).
|
||||
WHILE lo_iterator->if_object_collection_iterator~has_next( ) EQ abap_true.
|
||||
lo_link ?= lo_iterator->if_object_collection_iterator~get_next( ).
|
||||
|
||||
lo_element_2 = lo_document->create_simple_element( name = 'hyperlink'
|
||||
parent = lo_element ).
|
||||
|
||||
lv_value = lo_link->get_ref( ).
|
||||
lo_element_2->set_attribute_ns( name = 'ref'
|
||||
value = lv_value ).
|
||||
|
||||
IF lo_link->is_internal( ) = abap_true.
|
||||
lv_value = lo_link->get_url( ).
|
||||
lo_element_2->set_attribute_ns( name = 'location'
|
||||
value = lv_value ).
|
||||
ELSE.
|
||||
ADD 1 TO lv_relation_id.
|
||||
|
||||
lv_value = lv_relation_id.
|
||||
CONDENSE lv_value.
|
||||
CONCATENATE 'rId' lv_value INTO lv_value.
|
||||
|
||||
lo_element_2->set_attribute_ns( name = 'r:id'
|
||||
value = lv_value ).
|
||||
|
||||
ENDIF.
|
||||
|
||||
lo_element->append_child( new_child = lo_element_2 ).
|
||||
ENDWHILE.
|
||||
|
||||
lo_element_root->append_child( new_child = lo_element ).
|
||||
ENDIF.
|
||||
|
||||
" pageMargins node
|
||||
lo_element = lo_document->create_simple_element( name = lc_xml_node_pagemargins
|
||||
parent = lo_document ).
|
||||
|
@ -2467,13 +2511,13 @@ endmethod.</source>
|
|||
lo_element->set_attribute_ns( name = 'count'
|
||||
value = lv_value ).
|
||||
|
||||
lv_table_count = 0.
|
||||
lv_relation_id = 0.
|
||||
lo_iterator = io_worksheet->get_tables_iterator( ).
|
||||
WHILE lo_iterator->if_object_collection_iterator~has_next( ) EQ abap_true.
|
||||
lo_table ?= lo_iterator->if_object_collection_iterator~get_next( ).
|
||||
ADD 1 TO lv_table_count.
|
||||
ADD 1 TO lv_relation_id.
|
||||
|
||||
lv_value = lv_table_count.
|
||||
lv_value = lv_relation_id.
|
||||
CONDENSE lv_value.
|
||||
CONCATENATE 'rId' lv_value INTO lv_value.
|
||||
lo_element_2 = lo_document->create_simple_element( name = 'tablePart'
|
||||
|
@ -2523,10 +2567,13 @@ ENDMETHOD.</source>
|
|||
lc_xml_attr_id TYPE string VALUE 'Id',
|
||||
lc_xml_attr_type TYPE string VALUE 'Type',
|
||||
lc_xml_attr_target TYPE string VALUE 'Target',
|
||||
lc_xml_attr_target_mode TYPE string VALUE 'TargetMode',
|
||||
lc_xml_val_external TYPE string VALUE 'External',
|
||||
" Node namespace
|
||||
lc_xml_node_rels_ns TYPE string VALUE 'http://schemas.openxmlformats.org/package/2006/relationships',
|
||||
lc_xml_node_rid_table_tp TYPE string VALUE 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/table',
|
||||
lc_xml_node_rid_drawing_tp TYPE string VALUE 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/drawing'.
|
||||
lc_xml_node_rid_link_tp TYPE string VALUE 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink'.
|
||||
|
||||
DATA: lo_ixml TYPE REF TO if_ixml,
|
||||
lo_document TYPE REF TO if_ixml_document,
|
||||
|
@ -2537,7 +2584,8 @@ ENDMETHOD.</source>
|
|||
lo_ostream TYPE REF TO if_ixml_ostream,
|
||||
lo_renderer TYPE REF TO if_ixml_renderer,
|
||||
lo_iterator TYPE REF TO cl_object_collection_iterator,
|
||||
lo_table TYPE REF TO zcl_excel_table.
|
||||
lo_table TYPE REF TO zcl_excel_table,
|
||||
lo_link TYPE REF TO zcl_excel_hyperlink.
|
||||
|
||||
DATA: lv_value TYPE string,
|
||||
lv_counter TYPE i,
|
||||
|
@ -2590,6 +2638,30 @@ ENDMETHOD.</source>
|
|||
lo_element_root->append_child( new_child = lo_element ).
|
||||
ENDWHILE.
|
||||
|
||||
lo_iterator = io_worksheet->get_hyperlinks_iterator( ).
|
||||
WHILE lo_iterator->if_object_collection_iterator~has_next( ) EQ abap_true.
|
||||
lo_link ?= lo_iterator->if_object_collection_iterator~get_next( ).
|
||||
ADD 1 TO lv_counter.
|
||||
|
||||
lv_value = lv_counter.
|
||||
CONDENSE lv_value.
|
||||
CONCATENATE 'rId' lv_value INTO lv_value.
|
||||
|
||||
lo_element = lo_document->create_simple_element( name = lc_xml_node_relationship
|
||||
parent = lo_document ).
|
||||
lo_element->set_attribute_ns( name = lc_xml_attr_id
|
||||
value = lv_value ).
|
||||
lo_element->set_attribute_ns( name = lc_xml_attr_type
|
||||
value = lc_xml_node_rid_link_tp ).
|
||||
|
||||
lv_value = lo_link->get_url( ).
|
||||
lo_element->set_attribute_ns( name = lc_xml_attr_target
|
||||
value = lv_value ).
|
||||
lo_element->set_attribute_ns( name = lc_xml_attr_target_mode
|
||||
value = lc_xml_val_external ).
|
||||
lo_element_root->append_child( new_child = lo_element ).
|
||||
ENDWHILE.
|
||||
|
||||
* drawing
|
||||
DATA: lo_drawings TYPE REF TO zcl_excel_drawings.
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<?xml version="1.0" encoding="utf-16"?>
|
||||
<PROG NAME="ZDEMO_EXCEL1" VARCL="X" SUBC="1" CNAM="FEMIA" CDAT="20100711" UNAM="FEMIA" UDAT="20100924" VERN="000062" RSTAT="T" RMAND="001" RLOAD="E" FIXPT="X" SDATE="20100924" STIME="153901" IDATE="20100924" ITIME="153901" UCCHECK="X">
|
||||
<PROG NAME="ZDEMO_EXCEL1" VARCL="X" SUBC="1" CNAM="FEMIA" CDAT="20100711" UNAM="BCUSER" UDAT="20101014" VERN="000040" RSTAT="T" RMAND="001" RLOAD="E" FIXPT="X" SDATE="20101014" STIME="222501" IDATE="20101014" ITIME="222501" UCCHECK="X">
|
||||
<textPool>
|
||||
<language SPRAS="E">
|
||||
<textElement ID="R" ENTRY="Test for excel" LENGTH="14 "/>
|
||||
|
@ -17,7 +17,9 @@ REPORT zdemo_excel1.
|
|||
|
||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||
lo_excel_writer TYPE REF TO zif_excel_writer,
|
||||
lo_worksheet TYPE REF TO zcl_excel_worksheet.
|
||||
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
||||
lo_hyperlink TYPE REF TO zcl_excel_hyperlink,
|
||||
column_dimension TYPE REF TO zcl_excel_worksheet_columndime.
|
||||
|
||||
DATA: lv_file TYPE xstring,
|
||||
lv_bytecount TYPE i,
|
||||
|
@ -59,6 +61,11 @@ START-OF-SELECTION.
|
|||
lo_worksheet->set_cell( ip_column = 'B' ip_row = 2 ip_value = 'Hello world' ).
|
||||
lo_worksheet->set_cell( ip_column = 'B' ip_row = 3 ip_value = sy-datum ).
|
||||
lo_worksheet->set_cell( ip_column = 'C' ip_row = 3 ip_value = sy-uzeit ).
|
||||
lo_hyperlink = zcl_excel_hyperlink=>create_external_link( iv_url = 'https://cw.sdn.sap.com/cw/groups/abap2xlsx' ).
|
||||
lo_worksheet->set_cell( ip_column = 'B' ip_row = 4 ip_value = 'Click here to visit abap2xlsx homepage' ip_hyperlink = lo_hyperlink ).
|
||||
|
||||
column_dimension = lo_worksheet->get_column_dimension( 'B' ).
|
||||
column_dimension->set_width( 11 ).
|
||||
|
||||
CREATE OBJECT lo_excel_writer TYPE zcl_excel_writer_2007.
|
||||
lv_file = lo_excel_writer->write_file( lo_excel ).
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<?xml version="1.0" encoding="utf-16"?>
|
||||
<PROG NAME="ZDEMO_EXCEL4" VARCL="X" SUBC="1" CNAM="FEMIA" CDAT="20100711" UNAM="FEMIA" UDAT="20100924" VERN="000040" RSTAT="T" RMAND="001" RLOAD="E" FIXPT="X" SDATE="20100924" STIME="153902" IDATE="20100924" ITIME="153902" UCCHECK="X">
|
||||
<PROG NAME="ZDEMO_EXCEL4" VARCL="X" SUBC="1" CNAM="FEMIA" CDAT="20100711" UNAM="BCUSER" UDAT="20101014" VERN="000019" RSTAT="T" RMAND="001" RLOAD="E" FIXPT="X" SDATE="20101014" STIME="220426" IDATE="20101014" ITIME="220426" UCCHECK="X">
|
||||
<textPool>
|
||||
<language SPRAS="E">
|
||||
<textElement ID="R" ENTRY="Test for excel" LENGTH="14 "/>
|
||||
|
@ -17,7 +17,8 @@ REPORT zdemo_excel4.
|
|||
|
||||
DATA: lo_excel TYPE REF TO zcl_excel,
|
||||
lo_excel_writer TYPE REF TO zif_excel_writer,
|
||||
lo_worksheet TYPE REF TO zcl_excel_worksheet.
|
||||
lo_worksheet TYPE REF TO zcl_excel_worksheet,
|
||||
lo_hyperlink TYPE REF TO zcl_excel_hyperlink.
|
||||
|
||||
DATA: lv_file TYPE xstring,
|
||||
lv_bytecount TYPE i,
|
||||
|
@ -57,6 +58,8 @@ START-OF-SELECTION.
|
|||
lo_worksheet = lo_excel->get_active_worksheet( ).
|
||||
lo_worksheet->title = 'Sheet1'.
|
||||
lo_worksheet->set_cell( ip_column = 'B' ip_row = 2 ip_value = 'This is the first sheet' ).
|
||||
lo_hyperlink = zcl_excel_hyperlink=>create_internal_link( iv_location = 'Sheet2!B2' ).
|
||||
lo_worksheet->set_cell( ip_column = 'B' ip_row = 3 ip_value = 'This is link to second sheet' ip_hyperlink = lo_hyperlink ).
|
||||
|
||||
lo_worksheet->sheet_setup->set_page_margins( ip_header = '1' ip_footer = '1' ip_unit = 'cm' ).
|
||||
lo_worksheet->sheet_setup->black_and_white = 'X'.
|
||||
|
@ -73,6 +76,8 @@ START-OF-SELECTION.
|
|||
lo_worksheet = lo_excel->add_new_worksheet( ).
|
||||
lo_worksheet->title = 'Sheet2'.
|
||||
lo_worksheet->set_cell( ip_column = 'B' ip_row = 2 ip_value = 'This is the second sheet' ).
|
||||
lo_hyperlink = zcl_excel_hyperlink=>create_internal_link( iv_location = 'Sheet1!B2' ).
|
||||
lo_worksheet->set_cell( ip_column = 'B' ip_row = 3 ip_value = 'This is link to first sheet' ip_hyperlink = lo_hyperlink ).
|
||||
|
||||
CREATE OBJECT lo_excel_writer TYPE zcl_excel_writer_2007.
|
||||
lv_file = lo_excel_writer->write_file( lo_excel ).
|
||||
|
|
Loading…
Reference in New Issue
Block a user