Merge remote-tracking branch 'ivanfemia/master'

This commit is contained in:
Łukasz Pęgiel 2015-08-17 16:28:16 +02:00
commit 0cfe0b42af
37 changed files with 46469 additions and 1406 deletions

View File

@ -6,4 +6,4 @@ Generate your professional Excel spreadsheet from ABAP
For general information please refer to the blog series [abap2xlsx - Generate your professional Excel spreadsheet from ABAP](http://scn.sap.com/community/abap/blog/2010/07/12/abap2xlsx--generate-your-professional-excel-spreadsheet-from-abap) and the [Wiki section](https://github.com/ivanfemia/abap2xlsx/wiki).
Please refer to the official wiki for the [installation guide & F.A.Q.](https://github.com/ivanfemia/abap2xlsx/wiki).
Discussion Board is on [SAP Community Network - Code Exchange space](http://scn.sap.com/community/code-exchange/), once you create a new discussion please add the prefix [abap2xlsx] in the title and tag the discussion with abap2xlsx.
**Discussion Board is on [SAP Community Network - Open Source space](http://scn.sap.com/community/open-source), please add the prefix [abap2xlsx] in the title and tag the discussion with abap2xlsx.**

View File

@ -0,0 +1,100 @@
<?xml version="1.0" encoding="utf-8"?>
<CLAS CLSNAME="ZCL_EXCEL_AUTOFILTERS" VERSION="1" LANGU="E" DESCRIPT="Autofilters collection" CATEGORY="00" EXPOSURE="2" STATE="1" RELEASE="0" CLSFINAL="X" CLSCCINCL="X" FIXPT="X" UNICODE="X" CLSBCCAT="00" DURATION_TYPE="0 " RISK_LEVEL="0 " ZSAPLINK_PLUGIN_MAJOR_VERSION="0 " ZSAPLINK_PLUGIN_MINOR_VERSION="1 " ZSAPLINK_PLUGIN_BUILD_VERSION="0 " ZSAPLINK_PLUGIN_INFO1="ZSAPLINK_CLASS is part of the main ZSAPLINK project --&gt; This plugin found there instead of ZSAPLINK_PLUGINS projects" ZSAPLINK_PLUGIN_INFO2="SAPLINK homepage: https://www.assembla.com/spaces/saplink/wiki" ZSAPLINK_PLUGIN_INFO3="Download from https://www.assembla.com/code/saplink/subversion/nodes" ZSAPLINK_PLUGIN_INFO4="and navigate to: trunk -&gt; core -&gt; ZSAPLINK -&gt; CLAS -&gt; ZSAPLINK_CLASS.slnk">
<types CLSNAME="ZCL_EXCEL_AUTOFILTERS" CMPNAME="TS_AUTOFILTER" VERSION="1" LANGU="E" DESCRIPT="Autofilter" EXPOSURE="0" STATE="1" EDITORDER="1 " TYPTYPE="4" SRCROW1="6 " SRCCOLUMN1="4 " SRCROW2="9 " SRCCOLUMN2="23 " TYPESRC_LENG="0 " TYPESRC="BEGIN OF ts_autofilter,
worksheet TYPE REF TO zcl_excel_worksheet,
autofilter TYPE REF TO zcl_excel_autofilter,
END OF ts_autofilter
"/>
<types CLSNAME="ZCL_EXCEL_AUTOFILTERS" CMPNAME="TT_AUTOFILTERS" VERSION="1" LANGU="E" DESCRIPT="All autofilters" EXPOSURE="0" STATE="1" EDITORDER="2 " TYPTYPE="4" SRCROW1="11 " SRCCOLUMN1="4 " SRCROW2="11 " SRCCOLUMN2="78 " TYPESRC_LENG="0 " TYPESRC="tt_autofilters TYPE HASHED TABLE OF ts_autofilter WITH UNIQUE KEY worksheet
"/>
<localImplementation>*&quot;* local class implementation for public class
*&quot;* use this source file for the implementation part of
*&quot;* local helper classes</localImplementation>
<localTypes>*&quot;* use this source file for any type declarations (class
*&quot;* definitions, interfaces or data types) you need for method
*&quot;* implementation or private method&apos;s signature</localTypes>
<localMacros>*&quot;* use this source file for any macro definitions you need
*&quot;* in the implementation part of the class</localMacros>
<typeUsage CLSNAME="ZCL_EXCEL_AUTOFILTERS" TYPEGROUP="ABAP" VERSION="1" TPUTYPE="0" EXPLICIT="X"/>
<forwardDeclaration>ABAP</forwardDeclaration>
<attribute CLSNAME="ZCL_EXCEL_AUTOFILTERS" CMPNAME="C_AUTOFILTER" VERSION="1" LANGU="E" DESCRIPT="Excel Autofilter range name" EXPOSURE="2" STATE="1" EDITORDER="1 " ATTDECLTYP="2" ATTVALUE="&apos;_xlnm._FilterDatabase&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="STRING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_AUTOFILTERS" CMPNAME="MT_AUTOFILTERS" VERSION="1" LANGU="E" DESCRIPT="All autofilters" EXPOSURE="0" STATE="1" EDITORDER="1 " ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="TT_AUTOFILTERS" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<method CLSNAME="ZCL_EXCEL_AUTOFILTERS" CMPNAME="ADD" VERSION="1" LANGU="E" DESCRIPT="Adds an Element to the Collection" EXPOSURE="2" STATE="1" EDITORDER="1 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" MTDNEWEXC="X" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL_AUTOFILTERS" CMPNAME="ADD" SCONAME="IO_SHEET" VERSION="1" LANGU="E" DESCRIPT="Worksheet" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="3" TYPE="ZCL_EXCEL_WORKSHEET"/>
<parameter CLSNAME="ZCL_EXCEL_AUTOFILTERS" CMPNAME="ADD" SCONAME="RO_AUTOFILTER" VERSION="1" LANGU="E" DESCRIPT="Autofilter" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="3" TYPE="ZCL_EXCEL_AUTOFILTER"/>
<exception CLSNAME="ZCL_EXCEL_AUTOFILTERS" CMPNAME="ADD" SCONAME="ZCX_EXCEL" VERSION="1" LANGU="E" DESCRIPT="Exceptions for ABAP2XLSX" MTDTYPE="0" EDITORDER="1 "/>
<source>METHOD add.
DATA: ls_autofilter LIKE LINE OF me-&gt;mt_autofilters.
FIELD-SYMBOLS: &lt;ls_autofilter&gt; LIKE LINE OF me-&gt;mt_autofilters.
READ TABLE me-&gt;mt_autofilters ASSIGNING &lt;ls_autofilter&gt; WITH TABLE KEY worksheet = io_sheet.
IF sy-subrc = 0.
RAISE EXCEPTION TYPE zcx_excel. &quot; adding another autofilter to sheet is not allowed
ENDIF.
CREATE OBJECT ro_autofilter
EXPORTING
io_sheet = io_sheet.
ls_autofilter-worksheet = io_sheet.
ls_autofilter-autofilter = ro_autofilter.
INSERT ls_autofilter INTO TABLE me-&gt;mt_autofilters.
ENDMETHOD.</source>
</method>
<method CLSNAME="ZCL_EXCEL_AUTOFILTERS" CMPNAME="CLEAR" VERSION="1" LANGU="E" DESCRIPT="Initializes the Collection" EXPOSURE="2" STATE="1" EDITORDER="2 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
<source>METHOD clear.
CLEAR me-&gt;mt_autofilters.
ENDMETHOD.</source>
</method>
<method CLSNAME="ZCL_EXCEL_AUTOFILTERS" CMPNAME="GET" VERSION="1" LANGU="E" DESCRIPT="Gets Element" EXPOSURE="2" STATE="1" EDITORDER="3 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL_AUTOFILTERS" CMPNAME="GET" SCONAME="IO_WORKSHEET" VERSION="1" LANGU="E" DESCRIPT="Worksheet" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="3" TYPE="ZCL_EXCEL_WORKSHEET" PAROPTIONL="X"/>
<parameter CLSNAME="ZCL_EXCEL_AUTOFILTERS" CMPNAME="GET" SCONAME="I_SHEET_GUID" VERSION="1" LANGU="E" DESCRIPT="Global Unique ID for table" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="UUID" PAROPTIONL="X"/>
<parameter CLSNAME="ZCL_EXCEL_AUTOFILTERS" CMPNAME="GET" SCONAME="RO_AUTOFILTER" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="3 " DISPID="0 " PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="3" TYPE="ZCL_EXCEL_AUTOFILTER"/>
<source>METHOD get.
DATA: ls_autofilter LIKE LINE OF me-&gt;mt_autofilters.
FIELD-SYMBOLS: &lt;ls_autofilter&gt; LIKE LINE OF me-&gt;mt_autofilters.
READ TABLE me-&gt;mt_autofilters ASSIGNING &lt;ls_autofilter&gt; WITH TABLE KEY worksheet = io_worksheet.
IF sy-subrc = 0.
ro_autofilter = &lt;ls_autofilter&gt;-autofilter.
ELSE.
CLEAR ro_autofilter.
ENDIF.
ENDMETHOD.</source>
</method>
<method CLSNAME="ZCL_EXCEL_AUTOFILTERS" CMPNAME="IS_EMPTY" VERSION="1" LANGU="E" DESCRIPT="Checks whether elements are contained" EXPOSURE="2" STATE="1" EDITORDER="4 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL_AUTOFILTERS" CMPNAME="IS_EMPTY" SCONAME="R_EMPTY" VERSION="1" LANGU="E" DESCRIPT="General Flag" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="FLAG"/>
<source>METHOD is_empty.
IF me-&gt;mt_autofilters IS INITIAL.
r_empty = abap_true.
ENDIF.
ENDMETHOD.</source>
</method>
<method CLSNAME="ZCL_EXCEL_AUTOFILTERS" CMPNAME="REMOVE" VERSION="1" LANGU="E" DESCRIPT="Deletes an Element from the Collection" EXPOSURE="2" STATE="1" EDITORDER="5 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL_AUTOFILTERS" CMPNAME="REMOVE" SCONAME="IO_SHEET" VERSION="1" LANGU="E" DESCRIPT="REF TO ZCL_EXCEL_WORKSHEET or UUID" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ANY"/>
<source>METHOD remove.
DATA: lo_worksheet TYPE REF TO zcl_excel_worksheet.
FIELD-SYMBOLS: &lt;ls_autofilter&gt; LIKE LINE OF me-&gt;mt_autofilters.
DELETE TABLE me-&gt;mt_autofilters WITH TABLE KEY worksheet = lo_worksheet.
ENDMETHOD.</source>
</method>
<method CLSNAME="ZCL_EXCEL_AUTOFILTERS" CMPNAME="SIZE" VERSION="1" LANGU="E" DESCRIPT="Specifies number of contained elements" EXPOSURE="2" STATE="1" EDITORDER="6 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL_AUTOFILTERS" CMPNAME="SIZE" SCONAME="R_SIZE" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="I"/>
<source>METHOD size.
DESCRIBE TABLE me-&gt;mt_autofilters LINES r_size.
ENDMETHOD.</source>
</method>
</CLAS>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<CLAS CLSNAME="ZCL_EXCEL" VERSION="1" LANGU="E" DESCRIPT="Excel creator" CATEGORY="00" EXPOSURE="2" STATE="1" RELEASE="0" CLSCCINCL="X" FIXPT="X" UNICODE="X" CLSBCCAT="00" DURATION_TYPE="0 " RISK_LEVEL="0 ">
<CLAS CLSNAME="ZCL_EXCEL" VERSION="1" LANGU="E" DESCRIPT="Excel creator" CATEGORY="00" EXPOSURE="2" STATE="1" RELEASE="0" CLSCCINCL="X" FIXPT="X" UNICODE="X" CLSBCCAT="00" DURATION_TYPE="0 " RISK_LEVEL="0 " ZSAPLINK_PLUGIN_MAJOR_VERSION="0 " ZSAPLINK_PLUGIN_MINOR_VERSION="1 " ZSAPLINK_PLUGIN_BUILD_VERSION="0 " ZSAPLINK_PLUGIN_INFO1="ZSAPLINK_CLASS is part of the main ZSAPLINK project --&gt; This plugin found there instead of ZSAPLINK_PLUGINS projects" ZSAPLINK_PLUGIN_INFO2="SAPLINK homepage: https://www.assembla.com/spaces/saplink/wiki" ZSAPLINK_PLUGIN_INFO3="Download from https://www.assembla.com/code/saplink/subversion/nodes" ZSAPLINK_PLUGIN_INFO4="and navigate to: trunk -&gt; core -&gt; ZSAPLINK -&gt; CLAS -&gt; ZSAPLINK_CLASS.slnk">
<implementing CLSNAME="ZCL_EXCEL" REFCLSNAME="ZIF_EXCEL_BOOK_VBA_PROJECT" VERSION="1" EXPOSURE="2" STATE="1" RELTYPE="1" EDITORDER="0 "/>
<implementing CLSNAME="ZCL_EXCEL" REFCLSNAME="ZIF_EXCEL_BOOK_PROTECTION" VERSION="1" EXPOSURE="2" STATE="1" RELTYPE="1" EDITORDER="0 "/>
<implementing CLSNAME="ZCL_EXCEL" REFCLSNAME="ZIF_EXCEL_BOOK_PROPERTIES" VERSION="1" EXPOSURE="2" STATE="1" RELTYPE="1" EDITORDER="0 "/>
@ -111,6 +111,12 @@ CLASS zcl_tc_excel IMPLEMENTATION.
ENDCLASS. &quot;zcl_Tc_Excel</localTestClasses>
<textPool>
<language SPRAS="E">
<textElement ID="I" KEY="001" ENTRY="Worksheet not existing" LENGTH="30 "/>
<textElement ID="I" KEY="002" ENTRY="Deleting last remaining worksheet is not allowed" LENGTH="60 "/>
</language>
</textPool>
<attribute CLSNAME="ZCL_EXCEL" CMPNAME="AUTOFILTERS" VERSION="1" LANGU="E" DESCRIPT="Autofilters collection" EXPOSURE="0" STATE="1" EDITORDER="2 " ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="3" TYPE="ZCL_EXCEL_AUTOFILTERS" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL" CMPNAME="CHARTS" VERSION="1" LANGU="E" DESCRIPT="Charts collection" EXPOSURE="0" STATE="1" EDITORDER="3 " ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="3" TYPE="ZCL_EXCEL_DRAWINGS" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL" CMPNAME="DEFAULT_STYLE" VERSION="1" LANGU="E" DESCRIPT="Style identifier" EXPOSURE="0" STATE="1" EDITORDER="4 " ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_CELL_STYLE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
@ -164,17 +170,18 @@ ENDMETHOD.</source>
me-&gt;zif_excel_book_vba_project~vbaproject = ip_vbaproject.
endmethod.</source>
</interfaceMethod>
<method CLSNAME="ZCL_EXCEL" CMPNAME="ADD_NEW_AUTOFILTER" VERSION="1" LANGU="E" DESCRIPT="Create a new autofilter" EXPOSURE="2" STATE="1" EDITORDER="1 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
<method CLSNAME="ZCL_EXCEL" CMPNAME="ADD_NEW_AUTOFILTER" VERSION="1" LANGU="E" DESCRIPT="Create a new autofilter" EXPOSURE="2" STATE="1" EDITORDER="1 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" MTDNEWEXC="X" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL" CMPNAME="ADD_NEW_AUTOFILTER" SCONAME="IO_SHEET" VERSION="1" LANGU="E" DESCRIPT="Sheet GUID for the OLTP System (RAW16)" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="3" TYPE="ZCL_EXCEL_WORKSHEET"/>
<parameter CLSNAME="ZCL_EXCEL" CMPNAME="ADD_NEW_AUTOFILTER" SCONAME="RO_AUTOFILTER" VERSION="1" LANGU="E" DESCRIPT="Worksheet" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="3" TYPE="ZCL_EXCEL_AUTOFILTER"/>
<source>method ADD_NEW_AUTOFILTER.
<exception CLSNAME="ZCL_EXCEL" CMPNAME="ADD_NEW_AUTOFILTER" SCONAME="ZCX_EXCEL" VERSION="1" LANGU="E" DESCRIPT="Exceptions for ABAP2XLSX" MTDTYPE="0" EDITORDER="1 "/>
<source>METHOD add_new_autofilter.
* Check for autofilter reference: new or overwrite; only one per sheet
ro_autofilter = autofilters-&gt;add( io_sheet = io_sheet ) .
endmethod.</source>
ro_autofilter = autofilters-&gt;add( io_sheet ) .
ENDMETHOD.</source>
</method>
<method CLSNAME="ZCL_EXCEL" CMPNAME="ADD_NEW_DRAWING" VERSION="1" LANGU="E" DESCRIPT="Create a new drawing" EXPOSURE="2" STATE="1" EDITORDER="2 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL" CMPNAME="ADD_NEW_DRAWING" SCONAME="IP_TYPE" VERSION="1" LANGU="E" DESCRIPT="Excel Drawing type" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_DRAWING_TYPE" PARVALUE="ZCL_EXCEL_DRAWING=&gt;TYPE_IMAGE"/>
<parameter CLSNAME="ZCL_EXCEL" CMPNAME="ADD_NEW_DRAWING" SCONAME="IP_TITLE" VERSION="1" LANGU="E" DESCRIPT="Title" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_SHEET_TITLE" PAROPTIONL="X"/>
<parameter CLSNAME="ZCL_EXCEL" CMPNAME="ADD_NEW_DRAWING" SCONAME="IP_TITLE" VERSION="1" LANGU="E" DESCRIPT="Title" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="CLIKE" PAROPTIONL="X"/>
<parameter CLSNAME="ZCL_EXCEL" CMPNAME="ADD_NEW_DRAWING" SCONAME="EO_DRAWING" VERSION="1" LANGU="E" DESCRIPT="Drawing" CMPTYPE="1" MTDTYPE="0" EDITORDER="3 " DISPID="0 " PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="3" TYPE="ZCL_EXCEL_DRAWING"/>
<source>method ADD_NEW_DRAWING.
DATA: lv_guid TYPE guid_16.
@ -290,13 +297,73 @@ ENDMETHOD.</source>
endmethod.</source>
</method>
<method CLSNAME="ZCL_EXCEL" CMPNAME="GET_ACTIVE_SHEET_INDEX" VERSION="1" LANGU="E" DESCRIPT="Get active worksheet index" EXPOSURE="2" STATE="1" EDITORDER="8 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
<method CLSNAME="ZCL_EXCEL" CMPNAME="DELETE_WORKSHEET" VERSION="1" LANGU="E" DESCRIPT="Delete worksheet" EXPOSURE="2" STATE="1" EDITORDER="8 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" MTDNEWEXC="X" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL" CMPNAME="DELETE_WORKSHEET" SCONAME="IO_WORKSHEET" VERSION="1" LANGU="E" DESCRIPT="Worksheet" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="3" TYPE="ZCL_EXCEL_WORKSHEET"/>
<exception CLSNAME="ZCL_EXCEL" CMPNAME="DELETE_WORKSHEET" SCONAME="ZCX_EXCEL" VERSION="1" LANGU="E" DESCRIPT="Exceptions for ABAP2XLSX" MTDTYPE="0" EDITORDER="1 "/>
<source>METHOD delete_worksheet.
DATA: lo_worksheet TYPE REF TO zcl_excel_worksheet,
l_size TYPE i,
lv_errormessage TYPE string.
l_size = get_worksheets_size( ).
IF l_size = 1. &quot; Only 1 worksheet left --&gt; check whether this is the worksheet to be deleted
lo_worksheet = me-&gt;get_worksheet_by_index( 1 ).
IF lo_worksheet = io_worksheet.
lv_errormessage = &apos;Deleting last remaining worksheet is not allowed&apos;(002).
RAISE EXCEPTION TYPE zcx_excel
EXPORTING
error = lv_errormessage.
ENDIF.
ENDIF.
me-&gt;worksheets-&gt;remove( io_worksheet ).
ENDMETHOD.</source>
</method>
<method CLSNAME="ZCL_EXCEL" CMPNAME="DELETE_WORKSHEET_BY_INDEX" VERSION="1" LANGU="E" DESCRIPT="Delete worksheet by index" EXPOSURE="2" STATE="1" EDITORDER="10 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL" CMPNAME="DELETE_WORKSHEET_BY_INDEX" SCONAME="IV_INDEX" VERSION="1" LANGU="E" DESCRIPT="Index of worksheet to delete" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="NUMERIC"/>
<source>METHOD delete_worksheet_by_index.
DATA: lo_worksheet TYPE REF TO zcl_excel_worksheet,
lv_errormessage TYPE string.
lo_worksheet = me-&gt;get_worksheet_by_index( iv_index ).
IF lo_worksheet IS NOT BOUND.
lv_errormessage = &apos;Worksheet not existing&apos;(001).
RAISE EXCEPTION TYPE zcx_excel
EXPORTING
error = lv_errormessage.
ENDIF.
me-&gt;delete_worksheet( lo_worksheet ).
ENDMETHOD.</source>
</method>
<method CLSNAME="ZCL_EXCEL" CMPNAME="DELETE_WORKSHEET_BY_NAME" VERSION="1" LANGU="E" DESCRIPT="Delete worksheet by name" EXPOSURE="2" STATE="1" EDITORDER="9 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL" CMPNAME="DELETE_WORKSHEET_BY_NAME" SCONAME="IV_TITLE" VERSION="1" LANGU="E" DESCRIPT="Title of worksheet to delete" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="CLIKE"/>
<source>METHOD delete_worksheet_by_name.
DATA: lo_worksheet TYPE REF TO zcl_excel_worksheet,
lv_errormessage TYPE string.
lo_worksheet = me-&gt;get_worksheet_by_name( iv_title ).
IF lo_worksheet IS NOT BOUND.
lv_errormessage = &apos;Worksheet not existing&apos;(001).
RAISE EXCEPTION TYPE zcx_excel
EXPORTING
error = lv_errormessage.
ENDIF.
me-&gt;delete_worksheet( lo_worksheet ).
ENDMETHOD.</source>
</method>
<method CLSNAME="ZCL_EXCEL" CMPNAME="GET_ACTIVE_SHEET_INDEX" VERSION="1" LANGU="E" DESCRIPT="Get active worksheet index" EXPOSURE="2" STATE="1" EDITORDER="11 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL" CMPNAME="GET_ACTIVE_SHEET_INDEX" SCONAME="R_ACTIVE_WORKSHEET" VERSION="1" LANGU="E" DESCRIPT="Active Worksheet" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="ZEXCEL_ACTIVE_WORKSHEET"/>
<source>method GET_ACTIVE_SHEET_INDEX.
r_active_worksheet = me-&gt;worksheets-&gt;active_worksheet.
endmethod.</source>
</method>
<method CLSNAME="ZCL_EXCEL" CMPNAME="GET_ACTIVE_WORKSHEET" VERSION="1" LANGU="E" DESCRIPT="Get active worksheet" EXPOSURE="2" STATE="1" EDITORDER="9 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
<method CLSNAME="ZCL_EXCEL" CMPNAME="GET_ACTIVE_WORKSHEET" VERSION="1" LANGU="E" DESCRIPT="Get active worksheet" EXPOSURE="2" STATE="1" EDITORDER="12 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL" CMPNAME="GET_ACTIVE_WORKSHEET" SCONAME="EO_WORKSHEET" VERSION="1" LANGU="E" DESCRIPT="Worksheet" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="3" TYPE="ZCL_EXCEL_WORKSHEET"/>
<source>method GET_ACTIVE_WORKSHEET.
@ -304,7 +371,7 @@ ENDMETHOD.</source>
endmethod.</source>
</method>
<method CLSNAME="ZCL_EXCEL" CMPNAME="GET_AUTOFILTERS_REFERENCE" VERSION="1" LANGU="E" DESCRIPT="Get filter reference" EXPOSURE="2" STATE="1" EDITORDER="10 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
<method CLSNAME="ZCL_EXCEL" CMPNAME="GET_AUTOFILTERS_REFERENCE" VERSION="1" LANGU="E" DESCRIPT="Get filter reference" EXPOSURE="2" STATE="1" EDITORDER="13 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL" CMPNAME="GET_AUTOFILTERS_REFERENCE" SCONAME="RO_AUTOFILTERS" VERSION="1" LANGU="E" DESCRIPT="Autofilters collection" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="3" TYPE="ZCL_EXCEL_AUTOFILTERS"/>
<source>method GET_AUTOFILTERS_REFERENCE.
@ -312,13 +379,13 @@ ENDMETHOD.</source>
endmethod.</source>
</method>
<method CLSNAME="ZCL_EXCEL" CMPNAME="GET_DEFAULT_STYLE" VERSION="1" LANGU="E" DESCRIPT="Get default style" EXPOSURE="2" STATE="1" EDITORDER="11 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
<method CLSNAME="ZCL_EXCEL" CMPNAME="GET_DEFAULT_STYLE" VERSION="1" LANGU="E" DESCRIPT="Get default style" EXPOSURE="2" STATE="1" EDITORDER="14 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL" CMPNAME="GET_DEFAULT_STYLE" SCONAME="EP_STYLE" VERSION="1" LANGU="E" DESCRIPT="Style identifier" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="ZEXCEL_CELL_STYLE"/>
<source>method GET_DEFAULT_STYLE.
ep_style = me-&gt;default_style.
endmethod.</source>
</method>
<method CLSNAME="ZCL_EXCEL" CMPNAME="GET_DRAWINGS_ITERATOR" VERSION="1" LANGU="E" DESCRIPT="Get drawing iterator" EXPOSURE="2" STATE="1" EDITORDER="12 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
<method CLSNAME="ZCL_EXCEL" CMPNAME="GET_DRAWINGS_ITERATOR" VERSION="1" LANGU="E" DESCRIPT="Get drawing iterator" EXPOSURE="2" STATE="1" EDITORDER="15 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL" CMPNAME="GET_DRAWINGS_ITERATOR" SCONAME="IP_TYPE" VERSION="1" LANGU="E" DESCRIPT="Excel Drawing type" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_DRAWING_TYPE"/>
<parameter CLSNAME="ZCL_EXCEL" CMPNAME="GET_DRAWINGS_ITERATOR" SCONAME="EO_ITERATOR" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="3" TYPE="CL_OBJECT_COLLECTION_ITERATOR"/>
<source>method GET_DRAWINGS_ITERATOR.
@ -333,7 +400,7 @@ ENDMETHOD.</source>
endmethod.</source>
</method>
<method CLSNAME="ZCL_EXCEL" CMPNAME="GET_NEXT_TABLE_ID" VERSION="1" LANGU="E" DESCRIPT="Get table ID unique across sheets" EXPOSURE="2" STATE="1" EDITORDER="13 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
<method CLSNAME="ZCL_EXCEL" CMPNAME="GET_NEXT_TABLE_ID" VERSION="1" LANGU="E" DESCRIPT="Get table ID unique across sheets" EXPOSURE="2" STATE="1" EDITORDER="16 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL" CMPNAME="GET_NEXT_TABLE_ID" SCONAME="EP_ID" VERSION="1" LANGU="E" DESCRIPT="ID" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="I"/>
<source>method GET_NEXT_TABLE_ID.
DATA: lo_worksheet TYPE REF TO zcl_excel_worksheet,
@ -353,7 +420,7 @@ ENDMETHOD.</source>
endmethod.</source>
</method>
<method CLSNAME="ZCL_EXCEL" CMPNAME="GET_RANGES_ITERATOR" VERSION="1" LANGU="E" DESCRIPT="Get ranges iterator" EXPOSURE="2" STATE="1" EDITORDER="14 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
<method CLSNAME="ZCL_EXCEL" CMPNAME="GET_RANGES_ITERATOR" VERSION="1" LANGU="E" DESCRIPT="Get ranges iterator" EXPOSURE="2" STATE="1" EDITORDER="17 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL" CMPNAME="GET_RANGES_ITERATOR" SCONAME="EO_ITERATOR" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="3" TYPE="CL_OBJECT_COLLECTION_ITERATOR"/>
<source>method GET_RANGES_ITERATOR.
@ -361,12 +428,12 @@ ENDMETHOD.</source>
endmethod.</source>
</method>
<method CLSNAME="ZCL_EXCEL" CMPNAME="GET_STATIC_CELLSTYLE_GUID" VERSION="1" LANGU="E" DESCRIPT="Get GUID for static cellstyle" EXPOSURE="2" STATE="1" EDITORDER="15 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
<method CLSNAME="ZCL_EXCEL" CMPNAME="GET_STATIC_CELLSTYLE_GUID" VERSION="1" LANGU="E" DESCRIPT="Get GUID for static cellstyle" EXPOSURE="2" STATE="1" EDITORDER="18 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL" CMPNAME="GET_STATIC_CELLSTYLE_GUID" SCONAME="IP_CSTYLE_COMPLETE" VERSION="1" LANGU="E" DESCRIPT="Values for Cellstyles ( 1 structure holds all )" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_S_CSTYLE_COMPLETE"/>
<parameter CLSNAME="ZCL_EXCEL" CMPNAME="GET_STATIC_CELLSTYLE_GUID" SCONAME="IP_CSTYLEX_COMPLETE" VERSION="1" LANGU="E" DESCRIPT="Changeflag for Cellstyles ( 1 structure holds all )" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_S_CSTYLEX_COMPLETE"/>
<parameter CLSNAME="ZCL_EXCEL" CMPNAME="GET_STATIC_CELLSTYLE_GUID" SCONAME="EP_GUID" VERSION="1" LANGU="E" DESCRIPT="Style identifier" CMPTYPE="1" MTDTYPE="0" EDITORDER="3 " DISPID="0 " PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="ZEXCEL_CELL_STYLE"/>
<source>method GET_STATIC_CELLSTYLE_GUID.
&quot; # issue 139
<source>METHOD get_static_cellstyle_guid.
&quot; # issue 139
DATA: style LIKE LINE OF me-&gt;t_stylemapping1.
READ TABLE me-&gt;t_stylemapping1 INTO style
@ -376,18 +443,19 @@ ENDMETHOD.</source>
IF sy-subrc &lt;&gt; 0.
style-complete_style = ip_cstyle_complete.
style-complete_stylex = ip_cstylex_complete.
CALL FUNCTION &apos;GUID_CREATE&apos;
IMPORTING
ev_guid_16 = style-guid.
* CALL FUNCTION &apos;GUID_CREATE&apos; &quot; del issue #379 - function is outdated in newer releases
* IMPORTING
* ev_guid_16 = style-guid.
style-guid = zcl_excel_obsolete_func_wrap=&gt;guid_create( ). &quot; ins issue #379 - replacement for outdated function call
INSERT style INTO TABLE me-&gt;t_stylemapping1.
INSERT style INTO TABLE me-&gt;t_stylemapping2.
ENDIF.
ep_guid = style-guid.
endmethod.</source>
ENDMETHOD.</source>
</method>
<method CLSNAME="ZCL_EXCEL" CMPNAME="GET_STYLES_ITERATOR" VERSION="1" LANGU="E" DESCRIPT="Get styles iterator" EXPOSURE="2" STATE="1" EDITORDER="16 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
<method CLSNAME="ZCL_EXCEL" CMPNAME="GET_STYLES_ITERATOR" VERSION="1" LANGU="E" DESCRIPT="Get styles iterator" EXPOSURE="2" STATE="1" EDITORDER="19 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL" CMPNAME="GET_STYLES_ITERATOR" SCONAME="EO_ITERATOR" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="3" TYPE="CL_OBJECT_COLLECTION_ITERATOR"/>
<source>method GET_STYLES_ITERATOR.
@ -395,7 +463,7 @@ ENDMETHOD.</source>
endmethod.</source>
</method>
<method CLSNAME="ZCL_EXCEL" CMPNAME="GET_STYLE_INDEX_IN_STYLES" VERSION="1" LANGU="E" DESCRIPT="Get index of style in styles" EXPOSURE="2" STATE="1" EDITORDER="17 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" MTDNEWEXC="X" BCMTDCAT="00" BCMTDSYN="0">
<method CLSNAME="ZCL_EXCEL" CMPNAME="GET_STYLE_INDEX_IN_STYLES" VERSION="1" LANGU="E" DESCRIPT="Get index of style in styles" EXPOSURE="2" STATE="1" EDITORDER="20 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" MTDNEWEXC="X" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL" CMPNAME="GET_STYLE_INDEX_IN_STYLES" SCONAME="IP_GUID" VERSION="1" LANGU="E" DESCRIPT="Style identifier" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_CELL_STYLE"/>
<parameter CLSNAME="ZCL_EXCEL" CMPNAME="GET_STYLE_INDEX_IN_STYLES" SCONAME="EP_INDEX" VERSION="1" LANGU="E" DESCRIPT="Index of Internal Tables" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="SYTABIX"/>
<exception CLSNAME="ZCL_EXCEL" CMPNAME="GET_STYLE_INDEX_IN_STYLES" SCONAME="ZCX_EXCEL" VERSION="1" LANGU="E" DESCRIPT="Exceptions for ABAP2XLSX" MTDTYPE="0" EDITORDER="1 "/>
@ -426,7 +494,7 @@ ENDMETHOD.</source>
ENDIF.
endmethod.</source>
</method>
<method CLSNAME="ZCL_EXCEL" CMPNAME="GET_STYLE_TO_GUID" VERSION="1" LANGU="E" DESCRIPT="Get style(structure) for guid" EXPOSURE="2" STATE="1" EDITORDER="18 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" MTDNEWEXC="X" BCMTDCAT="00" BCMTDSYN="0">
<method CLSNAME="ZCL_EXCEL" CMPNAME="GET_STYLE_TO_GUID" VERSION="1" LANGU="E" DESCRIPT="Get style(structure) for guid" EXPOSURE="2" STATE="1" EDITORDER="21 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" MTDNEWEXC="X" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL" CMPNAME="GET_STYLE_TO_GUID" SCONAME="IP_GUID" VERSION="1" LANGU="E" DESCRIPT="Style identifier" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_CELL_STYLE"/>
<parameter CLSNAME="ZCL_EXCEL" CMPNAME="GET_STYLE_TO_GUID" SCONAME="EP_STYLEMAPPING" VERSION="1" LANGU="E" DESCRIPT="Stypemapping" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="ZEXCEL_S_STYLEMAPPING"/>
<exception CLSNAME="ZCL_EXCEL" CMPNAME="GET_STYLE_TO_GUID" SCONAME="ZCX_EXCEL" VERSION="1" LANGU="E" DESCRIPT="Exceptions for ABAP2XLSX" MTDTYPE="0" EDITORDER="1 "/>
@ -449,7 +517,7 @@ ENDMETHOD.</source>
endmethod.</source>
</method>
<method CLSNAME="ZCL_EXCEL" CMPNAME="GET_WORKSHEETS_ITERATOR" VERSION="1" LANGU="E" DESCRIPT="Get worksheets iterator" EXPOSURE="2" STATE="1" EDITORDER="19 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
<method CLSNAME="ZCL_EXCEL" CMPNAME="GET_WORKSHEETS_ITERATOR" VERSION="1" LANGU="E" DESCRIPT="Get worksheets iterator" EXPOSURE="2" STATE="1" EDITORDER="22 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL" CMPNAME="GET_WORKSHEETS_ITERATOR" SCONAME="EO_ITERATOR" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="3" TYPE="CL_OBJECT_COLLECTION_ITERATOR"/>
<source>method GET_WORKSHEETS_ITERATOR.
@ -457,7 +525,7 @@ ENDMETHOD.</source>
endmethod.</source>
</method>
<method CLSNAME="ZCL_EXCEL" CMPNAME="GET_WORKSHEETS_NAME" VERSION="1" LANGU="E" DESCRIPT="Returns the name of worksheets" EXPOSURE="2" STATE="1" EDITORDER="20 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
<method CLSNAME="ZCL_EXCEL" CMPNAME="GET_WORKSHEETS_NAME" VERSION="1" LANGU="E" DESCRIPT="Returns the name of worksheets" EXPOSURE="2" STATE="1" EDITORDER="23 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL" CMPNAME="GET_WORKSHEETS_NAME" SCONAME="EP_NAME" VERSION="1" LANGU="E" DESCRIPT="Worksheets name" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="ZEXCEL_WORKSHEETS_NAME"/>
<source>method GET_WORKSHEETS_NAME.
@ -465,21 +533,34 @@ ENDMETHOD.</source>
endmethod.</source>
</method>
<method CLSNAME="ZCL_EXCEL" CMPNAME="GET_WORKSHEETS_SIZE" VERSION="1" LANGU="E" DESCRIPT="Returns the number of worksheets" EXPOSURE="2" STATE="1" EDITORDER="21 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
<method CLSNAME="ZCL_EXCEL" CMPNAME="GET_WORKSHEETS_SIZE" VERSION="1" LANGU="E" DESCRIPT="Returns the number of worksheets" EXPOSURE="2" STATE="1" EDITORDER="24 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL" CMPNAME="GET_WORKSHEETS_SIZE" SCONAME="EP_SIZE" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="I"/>
<source>method GET_WORKSHEETS_SIZE.
<source>METHOD get_worksheets_size.
ep_size = me-&gt;worksheets-&gt;size( ).
endmethod.</source>
ENDMETHOD.</source>
</method>
<method CLSNAME="ZCL_EXCEL" CMPNAME="GET_WORKSHEET_BY_NAME" VERSION="1" LANGU="E" DESCRIPT="Get worksheet by name" EXPOSURE="2" STATE="1" EDITORDER="22 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
<method CLSNAME="ZCL_EXCEL" CMPNAME="GET_WORKSHEET_BY_INDEX" VERSION="1" LANGU="E" DESCRIPT="Get worksheet by index" EXPOSURE="2" STATE="1" EDITORDER="26 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL" CMPNAME="GET_WORKSHEET_BY_INDEX" SCONAME="IV_INDEX" VERSION="1" LANGU="E" DESCRIPT="Index of worksheet" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="NUMERIC"/>
<parameter CLSNAME="ZCL_EXCEL" CMPNAME="GET_WORKSHEET_BY_INDEX" SCONAME="EO_WORKSHEET" VERSION="1" LANGU="E" DESCRIPT="Worksheet" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="3" TYPE="ZCL_EXCEL_WORKSHEET"/>
<source>METHOD get_worksheet_by_index.
DATA: lv_index TYPE zexcel_active_worksheet.
lv_index = iv_index.
eo_worksheet = me-&gt;worksheets-&gt;get( lv_index ).
ENDMETHOD.</source>
</method>
<method CLSNAME="ZCL_EXCEL" CMPNAME="GET_WORKSHEET_BY_NAME" VERSION="1" LANGU="E" DESCRIPT="Get worksheet by name" EXPOSURE="2" STATE="1" EDITORDER="25 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL" CMPNAME="GET_WORKSHEET_BY_NAME" SCONAME="IP_SHEET_NAME" VERSION="1" LANGU="E" DESCRIPT="Title" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_SHEET_TITLE"/>
<parameter CLSNAME="ZCL_EXCEL" CMPNAME="GET_WORKSHEET_BY_NAME" SCONAME="EO_WORKSHEET" VERSION="1" LANGU="E" DESCRIPT="Worksheet" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="3" TYPE="ZCL_EXCEL_WORKSHEET"/>
<source>method GET_WORKSHEET_BY_NAME.
<source>METHOD get_worksheet_by_name.
DATA: lv_index TYPE zexcel_active_worksheet,
l_size TYPE i.
DATA: lv_index TYPE zexcel_active_worksheet,
l_size TYPE i.
l_size = get_worksheets_size( ).
@ -493,22 +574,38 @@ ENDMETHOD.</source>
CLEAR eo_worksheet.
endmethod.</source>
ENDMETHOD.</source>
</method>
<method CLSNAME="ZCL_EXCEL" CMPNAME="SET_ACTIVE_SHEET_INDEX" VERSION="1" LANGU="E" DESCRIPT="Set active worksheet index" EXPOSURE="2" STATE="1" EDITORDER="23 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
<method CLSNAME="ZCL_EXCEL" CMPNAME="SET_ACTIVE_SHEET_INDEX" VERSION="1" LANGU="E" DESCRIPT="Set active worksheet index" EXPOSURE="2" STATE="1" EDITORDER="27 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" MTDNEWEXC="X" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL" CMPNAME="SET_ACTIVE_SHEET_INDEX" SCONAME="I_ACTIVE_WORKSHEET" VERSION="1" LANGU="E" DESCRIPT="Active Worksheet" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_ACTIVE_WORKSHEET"/>
<source>method SET_ACTIVE_SHEET_INDEX.
me-&gt;worksheets-&gt;active_worksheet = i_active_worksheet.
endmethod.</source>
</method>
<method CLSNAME="ZCL_EXCEL" CMPNAME="SET_ACTIVE_SHEET_INDEX_BY_NAME" VERSION="1" LANGU="E" DESCRIPT="Set active worksheet index by name" EXPOSURE="2" STATE="1" EDITORDER="24 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL" CMPNAME="SET_ACTIVE_SHEET_INDEX_BY_NAME" SCONAME="I_WORKSHEET_NAME" VERSION="1" LANGU="E" DESCRIPT="Worksheets name" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_WORKSHEETS_NAME"/>
<source>method SET_ACTIVE_SHEET_INDEX_BY_NAME.
<exception CLSNAME="ZCL_EXCEL" CMPNAME="SET_ACTIVE_SHEET_INDEX" SCONAME="ZCX_EXCEL" VERSION="1" LANGU="E" DESCRIPT="Exceptions for ABAP2XLSX" MTDTYPE="0" EDITORDER="1 "/>
<source>METHOD set_active_sheet_index.
DATA: lo_worksheet TYPE REF TO zcl_excel_worksheet,
lv_errormessage TYPE string.
DATA: ws_it TYPE REF TO cl_object_collection_iterator,
ws TYPE REF TO zcl_excel_worksheet,
lv_title TYPE ZEXCEL_SHEET_TITLE,
count TYPE i VALUE 1.
*--------------------------------------------------------------------*
* Check whether worksheet exists
*--------------------------------------------------------------------*
lo_worksheet = me-&gt;get_worksheet_by_index( i_active_worksheet ).
IF lo_worksheet IS NOT BOUND.
lv_errormessage = &apos;Worksheet not existing&apos;(001).
RAISE EXCEPTION TYPE zcx_excel
EXPORTING
error = lv_errormessage.
ENDIF.
me-&gt;worksheets-&gt;active_worksheet = i_active_worksheet.
ENDMETHOD.</source>
</method>
<method CLSNAME="ZCL_EXCEL" CMPNAME="SET_ACTIVE_SHEET_INDEX_BY_NAME" VERSION="1" LANGU="E" DESCRIPT="Set active worksheet index by name" EXPOSURE="2" STATE="1" EDITORDER="28 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL" CMPNAME="SET_ACTIVE_SHEET_INDEX_BY_NAME" SCONAME="I_WORKSHEET_NAME" VERSION="1" LANGU="E" DESCRIPT="Worksheets name" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_WORKSHEETS_NAME"/>
<source>METHOD set_active_sheet_index_by_name.
DATA: ws_it TYPE REF TO cl_object_collection_iterator,
ws TYPE REF TO zcl_excel_worksheet,
lv_title TYPE zexcel_sheet_title,
count TYPE i VALUE 1.
ws_it = me-&gt;worksheets-&gt;get_iterator( ).
@ -522,16 +619,16 @@ ENDMETHOD.</source>
count = count + 1.
ENDWHILE.
endmethod.</source>
ENDMETHOD.</source>
</method>
<method CLSNAME="ZCL_EXCEL" CMPNAME="SET_DEFAULT_STYLE" VERSION="1" LANGU="E" DESCRIPT="Set default style" EXPOSURE="2" STATE="1" EDITORDER="25 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" MTDNEWEXC="X" BCMTDCAT="00" BCMTDSYN="0">
<method CLSNAME="ZCL_EXCEL" CMPNAME="SET_DEFAULT_STYLE" VERSION="1" LANGU="E" DESCRIPT="Set default style" EXPOSURE="2" STATE="1" EDITORDER="29 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" MTDNEWEXC="X" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL" CMPNAME="SET_DEFAULT_STYLE" SCONAME="IP_STYLE" VERSION="1" LANGU="E" DESCRIPT="Style identifier" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_CELL_STYLE"/>
<exception CLSNAME="ZCL_EXCEL" CMPNAME="SET_DEFAULT_STYLE" SCONAME="ZCX_EXCEL" VERSION="1" LANGU="E" DESCRIPT="Exceptions for ABAP2XLSX" MTDTYPE="0" EDITORDER="1 "/>
<source>method SET_DEFAULT_STYLE.
me-&gt;default_style = ip_style.
endmethod.</source>
</method>
<method CLSNAME="ZCL_EXCEL" CMPNAME="STYLEMAPPING_DYNAMIC_STYLE" VERSION="1" LANGU="E" DESCRIPT="Convert dynamic style to static styleentry" EXPOSURE="0" STATE="1" EDITORDER="26 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
<method CLSNAME="ZCL_EXCEL" CMPNAME="STYLEMAPPING_DYNAMIC_STYLE" VERSION="1" LANGU="E" DESCRIPT="Convert dynamic style to static styleentry" EXPOSURE="0" STATE="1" EDITORDER="30 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL" CMPNAME="STYLEMAPPING_DYNAMIC_STYLE" SCONAME="IP_STYLE" VERSION="1" LANGU="E" DESCRIPT="Style" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="3" TYPE="ZCL_EXCEL_STYLE"/>
<parameter CLSNAME="ZCL_EXCEL" CMPNAME="STYLEMAPPING_DYNAMIC_STYLE" SCONAME="EO_STYLE2" VERSION="1" LANGU="E" DESCRIPT="Stypemapping" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="ZEXCEL_S_STYLEMAPPING"/>
<source>method STYLEMAPPING_DYNAMIC_STYLE.

View File

@ -1,87 +1,100 @@
<?xml version="1.0" encoding="utf-8"?>
<CLAS CLSNAME="ZCL_EXCEL_AUTOFILTERS" VERSION="1" LANGU="E" DESCRIPT="Autofilters collection" CATEGORY="00" EXPOSURE="2" STATE="1" RELEASE="0" CLSFINAL="X" CLSCCINCL="X" FIXPT="X" UNICODE="X" CLSBCCAT="00" DURATION_TYPE="0 " RISK_LEVEL="0 ">
<CLAS CLSNAME="ZCL_EXCEL_AUTOFILTERS" VERSION="1" LANGU="E" DESCRIPT="Autofilters collection" CATEGORY="00" EXPOSURE="2" STATE="1" RELEASE="0" CLSFINAL="X" CLSCCINCL="X" FIXPT="X" UNICODE="X" CLSBCCAT="00" DURATION_TYPE="0 " RISK_LEVEL="0 " ZSAPLINK_PLUGIN_MAJOR_VERSION="0 " ZSAPLINK_PLUGIN_MINOR_VERSION="1 " ZSAPLINK_PLUGIN_BUILD_VERSION="0 " ZSAPLINK_PLUGIN_INFO1="ZSAPLINK_CLASS is part of the main ZSAPLINK project --&gt; This plugin found there instead of ZSAPLINK_PLUGINS projects" ZSAPLINK_PLUGIN_INFO2="SAPLINK homepage: https://www.assembla.com/spaces/saplink/wiki" ZSAPLINK_PLUGIN_INFO3="Download from https://www.assembla.com/code/saplink/subversion/nodes" ZSAPLINK_PLUGIN_INFO4="and navigate to: trunk -&gt; core -&gt; ZSAPLINK -&gt; CLAS -&gt; ZSAPLINK_CLASS.slnk">
<types CLSNAME="ZCL_EXCEL_AUTOFILTERS" CMPNAME="TS_AUTOFILTER" VERSION="1" LANGU="E" DESCRIPT="Autofilter" EXPOSURE="0" STATE="1" EDITORDER="1 " TYPTYPE="4" SRCROW1="6 " SRCCOLUMN1="4 " SRCROW2="9 " SRCCOLUMN2="23 " TYPESRC_LENG="0 " TYPESRC="BEGIN OF ts_autofilter,
worksheet TYPE REF TO zcl_excel_worksheet,
autofilter TYPE REF TO zcl_excel_autofilter,
END OF ts_autofilter
"/>
<types CLSNAME="ZCL_EXCEL_AUTOFILTERS" CMPNAME="TT_AUTOFILTERS" VERSION="1" LANGU="E" DESCRIPT="All autofilters" EXPOSURE="0" STATE="1" EDITORDER="2 " TYPTYPE="4" SRCROW1="11 " SRCCOLUMN1="4 " SRCROW2="11 " SRCCOLUMN2="78 " TYPESRC_LENG="0 " TYPESRC="tt_autofilters TYPE HASHED TABLE OF ts_autofilter WITH UNIQUE KEY worksheet
"/>
<localImplementation>*&quot;* local class implementation for public class
*&quot;* use this source file for the implementation part of
*&quot;* local helper classes</localImplementation>
<localTypes>*&quot;* use this source file for any type declarations (class
*&quot;* definitions, interfaces or data types) you need for method
*&quot;* implementation or private method&apos;s signature
TYPES: BEGIN OF ts_objects,
sheet_guid TYPE uuid,
autofilter TYPE REF TO zcl_excel_autofilter,
END OF ts_objects,
tt_objects TYPE HASHED TABLE OF ts_objects WITH UNIQUE KEY sheet_guid.</localTypes>
*&quot;* implementation or private method&apos;s signature</localTypes>
<localMacros>*&quot;* use this source file for any macro definitions you need
*&quot;* in the implementation part of the class</localMacros>
<typeUsage CLSNAME="ZCL_EXCEL_AUTOFILTERS" TYPEGROUP="ABAP" VERSION="1" TPUTYPE="0" EXPLICIT="X"/>
<forwardDeclaration>ABAP</forwardDeclaration>
<attribute CLSNAME="ZCL_EXCEL_AUTOFILTERS" CMPNAME="AUTOFILTERS" VERSION="1" LANGU="E" EXPOSURE="0" STATE="1" EDITORDER="1 " ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="TT_OBJECTS" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_AUTOFILTERS" CMPNAME="C_AUTOFILTER" VERSION="1" LANGU="E" DESCRIPT="Excel Autofilter range name" EXPOSURE="2" STATE="1" EDITORDER="2 " ATTDECLTYP="2" ATTVALUE="&apos;_xlnm._FilterDatabase&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="STRING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<method CLSNAME="ZCL_EXCEL_AUTOFILTERS" CMPNAME="ADD" VERSION="1" LANGU="E" DESCRIPT="Adds an Element to the Collection" EXPOSURE="2" STATE="1" EDITORDER="1 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
<attribute CLSNAME="ZCL_EXCEL_AUTOFILTERS" CMPNAME="C_AUTOFILTER" VERSION="1" LANGU="E" DESCRIPT="Excel Autofilter range name" EXPOSURE="2" STATE="1" EDITORDER="1 " ATTDECLTYP="2" ATTVALUE="&apos;_xlnm._FilterDatabase&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="STRING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_AUTOFILTERS" CMPNAME="MT_AUTOFILTERS" VERSION="1" LANGU="E" DESCRIPT="All autofilters" EXPOSURE="0" STATE="1" EDITORDER="1 " ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="TT_AUTOFILTERS" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<method CLSNAME="ZCL_EXCEL_AUTOFILTERS" CMPNAME="ADD" VERSION="1" LANGU="E" DESCRIPT="Adds an Element to the Collection" EXPOSURE="2" STATE="1" EDITORDER="1 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" MTDNEWEXC="X" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL_AUTOFILTERS" CMPNAME="ADD" SCONAME="IO_SHEET" VERSION="1" LANGU="E" DESCRIPT="Worksheet" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="3" TYPE="ZCL_EXCEL_WORKSHEET"/>
<parameter CLSNAME="ZCL_EXCEL_AUTOFILTERS" CMPNAME="ADD" SCONAME="RO_AUTOFILTER" VERSION="1" LANGU="E" DESCRIPT="Autofilter" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="3" TYPE="ZCL_EXCEL_AUTOFILTER"/>
<source>method ADD.
DATA: ls_autofilters TYPE ts_objects,
l_guid TYPE uuid.
l_guid = io_sheet-&gt;get_guid( ) .
READ TABLE autofilters INTO ls_autofilters WITH TABLE KEY sheet_guid = l_guid.
<exception CLSNAME="ZCL_EXCEL_AUTOFILTERS" CMPNAME="ADD" SCONAME="ZCX_EXCEL" VERSION="1" LANGU="E" DESCRIPT="Exceptions for ABAP2XLSX" MTDTYPE="0" EDITORDER="1 "/>
<source>METHOD add.
DATA: ls_autofilter LIKE LINE OF me-&gt;mt_autofilters.
FIELD-SYMBOLS: &lt;ls_autofilter&gt; LIKE LINE OF me-&gt;mt_autofilters.
READ TABLE me-&gt;mt_autofilters ASSIGNING &lt;ls_autofilter&gt; WITH TABLE KEY worksheet = io_sheet.
IF sy-subrc = 0.
ro_autofilter = ls_autofilters-autofilter.
ELSE.
CREATE OBJECT ro_autofilter
EXPORTING
io_sheet = io_sheet.
ls_autofilters-autofilter = ro_autofilter.
ls_autofilters-sheet_guid = l_guid.
INSERT ls_autofilters INTO TABLE autofilters .
RAISE EXCEPTION TYPE zcx_excel. &quot; adding another autofilter to sheet is not allowed
ENDIF.
endmethod.</source>
CREATE OBJECT ro_autofilter
EXPORTING
io_sheet = io_sheet.
ls_autofilter-worksheet = io_sheet.
ls_autofilter-autofilter = ro_autofilter.
INSERT ls_autofilter INTO TABLE me-&gt;mt_autofilters.
ENDMETHOD.</source>
</method>
<method CLSNAME="ZCL_EXCEL_AUTOFILTERS" CMPNAME="CLEAR" VERSION="1" LANGU="E" DESCRIPT="Initializes the Collection" EXPOSURE="2" STATE="1" EDITORDER="2 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
<source>method CLEAR.
<source>METHOD clear.
REFRESH autofilters.
CLEAR me-&gt;mt_autofilters.
endmethod.</source>
ENDMETHOD.</source>
</method>
<method CLSNAME="ZCL_EXCEL_AUTOFILTERS" CMPNAME="GET" VERSION="1" LANGU="E" DESCRIPT="Gets Element" EXPOSURE="2" STATE="1" EDITORDER="3 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL_AUTOFILTERS" CMPNAME="GET" SCONAME="I_SHEET_GUID" VERSION="1" LANGU="E" DESCRIPT="GUID for the OLTP System (RAW16)" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="UUID"/>
<parameter CLSNAME="ZCL_EXCEL_AUTOFILTERS" CMPNAME="GET" SCONAME="RO_AUTOFILTER" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="3" TYPE="ZCL_EXCEL_AUTOFILTER"/>
<source>method GET.
<parameter CLSNAME="ZCL_EXCEL_AUTOFILTERS" CMPNAME="GET" SCONAME="IO_WORKSHEET" VERSION="1" LANGU="E" DESCRIPT="Worksheet" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="3" TYPE="ZCL_EXCEL_WORKSHEET" PAROPTIONL="X"/>
<parameter CLSNAME="ZCL_EXCEL_AUTOFILTERS" CMPNAME="GET" SCONAME="I_SHEET_GUID" VERSION="1" LANGU="E" DESCRIPT="Global Unique ID for table" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="UUID" PAROPTIONL="X"/>
<parameter CLSNAME="ZCL_EXCEL_AUTOFILTERS" CMPNAME="GET" SCONAME="RO_AUTOFILTER" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="3 " DISPID="0 " PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="3" TYPE="ZCL_EXCEL_AUTOFILTER"/>
<source>METHOD get.
DATA: ls_autofilters TYPE ts_objects.
DATA: ls_autofilter LIKE LINE OF me-&gt;mt_autofilters.
READ TABLE autofilters INTO ls_autofilters WITH TABLE KEY sheet_guid = i_sheet_guid.
FIELD-SYMBOLS: &lt;ls_autofilter&gt; LIKE LINE OF me-&gt;mt_autofilters.
READ TABLE me-&gt;mt_autofilters ASSIGNING &lt;ls_autofilter&gt; WITH TABLE KEY worksheet = io_worksheet.
IF sy-subrc = 0.
ro_autofilter = ls_autofilters-autofilter.
ro_autofilter = &lt;ls_autofilter&gt;-autofilter.
ELSE.
CLEAR ro_autofilter.
ENDIF.
endmethod.</source>
ENDMETHOD.</source>
</method>
<method CLSNAME="ZCL_EXCEL_AUTOFILTERS" CMPNAME="IS_EMPTY" VERSION="1" LANGU="E" DESCRIPT="Checks whether elements are contained" EXPOSURE="2" STATE="1" EDITORDER="4 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL_AUTOFILTERS" CMPNAME="IS_EMPTY" SCONAME="R_EMPTY" VERSION="1" LANGU="E" DESCRIPT="General Flag" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="FLAG"/>
<source>method IS_EMPTY.
IF autofilters IS INITIAL.
<source>METHOD is_empty.
IF me-&gt;mt_autofilters IS INITIAL.
r_empty = abap_true.
ENDIF.
endmethod.</source>
ENDMETHOD.</source>
</method>
<method CLSNAME="ZCL_EXCEL_AUTOFILTERS" CMPNAME="REMOVE" VERSION="1" LANGU="E" DESCRIPT="Deletes an Element from the Collection" EXPOSURE="2" STATE="1" EDITORDER="5 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL_AUTOFILTERS" CMPNAME="REMOVE" SCONAME="I_SHEET_GUID" VERSION="1" LANGU="E" DESCRIPT="Worksheet" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="UUID"/>
<source>method REMOVE.
DATA: ls_autofilters TYPE ts_objects.
<parameter CLSNAME="ZCL_EXCEL_AUTOFILTERS" CMPNAME="REMOVE" SCONAME="IO_SHEET" VERSION="1" LANGU="E" DESCRIPT="REF TO ZCL_EXCEL_WORKSHEET or UUID" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ANY"/>
<source>METHOD remove.
DELETE autofilters WHERE sheet_guid = i_sheet_guid.
DATA: lo_worksheet TYPE REF TO zcl_excel_worksheet.
endmethod.</source>
FIELD-SYMBOLS: &lt;ls_autofilter&gt; LIKE LINE OF me-&gt;mt_autofilters.
DELETE TABLE me-&gt;mt_autofilters WITH TABLE KEY worksheet = lo_worksheet.
ENDMETHOD.</source>
</method>
<method CLSNAME="ZCL_EXCEL_AUTOFILTERS" CMPNAME="SIZE" VERSION="1" LANGU="E" DESCRIPT="Specifies number of contained elements" EXPOSURE="2" STATE="1" EDITORDER="6 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL_AUTOFILTERS" CMPNAME="SIZE" SCONAME="R_SIZE" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="I"/>
<source>method SIZE.
DESCRIBE TABLE autofilters LINES r_size.
endmethod.</source>
<source>METHOD size.
DESCRIBE TABLE me-&gt;mt_autofilters LINES r_size.
ENDMETHOD.</source>
</method>
</CLAS>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<CLAS CLSNAME="ZCL_EXCEL_COMMON" VERSION="1" LANGU="E" DESCRIPT="Static common methods" CATEGORY="00" EXPOSURE="2" STATE="1" RELEASE="0" CLSFINAL="X" CLSCCINCL="X" FIXPT="X" UNICODE="X" CLSBCCAT="00" WITH_UNIT_TESTS="X" DURATION_TYPE="0 " RISK_LEVEL="0 ">
<CLAS CLSNAME="ZCL_EXCEL_COMMON" VERSION="1" LANGU="E" DESCRIPT="Static common methods" CATEGORY="00" EXPOSURE="2" STATE="1" RELEASE="0" CLSFINAL="X" CLSCCINCL="X" FIXPT="X" UNICODE="X" CLSBCCAT="00" WITH_UNIT_TESTS="X" DURATION_TYPE="0 " RISK_LEVEL="0 " ZSAPLINK_PLUGIN_MAJOR_VERSION="0 " ZSAPLINK_PLUGIN_MINOR_VERSION="1 " ZSAPLINK_PLUGIN_BUILD_VERSION="0 " ZSAPLINK_PLUGIN_INFO1="ZSAPLINK_CLASS is part of the main ZSAPLINK project --&gt; This plugin found there instead of ZSAPLINK_PLUGINS projects" ZSAPLINK_PLUGIN_INFO2="SAPLINK homepage: https://www.assembla.com/spaces/saplink/wiki" ZSAPLINK_PLUGIN_INFO3="Download from https://www.assembla.com/code/saplink/subversion/nodes" ZSAPLINK_PLUGIN_INFO4="and navigate to: trunk -&gt; core -&gt; ZSAPLINK -&gt; CLAS -&gt; ZSAPLINK_CLASS.slnk">
<localImplementation>*&quot;* local class implementation for public class
*&quot;* use this source file for the implementation part of
*&quot;* local helper classes</localImplementation>
@ -1156,26 +1156,30 @@ ENDCLASS. &quot;lcl_Excel_Common_Test</localTestClasses>
<textElement ID="I" KEY="002" ENTRY="Eingabe nicht korrekt ?escaped? - &amp; Wie zum Geier heißt das" LENGTH="60 "/>
<textElement ID="I" KEY="003" ENTRY="Eingabe konnte nicht als Spaltenname interpretiert werden" LENGTH="60 "/>
<textElement ID="I" KEY="004" ENTRY="Index nicht im erlaubten Bereich" LENGTH="60 "/>
<textElement ID="I" KEY="005" ENTRY="Excel Arbeitsmappe (*.xlsx)|*.xlsx|" LENGTH="80 "/>
</language>
<language SPRAS="E">
<textElement ID="I" KEY="001" ENTRY="Invalid range" LENGTH="60 "/>
<textElement ID="I" KEY="002" ENTRY="Input not properly escaped - &amp;" LENGTH="60 "/>
<textElement ID="I" KEY="003" ENTRY="Unable to interpret input as column" LENGTH="60 "/>
<textElement ID="I" KEY="004" ENTRY="Index out of bounds" LENGTH="60 "/>
<textElement ID="I" KEY="005" ENTRY="Excel Workbook (*.xlsx)|*.xlsx|" LENGTH="80 "/>
</language>
</textPool>
<typeUsage CLSNAME="ZCL_EXCEL_COMMON" TYPEGROUP="ABAP" VERSION="1" TPUTYPE="0" IMPLICIT="X"/>
<forwardDeclaration>ABAP</forwardDeclaration>
<attribute CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="C_EXCEL_1900_LEAP_YEAR" VERSION="1" LANGU="E" DESCRIPT="Excel baseline date" EXPOSURE="2" STATE="1" EDITORDER="8 " ATTDECLTYP="2" ATTVALUE="&apos;19000228&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="D" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="C_EXCEL_1900_LEAP_YEAR" VERSION="1" LANGU="E" DESCRIPT="Excel baseline date" EXPOSURE="2" STATE="1" EDITORDER="10 " ATTDECLTYP="2" ATTVALUE="&apos;19000228&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="D" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="C_EXCEL_BASELINE_DATE" VERSION="1" LANGU="E" DESCRIPT="Excel baseline date" EXPOSURE="2" STATE="1" EDITORDER="1 " ATTDECLTYP="2" ATTVALUE="&apos;19000101&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="D" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="C_EXCEL_COL_MODULE" VERSION="1" LANGU="E" DESCRIPT="2 byte integer (signed)" EXPOSURE="0" STATE="1" EDITORDER="2 " ATTDECLTYP="1" ATTVALUE="64" ATTEXPVIRT="0" TYPTYPE="1" TYPE="INT2" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="C_EXCEL_NUMFMT_OFFSET" VERSION="1" LANGU="E" DESCRIPT="2 byte integer (signed)" EXPOSURE="2" STATE="1" EDITORDER="3 " ATTDECLTYP="1" ATTVALUE="164" ATTEXPVIRT="0" TYPTYPE="1" TYPE="INT1" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="C_EXCEL_SHEET_MAX_COL" VERSION="1" LANGU="E" DESCRIPT="2 byte integer (signed)" EXPOSURE="2" STATE="1" EDITORDER="4 " ATTDECLTYP="2" ATTVALUE="16384" ATTEXPVIRT="0" TYPTYPE="1" TYPE="INT4" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="C_EXCEL_SHEET_MAX_ROW" VERSION="1" LANGU="E" DESCRIPT="2 byte integer (signed)" EXPOSURE="2" STATE="1" EDITORDER="6 " ATTDECLTYP="2" ATTVALUE="1048576" ATTEXPVIRT="0" TYPTYPE="1" TYPE="INT4" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="C_EXCEL_SHEET_MIN_COL" VERSION="1" LANGU="E" DESCRIPT="2 byte integer (signed)" EXPOSURE="2" STATE="1" EDITORDER="5 " ATTDECLTYP="2" ATTVALUE="1" ATTEXPVIRT="0" TYPTYPE="1" TYPE="INT4" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="C_SPRAS_EN" VERSION="1" LANGU="E" DESCRIPT="Language Key" EXPOSURE="2" STATE="1" EDITORDER="6 " ATTDECLTYP="1" ATTVALUE="&apos;E&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="SPRAS" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="C_XLSX_FILE_FILTER" VERSION="1" LANGU="E" DESCRIPT="File filter" EXPOSURE="2" STATE="1" EDITORDER="9 " ATTDECLTYP="2" ATTVALUE="&apos;Excel Workbook (*.xlsx)|*.xlsx|&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="STRING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="O_CONV" VERSION="1" LANGU="E" DESCRIPT="Code Page and Endian Conversion (System Format -&gt; External)" EXPOSURE="2" STATE="1" EDITORDER="7 " ATTDECLTYP="1" ATTEXPVIRT="0" TYPTYPE="3" TYPE="CL_ABAP_CONV_OUT_CE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<method CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="ASSERT_DIFFERS" VERSION="1" LANGU="E" DESCRIPT="Ensure Difference Between 2 (Elementary) data Objects" EXPOSURE="2" STATE="1" EDITORDER="20 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="1" BCMTDCAT="00" BCMTDSYN="0">
<attribute CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="C_EXCEL_SHEET_MIN_ROW" VERSION="1" LANGU="E" DESCRIPT="2 byte integer (signed)" EXPOSURE="2" STATE="1" EDITORDER="7 " ATTDECLTYP="2" ATTVALUE="1" ATTEXPVIRT="0" TYPTYPE="1" TYPE="INT4" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="C_SPRAS_EN" VERSION="1" LANGU="E" DESCRIPT="Language Key" EXPOSURE="2" STATE="1" EDITORDER="8 " ATTDECLTYP="1" ATTVALUE="&apos;E&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="SPRAS" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="C_XLSX_FILE_FILTER" VERSION="1" LANGU="E" DESCRIPT="File filter" EXPOSURE="2" STATE="1" EDITORDER="11 " ATTDECLTYP="1" ATTVALUE="&apos;Excel Workbook (*.xlsx)|*.xlsx|&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="STRING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="O_CONV" VERSION="1" LANGU="E" DESCRIPT="Code Page and Endian Conversion (System Format -&gt; External)" EXPOSURE="2" STATE="1" EDITORDER="9 " ATTDECLTYP="1" ATTEXPVIRT="0" TYPTYPE="3" TYPE="CL_ABAP_CONV_OUT_CE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<method CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="ASSERT_DIFFERS" VERSION="1" LANGU="E" DESCRIPT="Ensure Difference Between 2 (Elementary) data Objects" EXPOSURE="2" STATE="1" EDITORDER="21 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="1" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="ASSERT_DIFFERS" SCONAME="EXP" VERSION="1" LANGU="E" DESCRIPT="Compare Object with Unexpected Value" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="SIMPLE"/>
<parameter CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="ASSERT_DIFFERS" SCONAME="ACT" VERSION="1" LANGU="E" DESCRIPT="Data Object with Current Value" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="SIMPLE"/>
<parameter CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="ASSERT_DIFFERS" SCONAME="MSG" VERSION="1" LANGU="E" DESCRIPT="Message in Case of Error" CMPTYPE="1" MTDTYPE="0" EDITORDER="3 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="CSEQUENCE" PAROPTIONL="X"/>
@ -1225,7 +1229,7 @@ ENDCLASS. &quot;lcl_Excel_Common_Test</localTestClasses>
ENDIF.
endmethod.</source>
</method>
<method CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="ASSERT_EQUALS" VERSION="1" LANGU="E" DESCRIPT="Ensure Equality of Two Data Objects" EXPOSURE="2" STATE="1" EDITORDER="18 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="1" BCMTDCAT="00" BCMTDSYN="0">
<method CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="ASSERT_EQUALS" VERSION="1" LANGU="E" DESCRIPT="Ensure Equality of Two Data Objects" EXPOSURE="2" STATE="1" EDITORDER="19 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="1" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="ASSERT_EQUALS" SCONAME="EXP" VERSION="1" LANGU="E" DESCRIPT="Data Object with Expected Type" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ANY"/>
<parameter CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="ASSERT_EQUALS" SCONAME="ACT" VERSION="1" LANGU="E" DESCRIPT="Data Object with Current Value" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ANY"/>
<parameter CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="ASSERT_EQUALS" SCONAME="MSG" VERSION="1" LANGU="E" DESCRIPT="Message in Case of Error" CMPTYPE="1" MTDTYPE="0" EDITORDER="3 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="CSEQUENCE" PAROPTIONL="X"/>
@ -1278,7 +1282,7 @@ endmethod.</source>
ENDIF.
ENDMETHOD.</source>
</method>
<method CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="CALCULATE_CELL_DISTANCE" VERSION="1" LANGU="E" DESCRIPT="Give distance between two cells" EXPOSURE="2" STATE="1" EDITORDER="22 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="1" MTDNEWEXC="X" BCMTDCAT="00" BCMTDSYN="0">
<method CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="CALCULATE_CELL_DISTANCE" VERSION="1" LANGU="E" DESCRIPT="Give distance between two cells" EXPOSURE="2" STATE="1" EDITORDER="23 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="1" MTDNEWEXC="X" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="CALCULATE_CELL_DISTANCE" SCONAME="IV_REFERENCE_CELL" VERSION="1" LANGU="E" DESCRIPT="Reference Cell" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="CLIKE"/>
<parameter CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="CALCULATE_CELL_DISTANCE" SCONAME="IV_CURRENT_CELL" VERSION="1" LANGU="E" DESCRIPT="Current Cell" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="CLIKE"/>
<parameter CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="CALCULATE_CELL_DISTANCE" SCONAME="EV_ROW_DIFFERENCE" VERSION="1" LANGU="E" DESCRIPT="Number of rows current cell is below reference cell" CMPTYPE="1" MTDTYPE="0" EDITORDER="3 " DISPID="0 " PARDECLTYP="1" PARPASSTYP="1" TYPTYPE="1" TYPE="I"/>
@ -1342,7 +1346,12 @@ ENDMETHOD.</source>
endmethod.</source>
</method>
<method CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="CONVERT_COLUMN2ALPHA" VERSION="1" LANGU="E" DESCRIPT="Convert column indicator to Alpha" EXPOSURE="2" STATE="1" EDITORDER="2 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="1" MTDNEWEXC="X" BCMTDCAT="00" BCMTDSYN="0">
<method CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="CLASS_CONSTRUCTOR" VERSION="1" LANGU="E" DESCRIPT="CLASS_CONSTRUCTOR" EXPOSURE="2" STATE="1" EDITORDER="1 " DISPID="0 " MTDTYPE="2" MTDDECLTYP="1" BCMTDCAT="00" BCMTDSYN="0">
<source>METHOD class_constructor.
c_xlsx_file_filter = &apos;Excel Workbook (*.xlsx)|*.xlsx|&apos;(005).
ENDMETHOD.</source>
</method>
<method CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="CONVERT_COLUMN2ALPHA" VERSION="1" LANGU="E" DESCRIPT="Convert column indicator to Alpha" EXPOSURE="2" STATE="1" EDITORDER="3 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="1" MTDNEWEXC="X" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="CONVERT_COLUMN2ALPHA" SCONAME="IP_COLUMN" VERSION="1" LANGU="E" DESCRIPT="Cell Column" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="SIMPLE"/>
<parameter CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="CONVERT_COLUMN2ALPHA" SCONAME="EP_COLUMN" VERSION="1" LANGU="E" DESCRIPT="Cell Column" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="ZEXCEL_CELL_COLUMN_ALPHA"/>
<exception CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="CONVERT_COLUMN2ALPHA" SCONAME="ZCX_EXCEL" VERSION="1" LANGU="E" DESCRIPT="Exceptions for ABAP2XLSX" MTDTYPE="0" EDITORDER="1 "/>
@ -1383,7 +1392,7 @@ endmethod.</source>
ENDMETHOD.</source>
</method>
<method CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="CONVERT_COLUMN2INT" VERSION="1" LANGU="E" DESCRIPT="Convert column indicator to Integer" EXPOSURE="2" STATE="1" EDITORDER="3 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="1" MTDNEWEXC="X" BCMTDCAT="00" BCMTDSYN="0">
<method CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="CONVERT_COLUMN2INT" VERSION="1" LANGU="E" DESCRIPT="Convert column indicator to Integer" EXPOSURE="2" STATE="1" EDITORDER="4 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="1" MTDNEWEXC="X" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="CONVERT_COLUMN2INT" SCONAME="IP_COLUMN" VERSION="1" LANGU="E" DESCRIPT="Cell Column" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="SIMPLE"/>
<parameter CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="CONVERT_COLUMN2INT" SCONAME="EP_COLUMN" VERSION="1" LANGU="E" DESCRIPT="Cell Column" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="ZEXCEL_CELL_COLUMN"/>
<exception CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="CONVERT_COLUMN2INT" SCONAME="ZCX_EXCEL" VERSION="1" LANGU="E" DESCRIPT="Exceptions for ABAP2XLSX" MTDTYPE="0" EDITORDER="1 "/>
@ -1542,7 +1551,7 @@ ENDMETHOD.</source>
ENDMETHOD.</source>
</method>
<method CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="CONVERT_COLUMNROW2COLUMN_A_ROW" VERSION="1" LANGU="E" DESCRIPT="Convert ColumnRow i.e. AB34 to AB and 34" EXPOSURE="2" STATE="1" EDITORDER="4 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="1" BCMTDCAT="00" BCMTDSYN="0">
<method CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="CONVERT_COLUMNROW2COLUMN_A_ROW" VERSION="1" LANGU="E" DESCRIPT="Convert ColumnRow i.e. AB34 to AB and 34" EXPOSURE="2" STATE="1" EDITORDER="5 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="1" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="CONVERT_COLUMNROW2COLUMN_A_ROW" SCONAME="I_COLUMNROW" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="CLIKE"/>
<parameter CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="CONVERT_COLUMNROW2COLUMN_A_ROW" SCONAME="E_COLUMN" VERSION="1" LANGU="E" DESCRIPT="Cell Column" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " PARDECLTYP="1" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_CELL_COLUMN_ALPHA"/>
<parameter CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="CONVERT_COLUMNROW2COLUMN_A_ROW" SCONAME="E_ROW" VERSION="1" LANGU="E" DESCRIPT="Natural number" CMPTYPE="1" MTDTYPE="0" EDITORDER="3 " DISPID="0 " PARDECLTYP="1" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_CELL_ROW"/>
@ -1565,7 +1574,7 @@ ENDMETHOD.</source>
endmethod.</source>
</method>
<method CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="CONVERT_RANGE2COLUMN_A_ROW" VERSION="1" LANGU="E" DESCRIPT="Converts Sheet1!AB34:CD56 to Sheet1, AB, 34, CD, 56" EXPOSURE="2" STATE="1" EDITORDER="5 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="1" MTDNEWEXC="X" BCMTDCAT="00" BCMTDSYN="0">
<method CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="CONVERT_RANGE2COLUMN_A_ROW" VERSION="1" LANGU="E" DESCRIPT="Converts Sheet1!AB34:CD56 to Sheet1, AB, 34, CD, 56" EXPOSURE="2" STATE="1" EDITORDER="6 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="1" MTDNEWEXC="X" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="CONVERT_RANGE2COLUMN_A_ROW" SCONAME="I_RANGE" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="CLIKE"/>
<parameter CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="CONVERT_RANGE2COLUMN_A_ROW" SCONAME="E_COLUMN_START" VERSION="1" LANGU="E" DESCRIPT="Cell Column Start" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " PARDECLTYP="1" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_CELL_COLUMN_ALPHA"/>
<parameter CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="CONVERT_RANGE2COLUMN_A_ROW" SCONAME="E_COLUMN_END" VERSION="1" LANGU="E" DESCRIPT="Cell Column End" CMPTYPE="1" MTDTYPE="0" EDITORDER="3 " DISPID="0 " PARDECLTYP="1" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_CELL_COLUMN_ALPHA"/>
@ -1658,7 +1667,7 @@ endmethod.</source>
e_sheet = unescape_string( lv_sheet ). &quot; Return in unescaped form
endmethod.</source>
</method>
<method CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="DATE_TO_EXCEL_STRING" VERSION="1" LANGU="E" DESCRIPT="Convert date from SAP format to Excel" EXPOSURE="2" STATE="1" EDITORDER="6 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="1" BCMTDCAT="00" BCMTDSYN="0">
<method CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="DATE_TO_EXCEL_STRING" VERSION="1" LANGU="E" DESCRIPT="Convert date from SAP format to Excel" EXPOSURE="2" STATE="1" EDITORDER="7 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="1" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="DATE_TO_EXCEL_STRING" SCONAME="IP_VALUE" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="D"/>
<parameter CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="DATE_TO_EXCEL_STRING" SCONAME="EP_VALUE" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="ZEXCEL_CELL_VALUE"/>
<source>method DATE_TO_EXCEL_STRING.
@ -1676,7 +1685,7 @@ endmethod.</source>
ep_value = zcl_excel_common=&gt;number_to_excel_string( ip_value = lv_date_diff ).
endmethod.</source>
</method>
<method CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="DESCRIBE_STRUCTURE" VERSION="1" LANGU="E" DESCRIPT="Describe database info of structure" EXPOSURE="2" STATE="1" EDITORDER="1 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="1" BCMTDCAT="00" BCMTDSYN="0">
<method CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="DESCRIBE_STRUCTURE" VERSION="1" LANGU="E" DESCRIPT="Describe database info of structure" EXPOSURE="2" STATE="1" EDITORDER="2 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="1" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="DESCRIBE_STRUCTURE" SCONAME="IO_STRUCT" VERSION="1" LANGU="E" DESCRIPT="Runtime Type Services" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="3" TYPE="CL_ABAP_STRUCTDESCR"/>
<parameter CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="DESCRIBE_STRUCTURE" SCONAME="RT_DFIES" VERSION="1" LANGU="E" DESCRIPT="DD Interface: Table Fields for DDIF_FIELDINFO_GET" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="DDFIELDS"/>
<source>method DESCRIBE_STRUCTURE.
@ -1727,7 +1736,7 @@ endmethod.</source>
ENDIF.
endmethod.</source>
</method>
<method CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="DETERMINE_RESULTING_FORMULA" VERSION="1" LANGU="E" DESCRIPT="Determine formula if copied to another cell" EXPOSURE="2" STATE="1" EDITORDER="23 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="1" MTDNEWEXC="X" BCMTDCAT="00" BCMTDSYN="0">
<method CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="DETERMINE_RESULTING_FORMULA" VERSION="1" LANGU="E" DESCRIPT="Determine formula if copied to another cell" EXPOSURE="2" STATE="1" EDITORDER="24 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="1" MTDNEWEXC="X" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="DETERMINE_RESULTING_FORMULA" SCONAME="IV_REFERENCE_CELL" VERSION="1" LANGU="E" DESCRIPT="Reference cell" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="CLIKE"/>
<parameter CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="DETERMINE_RESULTING_FORMULA" SCONAME="IV_REFERENCE_FORMULA" VERSION="1" LANGU="E" DESCRIPT="Reference formula" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="CLIKE"/>
<parameter CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="DETERMINE_RESULTING_FORMULA" SCONAME="IV_CURRENT_CELL" VERSION="1" LANGU="E" DESCRIPT="Current cell" CMPTYPE="1" MTDTYPE="0" EDITORDER="3 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="CLIKE"/>
@ -1757,7 +1766,7 @@ endmethod.</source>
ENDMETHOD. &quot;determine_resulting_formula</source>
</method>
<method CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="ENCRYPT_PASSWORD" VERSION="1" LANGU="E" DESCRIPT="Encrypt password" EXPOSURE="2" STATE="1" EDITORDER="7 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="1" BCMTDCAT="00" BCMTDSYN="0">
<method CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="ENCRYPT_PASSWORD" VERSION="1" LANGU="E" DESCRIPT="Encrypt password" EXPOSURE="2" STATE="1" EDITORDER="8 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="1" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="ENCRYPT_PASSWORD" SCONAME="I_PWD" VERSION="1" LANGU="E" DESCRIPT="AES Password" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_AES_PASSWORD"/>
<parameter CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="ENCRYPT_PASSWORD" SCONAME="R_ENCRYPTED_PWD" VERSION="1" LANGU="E" DESCRIPT="AES Password" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="ZEXCEL_AES_PASSWORD"/>
<source>method ENCRYPT_PASSWORD.
@ -1799,7 +1808,7 @@ ENDMETHOD. &quot;determine_resulting_formula</source>
endmethod.</source>
</method>
<method CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="ESCAPE_STRING" VERSION="1" LANGU="E" DESCRIPT="Escape a string" EXPOSURE="2" STATE="1" EDITORDER="8 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="1" BCMTDCAT="00" BCMTDSYN="0">
<method CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="ESCAPE_STRING" VERSION="1" LANGU="E" DESCRIPT="Escape a string" EXPOSURE="2" STATE="1" EDITORDER="9 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="1" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="ESCAPE_STRING" SCONAME="IP_VALUE" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="CLIKE"/>
<parameter CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="ESCAPE_STRING" SCONAME="EP_ESCAPED_VALUE" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="STRING"/>
<source>method ESCAPE_STRING.
@ -1850,7 +1859,7 @@ endmethod.</source>
endmethod.</source>
</method>
<method CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="EXCEL_STRING_TO_DATE" VERSION="1" LANGU="E" DESCRIPT="Convert date from Excel format to SAP" EXPOSURE="2" STATE="1" EDITORDER="10 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="1" MTDNEWEXC="X" BCMTDCAT="00" BCMTDSYN="0">
<method CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="EXCEL_STRING_TO_DATE" VERSION="1" LANGU="E" DESCRIPT="Convert date from Excel format to SAP" EXPOSURE="2" STATE="1" EDITORDER="11 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="1" MTDNEWEXC="X" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="EXCEL_STRING_TO_DATE" SCONAME="IP_VALUE" VERSION="1" LANGU="E" DESCRIPT="Cell Value" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_CELL_VALUE"/>
<parameter CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="EXCEL_STRING_TO_DATE" SCONAME="EP_VALUE" VERSION="1" LANGU="E" DESCRIPT="Date" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="D"/>
<exception CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="EXCEL_STRING_TO_DATE" SCONAME="ZCX_EXCEL" VERSION="1" LANGU="E" DESCRIPT="Exceptions for ABAP2XLSX" MTDTYPE="0" EDITORDER="1 "/>
@ -1873,7 +1882,7 @@ endmethod.</source>
ENDTRY.
endmethod.</source>
</method>
<method CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="EXCEL_STRING_TO_NUMBER" VERSION="1" LANGU="E" DESCRIPT="Convert number from Excel format to SAP" EXPOSURE="2" STATE="1" EDITORDER="12 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="1" MTDNEWEXC="X" BCMTDCAT="00" BCMTDSYN="0">
<method CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="EXCEL_STRING_TO_NUMBER" VERSION="1" LANGU="E" DESCRIPT="Convert number from Excel format to SAP" EXPOSURE="2" STATE="1" EDITORDER="13 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="1" MTDNEWEXC="X" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="EXCEL_STRING_TO_NUMBER" SCONAME="IP_VALUE" VERSION="1" LANGU="E" DESCRIPT="Cell Value" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_CELL_VALUE"/>
<parameter CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="EXCEL_STRING_TO_NUMBER" SCONAME="EP_VALUE" VERSION="1" LANGU="E" DESCRIPT="Float will do for most situations" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="F"/>
<exception CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="EXCEL_STRING_TO_NUMBER" SCONAME="ZCX_EXCEL" VERSION="1" LANGU="E" DESCRIPT="Exceptions for ABAP2XLSX" MTDTYPE="0" EDITORDER="1 "/>
@ -1886,7 +1895,7 @@ endmethod.</source>
endmethod.</source>
</method>
<method CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="EXCEL_STRING_TO_TIME" VERSION="1" LANGU="E" DESCRIPT="Convert time from Excel format to SAP" EXPOSURE="2" STATE="1" EDITORDER="11 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="1" MTDNEWEXC="X" BCMTDCAT="00" BCMTDSYN="0">
<method CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="EXCEL_STRING_TO_TIME" VERSION="1" LANGU="E" DESCRIPT="Convert time from Excel format to SAP" EXPOSURE="2" STATE="1" EDITORDER="12 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="1" MTDNEWEXC="X" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="EXCEL_STRING_TO_TIME" SCONAME="IP_VALUE" VERSION="1" LANGU="E" DESCRIPT="Cell Value" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_CELL_VALUE"/>
<parameter CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="EXCEL_STRING_TO_TIME" SCONAME="EP_VALUE" VERSION="1" LANGU="E" DESCRIPT="Time" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="T"/>
<exception CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="EXCEL_STRING_TO_TIME" SCONAME="ZCX_EXCEL" VERSION="1" LANGU="E" DESCRIPT="Exceptions for ABAP2XLSX" MTDTYPE="0" EDITORDER="1 "/>
@ -1909,7 +1918,7 @@ endmethod.</source>
ENDTRY.
endmethod.</source>
</method>
<method CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="FAIL" VERSION="1" LANGU="E" DESCRIPT="Report Unconditional Error" EXPOSURE="2" STATE="1" EDITORDER="19 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="1" BCMTDCAT="00" BCMTDSYN="0">
<method CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="FAIL" VERSION="1" LANGU="E" DESCRIPT="Report Unconditional Error" EXPOSURE="2" STATE="1" EDITORDER="20 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="1" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="FAIL" SCONAME="MSG" VERSION="1" LANGU="E" DESCRIPT="Error Message" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="CSEQUENCE" PAROPTIONL="X"/>
<parameter CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="FAIL" SCONAME="LEVEL" VERSION="1" LANGU="E" DESCRIPT="Error Severity" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="AUNIT_LEVEL" PARVALUE="IF_AUNIT_CONSTANTS=&gt;CRITICAL"/>
<parameter CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="FAIL" SCONAME="QUIT" VERSION="1" LANGU="E" DESCRIPT="Flow Control in Case of Error" CMPTYPE="1" MTDTYPE="0" EDITORDER="3 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="AUNIT_FLOWCTRL" PARVALUE="IF_AUNIT_CONSTANTS=&gt;METHOD"/>
@ -1949,7 +1958,7 @@ endmethod.</source>
endmethod.</source>
</method>
<method CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="GET_FIELDCATALOG" VERSION="1" LANGU="E" DESCRIPT="Creates field catalog for BIND_TABLE based on internal table" EXPOSURE="2" STATE="1" EDITORDER="13 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="1" BCMTDCAT="00" BCMTDSYN="0">
<method CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="GET_FIELDCATALOG" VERSION="1" LANGU="E" DESCRIPT="Creates field catalog for BIND_TABLE based on internal table" EXPOSURE="2" STATE="1" EDITORDER="14 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="1" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="GET_FIELDCATALOG" SCONAME="IP_TABLE" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="STANDARD TABLE"/>
<parameter CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="GET_FIELDCATALOG" SCONAME="EP_FIELDCATALOG" VERSION="1" LANGU="E" DESCRIPT="Table binding field catalog" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="ZEXCEL_T_FIELDCATALOG"/>
<source>method GET_FIELDCATALOG.
@ -2010,7 +2019,7 @@ endmethod.</source>
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="25 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="1" MTDNEWEXC="X" BCMTDCAT="00" BCMTDSYN="0">
<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="26 " 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"/>
@ -2050,7 +2059,7 @@ endmethod.</source>
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="14 " 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="15 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="1" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="NUMBER_TO_EXCEL_STRING" SCONAME="IP_VALUE" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="0" TYPTYPE="1" TYPE="NUMERIC"/>
<parameter CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="NUMBER_TO_EXCEL_STRING" SCONAME="EP_VALUE" VERSION="1" LANGU="E" DESCRIPT="Cell Value" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="ZEXCEL_CELL_VALUE"/>
<source>method NUMBER_TO_EXCEL_STRING.
@ -2069,7 +2078,7 @@ endmethod.</source>
ENDIF.
endmethod.</source>
</method>
<method CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="RECURSIVE_CLASS_TO_STRUCT" VERSION="1" LANGU="E" DESCRIPT="Move class to structure" EXPOSURE="2" STATE="1" EDITORDER="15 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="1" BCMTDCAT="00" BCMTDSYN="0">
<method CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="RECURSIVE_CLASS_TO_STRUCT" VERSION="1" LANGU="E" DESCRIPT="Move class to structure" EXPOSURE="2" STATE="1" EDITORDER="16 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="1" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="RECURSIVE_CLASS_TO_STRUCT" SCONAME="I_SOURCE" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ANY"/>
<parameter CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="RECURSIVE_CLASS_TO_STRUCT" SCONAME="E_TARGET" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " PARDECLTYP="2" PARPASSTYP="1" TYPTYPE="1" TYPE="DATA"/>
<parameter CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="RECURSIVE_CLASS_TO_STRUCT" SCONAME="E_TARGETX" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="3 " DISPID="0 " PARDECLTYP="2" PARPASSTYP="1" TYPTYPE="1" TYPE="DATA"/>
@ -2128,7 +2137,7 @@ endmethod.</source>
endmethod.</source>
</method>
<method CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="RECURSIVE_STRUCT_TO_CLASS" VERSION="1" LANGU="E" DESCRIPT="Move structure to class" EXPOSURE="2" STATE="1" EDITORDER="16 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="1" BCMTDCAT="00" BCMTDSYN="0">
<method CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="RECURSIVE_STRUCT_TO_CLASS" VERSION="1" LANGU="E" DESCRIPT="Move structure to class" EXPOSURE="2" STATE="1" EDITORDER="17 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="1" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="RECURSIVE_STRUCT_TO_CLASS" SCONAME="I_SOURCE" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="DATA"/>
<parameter CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="RECURSIVE_STRUCT_TO_CLASS" SCONAME="I_SOURCEX" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="DATA"/>
<parameter CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="RECURSIVE_STRUCT_TO_CLASS" SCONAME="E_TARGET" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="3 " DISPID="0 " PARDECLTYP="2" PARPASSTYP="1" TYPTYPE="1" TYPE="ANY"/>
@ -2199,7 +2208,7 @@ endmethod.</source>
ENDMETHOD.</source>
</method>
<method CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="SHIFT_FORMULA" VERSION="1" LANGU="E" DESCRIPT="Shift formula from one cell to another" EXPOSURE="2" STATE="1" EDITORDER="24 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="1" MTDNEWEXC="X" BCMTDCAT="00" BCMTDSYN="0">
<method CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="SHIFT_FORMULA" VERSION="1" LANGU="E" DESCRIPT="Shift formula from one cell to another" EXPOSURE="2" STATE="1" EDITORDER="25 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="1" MTDNEWEXC="X" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="SHIFT_FORMULA" SCONAME="IV_REFERENCE_FORMULA" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="CLIKE"/>
<parameter CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="SHIFT_FORMULA" SCONAME="IV_SHIFT_COLS" VERSION="1" LANGU="E" DESCRIPT="Shift formula right by this many columns" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="0" TYPTYPE="1" TYPE="I"/>
<parameter CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="SHIFT_FORMULA" SCONAME="IV_SHIFT_ROWS" VERSION="1" LANGU="E" DESCRIPT="Shift formula down by this many rows" CMPTYPE="1" MTDTYPE="0" EDITORDER="3 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="0" TYPTYPE="1" TYPE="I"/>
@ -2587,7 +2596,7 @@ endmethod.</source>
endmethod.</source>
</method>
<method CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="SPLIT_FILE" VERSION="1" LANGU="E" DESCRIPT="File &amp; Extension disconnect (clone of FM CV120_SPLIT_FILE)" EXPOSURE="2" STATE="1" EDITORDER="21 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="1" BCMTDCAT="00" BCMTDSYN="0">
<method CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="SPLIT_FILE" VERSION="1" LANGU="E" DESCRIPT="File &amp; Extension disconnect (clone of FM CV120_SPLIT_FILE)" EXPOSURE="2" STATE="1" EDITORDER="22 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="1" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="SPLIT_FILE" SCONAME="IP_FILE" VERSION="1" LANGU="E" DESCRIPT="Original of document" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="TEXT255"/>
<parameter CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="SPLIT_FILE" SCONAME="EP_FILE" VERSION="1" LANGU="E" DESCRIPT="Dateiname ohne Extension" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " PARDECLTYP="1" PARPASSTYP="1" TYPTYPE="1" TYPE="TEXT255"/>
<parameter CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="SPLIT_FILE" SCONAME="EP_EXTENSION" VERSION="1" LANGU="E" DESCRIPT="Dateiextension (ohne .)" CMPTYPE="1" MTDTYPE="0" EDITORDER="3 " DISPID="0 " PARDECLTYP="1" PARPASSTYP="1" TYPTYPE="1" TYPE="CHAR10"/>
@ -2674,7 +2683,7 @@ endmethod.</source>
endmethod.</source>
</method>
<method CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="TIME_TO_EXCEL_STRING" VERSION="1" LANGU="E" DESCRIPT="Convert time from SAP format to Excel" EXPOSURE="2" STATE="1" EDITORDER="17 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="1" BCMTDCAT="00" BCMTDSYN="0">
<method CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="TIME_TO_EXCEL_STRING" VERSION="1" LANGU="E" DESCRIPT="Convert time from SAP format to Excel" EXPOSURE="2" STATE="1" EDITORDER="18 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="1" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="TIME_TO_EXCEL_STRING" SCONAME="IP_VALUE" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="T"/>
<parameter CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="TIME_TO_EXCEL_STRING" SCONAME="EP_VALUE" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="ZEXCEL_CELL_VALUE"/>
<source>method TIME_TO_EXCEL_STRING.
@ -2688,7 +2697,7 @@ endmethod.</source>
ep_value = zcl_excel_common=&gt;number_to_excel_string( ip_value = lv_day_fraction ).
endmethod.</source>
</method>
<method CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="UNESCAPE_STRING" VERSION="1" LANGU="E" DESCRIPT="Unescape" EXPOSURE="2" STATE="1" EDITORDER="9 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="1" MTDNEWEXC="X" BCMTDCAT="00" BCMTDSYN="0">
<method CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="UNESCAPE_STRING" VERSION="1" LANGU="E" DESCRIPT="Unescape" EXPOSURE="2" STATE="1" EDITORDER="10 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="1" MTDNEWEXC="X" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="UNESCAPE_STRING" SCONAME="IV_ESCAPED" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="CLIKE"/>
<parameter CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="UNESCAPE_STRING" SCONAME="EV_UNESCAPED_STRING" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="STRING"/>
<exception CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="UNESCAPE_STRING" SCONAME="ZCX_EXCEL" VERSION="1" LANGU="E" DESCRIPT="Exceptions for ABAP2XLSX" MTDTYPE="0" EDITORDER="1 "/>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<CLAS CLSNAME="ZCL_EXCEL_DRAWING" VERSION="1" LANGU="E" DESCRIPT="Drawing" CATEGORY="00" EXPOSURE="2" STATE="1" RELEASE="0" CLSFINAL="X" CLSCCINCL="X" FIXPT="X" UNICODE="X" CLSBCCAT="00" DURATION_TYPE="0 " RISK_LEVEL="0 ">
<CLAS CLSNAME="ZCL_EXCEL_DRAWING" VERSION="1" LANGU="E" DESCRIPT="Drawing" CATEGORY="00" EXPOSURE="2" STATE="1" RELEASE="0" CLSFINAL="X" CLSCCINCL="X" FIXPT="X" UNICODE="X" CLSBCCAT="00" DURATION_TYPE="0 " RISK_LEVEL="0 " ZSAPLINK_PLUGIN_MAJOR_VERSION="0 " ZSAPLINK_PLUGIN_MINOR_VERSION="1 " ZSAPLINK_PLUGIN_BUILD_VERSION="0 " ZSAPLINK_PLUGIN_INFO1="ZSAPLINK_CLASS is part of the main ZSAPLINK project --&gt; This plugin found there instead of ZSAPLINK_PLUGINS projects" ZSAPLINK_PLUGIN_INFO2="SAPLINK homepage: https://www.assembla.com/spaces/saplink/wiki" ZSAPLINK_PLUGIN_INFO3="Download from https://www.assembla.com/code/saplink/subversion/nodes" ZSAPLINK_PLUGIN_INFO4="and navigate to: trunk -&gt; core -&gt; ZSAPLINK -&gt; CLAS -&gt; ZSAPLINK_CLASS.slnk">
<localImplementation>*&quot;* local class implementation for public class
*&quot;* use this source file for the implementation part of
*&quot;* local helper classes</localImplementation>
@ -44,12 +44,13 @@
<attribute CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="Y_REFERENCES" VERSION="1" LANGU="E" DESCRIPT="Single-Character Indicator" EXPOSURE="2" STATE="1" EDITORDER="7 " ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="CHAR1" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<method CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="CONSTRUCTOR" VERSION="1" LANGU="E" DESCRIPT="CONSTRUCTOR" EXPOSURE="2" STATE="1" EDITORDER="1 " DISPID="0 " MTDTYPE="2" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="CONSTRUCTOR" SCONAME="IP_TYPE" VERSION="1" LANGU="E" DESCRIPT="Excel Drawing type" CMPTYPE="1" MTDTYPE="2" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_DRAWING_TYPE" PARVALUE="ZCL_EXCEL_DRAWING=&gt;TYPE_IMAGE"/>
<parameter CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="CONSTRUCTOR" SCONAME="IP_TITLE" VERSION="1" LANGU="E" DESCRIPT="Title" CMPTYPE="1" MTDTYPE="2" EDITORDER="2 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_SHEET_TITLE" PAROPTIONL="X"/>
<source>method CONSTRUCTOR.
<parameter CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="CONSTRUCTOR" SCONAME="IP_TITLE" VERSION="1" LANGU="E" DESCRIPT="Title" CMPTYPE="1" MTDTYPE="2" EDITORDER="2 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="CLIKE" PAROPTIONL="X"/>
<source>METHOD constructor.
CALL FUNCTION &apos;GUID_CREATE&apos;
IMPORTING
ev_guid_16 = me-&gt;guid.
* CALL FUNCTION &apos;GUID_CREATE&apos; &quot; del issue #379 - function is outdated in newer releases
* IMPORTING
* ev_guid_16 = me-&gt;guid.
me-&gt;guid = zcl_excel_obsolete_func_wrap=&gt;guid_create( ). &quot; ins issue #379 - replacement for outdated function call
IF ip_title IS NOT INITIAL.
title = ip_title.
@ -63,7 +64,7 @@
anchor = anchor_one_cell.
from_loc-col = 1.
from_loc-row = 1.
endmethod.</source>
ENDMETHOD.</source>
</method>
<method CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="CREATE_MEDIA_NAME" VERSION="1" LANGU="E" DESCRIPT="Generate media name image#.ext" EXPOSURE="2" STATE="1" EDITORDER="2 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="CREATE_MEDIA_NAME" SCONAME="IP_INDEX" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="I"/>
@ -77,6 +78,22 @@
CONDENSE media_name NO-GAPS.
endmethod.</source>
</method>
<method CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="EMU2PIXEL" VERSION="1" LANGU="E" DESCRIPT="Convert EMU to pixel" EXPOSURE="2" STATE="1" EDITORDER="15 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="1" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="EMU2PIXEL" SCONAME="IP_EMU" VERSION="1" LANGU="E" DESCRIPT="Natural number" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="INT4"/>
<parameter CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="EMU2PIXEL" SCONAME="IP_DPI" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="INT2" PAROPTIONL="X"/>
<parameter CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="EMU2PIXEL" SCONAME="R_PIXEL" VERSION="1" LANGU="E" DESCRIPT="Natural Number" CMPTYPE="1" MTDTYPE="0" EDITORDER="3 " DISPID="0 " PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="INT4"/>
<source>METHOD emu2pixel.
* suppose 96 DPI
IF ip_dpi IS SUPPLIED.
* r_emu = ip_pixel * 914400 / ip_dpi.
r_pixel = ip_emu * ip_dpi / 914400.
ELSE.
* suppose 96 DPI
* r_emu = ip_pixel * 914400 / 96.
r_pixel = ip_emu * 96 / 914400.
ENDIF.
ENDMETHOD.</source>
</method>
<method CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="GET_FROM_COL" VERSION="1" LANGU="E" DESCRIPT="From col" EXPOSURE="2" STATE="1" EDITORDER="3 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="GET_FROM_COL" SCONAME="R_FROM_COL" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="ZEXCEL_CELL_COLUMN"/>
<source>method GET_FROM_COL.
@ -104,7 +121,7 @@
CONDENSE r_height NO-GAPS.
endmethod.</source>
</method>
<method CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="GET_INDEX" VERSION="1" LANGU="E" DESCRIPT="Get index" EXPOSURE="2" STATE="1" EDITORDER="22 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
<method CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="GET_INDEX" VERSION="1" LANGU="E" DESCRIPT="Get index" EXPOSURE="2" STATE="1" EDITORDER="23 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="GET_INDEX" SCONAME="RP_INDEX" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="STRING"/>
<source>method GET_INDEX.
rp_index = me-&gt;index.
@ -192,7 +209,7 @@ ENDMETHOD.</source>
r_name = title.
endmethod.</source>
</method>
<method CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="GET_POSITION" VERSION="1" LANGU="E" DESCRIPT="Get position of drawing" EXPOSURE="2" STATE="1" EDITORDER="20 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
<method CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="GET_POSITION" VERSION="1" LANGU="E" DESCRIPT="Get position of drawing" EXPOSURE="2" STATE="1" EDITORDER="21 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="GET_POSITION" SCONAME="RP_POSITION" VERSION="1" LANGU="E" DESCRIPT="Drawing position for Excel" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="ZEXCEL_DRAWING_POSITION"/>
<source>method GET_POSITION.
rp_position-anchor = anchor.
@ -213,7 +230,7 @@ ENDMETHOD.</source>
r_to_row = me-&gt;to_loc-row.
endmethod.</source>
</method>
<method CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="GET_TYPE" VERSION="1" LANGU="E" DESCRIPT="Get drawing type" EXPOSURE="2" STATE="1" EDITORDER="21 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
<method CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="GET_TYPE" VERSION="1" LANGU="E" DESCRIPT="Get drawing type" EXPOSURE="2" STATE="1" EDITORDER="22 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="GET_TYPE" SCONAME="RP_TYPE" VERSION="1" LANGU="E" DESCRIPT="Excel Drawing type" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="ZEXCEL_DRAWING_TYPE"/>
<source>method GET_TYPE.
rp_type = me-&gt;type.
@ -226,7 +243,7 @@ ENDMETHOD.</source>
CONDENSE r_width NO-GAPS.
endmethod.</source>
</method>
<method CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="LOAD_CHART_ATTRIBUTES" VERSION="1" LANGU="E" DESCRIPT="Load chart attributes" EXPOSURE="2" STATE="1" EDITORDER="23 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
<method CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="LOAD_CHART_ATTRIBUTES" VERSION="1" LANGU="E" DESCRIPT="Load chart attributes" EXPOSURE="2" STATE="1" EDITORDER="24 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="LOAD_CHART_ATTRIBUTES" SCONAME="IP_CHART" VERSION="1" LANGU="E" DESCRIPT="IF_IXML_DOCUMENT" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="0" TYPTYPE="3" TYPE="IF_IXML_DOCUMENT"/>
<source>method LOAD_CHART_ATTRIBUTES.
DATA: node TYPE REF TO if_ixml_element.
@ -926,7 +943,7 @@ ENDMETHOD.</source>
ENDIF.
endmethod.</source>
</method>
<method CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="SET_MEDIA" VERSION="1" LANGU="E" DESCRIPT="Add media to drawing as XSTRING" EXPOSURE="2" STATE="1" EDITORDER="15 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
<method CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="SET_MEDIA" VERSION="1" LANGU="E" DESCRIPT="Add media to drawing as XSTRING" EXPOSURE="2" STATE="1" EDITORDER="16 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="SET_MEDIA" SCONAME="IP_MEDIA" VERSION="1" LANGU="E" DESCRIPT="used only for template of charts" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="XSTRING" PAROPTIONL="X"/>
<parameter CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="SET_MEDIA" SCONAME="IP_MEDIA_TYPE" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="STRING"/>
<parameter CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="SET_MEDIA" SCONAME="IP_WIDTH" VERSION="1" LANGU="E" DESCRIPT="used only for image types, not for charts" CMPTYPE="1" MTDTYPE="0" EDITORDER="3 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="INT4" PARVALUE="0"/>
@ -945,7 +962,7 @@ ENDMETHOD.</source>
ENDIF.
endmethod.</source>
</method>
<method CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="SET_MEDIA_MIME" VERSION="1" LANGU="E" DESCRIPT="Add media from mime repository" EXPOSURE="2" STATE="1" EDITORDER="16 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
<method CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="SET_MEDIA_MIME" VERSION="1" LANGU="E" DESCRIPT="Add media from mime repository" EXPOSURE="2" STATE="1" EDITORDER="17 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="SET_MEDIA_MIME" SCONAME="IP_IO" VERSION="1" LANGU="E" DESCRIPT="KW Framework: Object Key" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="SKWF_IO"/>
<parameter CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="SET_MEDIA_MIME" SCONAME="IP_WIDTH" VERSION="1" LANGU="E" DESCRIPT="Natural Number" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="INT4"/>
<parameter CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="SET_MEDIA_MIME" SCONAME="IP_HEIGHT" VERSION="1" LANGU="E" DESCRIPT="Natural Number" CMPTYPE="1" MTDTYPE="0" EDITORDER="3 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="INT4"/>
@ -971,7 +988,7 @@ ENDMETHOD.</source>
ENDMETHOD.</source>
</method>
<method CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="SET_MEDIA_WWW" VERSION="1" LANGU="E" DESCRIPT="Add media from www repository SMW0" EXPOSURE="2" STATE="1" EDITORDER="17 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
<method CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="SET_MEDIA_WWW" VERSION="1" LANGU="E" DESCRIPT="Add media from www repository SMW0" EXPOSURE="2" STATE="1" EDITORDER="18 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="SET_MEDIA_WWW" SCONAME="IP_KEY" VERSION="1" LANGU="E" DESCRIPT="Contents of table WWWDATA" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="WWWDATATAB"/>
<parameter CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="SET_MEDIA_WWW" SCONAME="IP_WIDTH" VERSION="1" LANGU="E" DESCRIPT="Natural number" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="INT4"/>
<parameter CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="SET_MEDIA_WWW" SCONAME="IP_HEIGHT" VERSION="1" LANGU="E" DESCRIPT="Natural number" CMPTYPE="1" MTDTYPE="0" EDITORDER="3 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="INT4"/>
@ -995,7 +1012,7 @@ ENDMETHOD.</source>
size-height = ip_height.
endmethod.</source>
</method>
<method CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="SET_POSITION" VERSION="1" LANGU="E" DESCRIPT="Set position of drawing" EXPOSURE="2" STATE="1" EDITORDER="18 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
<method CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="SET_POSITION" VERSION="1" LANGU="E" DESCRIPT="Set position of drawing" EXPOSURE="2" STATE="1" EDITORDER="19 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="SET_POSITION" SCONAME="IP_FROM_ROW" VERSION="1" LANGU="E" DESCRIPT="Cell Row" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_CELL_ROW"/>
<parameter CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="SET_POSITION" SCONAME="IP_FROM_COL" VERSION="1" LANGU="E" DESCRIPT="Cell Column" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_CELL_COLUMN_ALPHA"/>
<parameter CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="SET_POSITION" SCONAME="IP_ROWOFF" VERSION="1" LANGU="E" DESCRIPT="Natural number" CMPTYPE="1" MTDTYPE="0" EDITORDER="3 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="INT4" PAROPTIONL="X"/>
@ -1012,7 +1029,7 @@ ENDMETHOD.</source>
anchor = anchor_one_cell.
endmethod.</source>
</method>
<method CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="SET_POSITION2" VERSION="1" LANGU="E" DESCRIPT="Set position of drawing" EXPOSURE="2" STATE="1" EDITORDER="19 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
<method CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="SET_POSITION2" VERSION="1" LANGU="E" DESCRIPT="Set position of drawing" EXPOSURE="2" STATE="1" EDITORDER="20 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="SET_POSITION2" SCONAME="IP_FROM" VERSION="1" LANGU="E" DESCRIPT="Drawing location for Excel" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_DRAWING_LOCATION"/>
<parameter CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="SET_POSITION2" SCONAME="IP_TO" VERSION="1" LANGU="E" DESCRIPT="Drawing location for Excel" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_DRAWING_LOCATION"/>
<parameter CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="SET_POSITION2" SCONAME="IP_ANCHOR" VERSION="1" LANGU="E" DESCRIPT="Excel Drawing anchor" CMPTYPE="1" MTDTYPE="0" EDITORDER="3 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_DRAWING_ANCHOR" PAROPTIONL="X"/>

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<CLAS CLSNAME="ZCL_EXCEL_GRAPH_BARS" VERSION="1" LANGU="E" DESCRIPT="Bars Graphic" CATEGORY="00" EXPOSURE="2" STATE="1" RELEASE="0" CLSFINAL="X" CLSCCINCL="X" FIXPT="X" UNICODE="X" CLSBCCAT="00" DURATION_TYPE="0 " RISK_LEVEL="0 " REFCLSNAME="ZCL_EXCEL_GRAPH">
<types CLSNAME="ZCL_EXCEL_GRAPH_BARS" CMPNAME="S_AX" VERSION="1" LANGU="E" EXPOSURE="2" STATE="1" EDITORDER="1 " TYPTYPE="4" SRCROW1="10 " SRCCOLUMN1="4 " SRCROW2="28 " SRCCOLUMN2="23 " TYPESRC_LENG="715 " TYPESRC="BEGIN OF s_ax,
<CLAS CLSNAME="ZCL_EXCEL_GRAPH_BARS" VERSION="1" LANGU="E" DESCRIPT="Bars Graphic" CATEGORY="00" EXPOSURE="2" STATE="1" RELEASE="0" CLSFINAL="X" CLSCCINCL="X" FIXPT="X" UNICODE="X" CLSBCCAT="00" DURATION_TYPE="0 " RISK_LEVEL="0 " ZSAPLINK_PLUGIN_MAJOR_VERSION="0 " ZSAPLINK_PLUGIN_MINOR_VERSION="1 " ZSAPLINK_PLUGIN_BUILD_VERSION="0 " ZSAPLINK_PLUGIN_INFO1="ZSAPLINK_CLASS is part of the main ZSAPLINK project --&gt; This plugin found there instead of ZSAPLINK_PLUGINS projects" ZSAPLINK_PLUGIN_INFO2="SAPLINK homepage: https://www.assembla.com/spaces/saplink/wiki" ZSAPLINK_PLUGIN_INFO3="Download from https://www.assembla.com/code/saplink/subversion/nodes" ZSAPLINK_PLUGIN_INFO4="and navigate to: trunk -&gt; core -&gt; ZSAPLINK -&gt; CLAS -&gt; ZSAPLINK_CLASS.slnk" REFCLSNAME="ZCL_EXCEL_GRAPH">
<types CLSNAME="ZCL_EXCEL_GRAPH_BARS" CMPNAME="S_AX" VERSION="1" LANGU="E" EXPOSURE="2" STATE="1" EDITORDER="1 " TYPTYPE="4" SRCROW1="12 " SRCCOLUMN1="4 " SRCROW2="30 " SRCCOLUMN2="23 " TYPESRC_LENG="0 " TYPESRC="BEGIN OF s_ax,
axid TYPE string,
type TYPE char5,
orientation TYPE string,
@ -20,7 +20,7 @@
crossbetween TYPE string,
END OF s_ax
"/>
<types CLSNAME="ZCL_EXCEL_GRAPH_BARS" CMPNAME="T_AX" VERSION="1" LANGU="E" EXPOSURE="2" STATE="1" EDITORDER="2 " TYPTYPE="4" SRCROW1="30 " SRCCOLUMN1="4 " SRCROW2="30 " SRCCOLUMN2="35 " TYPESRC_LENG="34 " TYPESRC="t_ax TYPE STANDARD TABLE OF s_ax
<types CLSNAME="ZCL_EXCEL_GRAPH_BARS" CMPNAME="T_AX" VERSION="1" LANGU="E" EXPOSURE="2" STATE="1" EDITORDER="2 " TYPTYPE="4" SRCROW1="32 " SRCCOLUMN1="4 " SRCROW2="32 " SRCCOLUMN2="35 " TYPESRC_LENG="0 " TYPESRC="t_ax TYPE STANDARD TABLE OF s_ax
"/>
<localImplementation>*&quot;* use this source file for the definition and implementation of
*&quot;* local helper classes, interface definitions and type
@ -30,25 +30,27 @@
*&quot;* components in the private section</localTypes>
<localMacros>*&quot;* use this source file for any macro definitions you need
*&quot;* in the implementation part of the class</localMacros>
<attribute CLSNAME="ZCL_EXCEL_GRAPH_BARS" CMPNAME="AXES" VERSION="1" LANGU="E" EXPOSURE="2" STATE="1" EDITORDER="11 " ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="T_AX" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_GRAPH_BARS" CMPNAME="C_CATAX" VERSION="1" LANGU="E" EXPOSURE="2" STATE="1" EDITORDER="13 " ATTDECLTYP="2" ATTVALUE="&apos;CATAX&apos;" ATTEXPVIRT="0" TYPTYPE="4" SRCROW1="46 " SRCCOLUMN1="4 " SRCROW2="46 " SRCCOLUMN2="26 " TYPESRC_LENG="25 " TYPESRC="C_CATAX type c length 5
<attribute CLSNAME="ZCL_EXCEL_GRAPH_BARS" CMPNAME="AXES" VERSION="1" LANGU="E" EXPOSURE="2" STATE="1" EDITORDER="13 " ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="T_AX" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_GRAPH_BARS" CMPNAME="C_CATAX" VERSION="1" LANGU="E" EXPOSURE="2" STATE="1" EDITORDER="15 " ATTDECLTYP="2" ATTVALUE="&apos;CATAX&apos;" ATTEXPVIRT="0" TYPTYPE="4" SRCROW1="50 " SRCCOLUMN1="4 " SRCROW2="50 " SRCCOLUMN2="26 " TYPESRC_LENG="24 " TYPESRC="C_CATAX type c length 5
"/>
<attribute CLSNAME="ZCL_EXCEL_GRAPH_BARS" CMPNAME="C_INVERTIFNEGATIVE_NO" VERSION="1" LANGU="E" EXPOSURE="2" STATE="1" EDITORDER="17 " ATTDECLTYP="2" ATTVALUE="&apos;0&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="STRING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_GRAPH_BARS" CMPNAME="C_INVERTIFNEGATIVE_YES" VERSION="1" LANGU="E" EXPOSURE="2" STATE="1" EDITORDER="16 " ATTDECLTYP="2" ATTVALUE="&apos;1&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="STRING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_GRAPH_BARS" CMPNAME="C_VALAX" VERSION="1" LANGU="E" EXPOSURE="2" STATE="1" EDITORDER="12 " ATTDECLTYP="2" ATTVALUE="&apos;VALAX&apos;" ATTEXPVIRT="0" TYPTYPE="4" SRCROW1="44 " SRCCOLUMN1="4 " SRCROW2="44 " SRCCOLUMN2="26 " TYPESRC_LENG="25 " TYPESRC="C_VALAX type c length 5
<attribute CLSNAME="ZCL_EXCEL_GRAPH_BARS" CMPNAME="C_GROUPINGVAL_CLUSTERED" VERSION="1" LANGU="E" DESCRIPT="Group parts of bars with offset" EXPOSURE="2" STATE="1" EDITORDER="2 " ATTDECLTYP="2" ATTVALUE="&apos;clustered&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="STRING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_GRAPH_BARS" CMPNAME="C_GROUPINGVAL_STACKED" VERSION="1" LANGU="E" DESCRIPT="Group bars on top of each other" EXPOSURE="2" STATE="1" EDITORDER="3 " ATTDECLTYP="2" ATTVALUE="&apos;stacked&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="STRING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_GRAPH_BARS" CMPNAME="C_INVERTIFNEGATIVE_NO" VERSION="1" LANGU="E" EXPOSURE="2" STATE="1" EDITORDER="19 " ATTDECLTYP="2" ATTVALUE="&apos;0&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="STRING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_GRAPH_BARS" CMPNAME="C_INVERTIFNEGATIVE_YES" VERSION="1" LANGU="E" EXPOSURE="2" STATE="1" EDITORDER="18 " ATTDECLTYP="2" ATTVALUE="&apos;1&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="STRING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_GRAPH_BARS" CMPNAME="C_VALAX" VERSION="1" LANGU="E" EXPOSURE="2" STATE="1" EDITORDER="14 " ATTDECLTYP="2" ATTVALUE="&apos;VALAX&apos;" ATTEXPVIRT="0" TYPTYPE="4" SRCROW1="48 " SRCCOLUMN1="4 " SRCROW2="48 " SRCCOLUMN2="26 " TYPESRC_LENG="24 " TYPESRC="C_VALAX type c length 5
"/>
<attribute CLSNAME="ZCL_EXCEL_GRAPH_BARS" CMPNAME="NS_BARDIRVAL" VERSION="1" LANGU="E" EXPOSURE="2" STATE="1" EDITORDER="1 " ATTDECLTYP="0" ATTVALUE="&apos;col&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="STRING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_GRAPH_BARS" CMPNAME="NS_GAPWIDTHVAL" VERSION="1" LANGU="E" EXPOSURE="2" STATE="1" EDITORDER="10 " ATTDECLTYP="0" ATTVALUE="&apos;150&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="STRING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_GRAPH_BARS" CMPNAME="NS_GROUPINGVAL" VERSION="1" LANGU="E" EXPOSURE="2" STATE="1" EDITORDER="2 " ATTDECLTYP="0" ATTVALUE="&apos;clustered&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="STRING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_GRAPH_BARS" CMPNAME="NS_LEGENDPOSVAL" VERSION="1" LANGU="E" EXPOSURE="2" STATE="1" EDITORDER="14 " ATTDECLTYP="0" ATTVALUE="&apos;r&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="STRING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_GRAPH_BARS" CMPNAME="NS_OVERLAYVAL" VERSION="1" LANGU="E" EXPOSURE="2" STATE="1" EDITORDER="15 " ATTDECLTYP="0" ATTVALUE="&apos;0&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="STRING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_GRAPH_BARS" CMPNAME="NS_SHOWBUBBLESIZEVAL" VERSION="1" LANGU="E" EXPOSURE="2" STATE="1" EDITORDER="9 " ATTDECLTYP="0" ATTVALUE="&apos;0&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="STRING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_GRAPH_BARS" CMPNAME="NS_SHOWCATNAMEVAL" VERSION="1" LANGU="E" EXPOSURE="2" STATE="1" EDITORDER="6 " ATTDECLTYP="0" ATTVALUE="&apos;0&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="STRING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_GRAPH_BARS" CMPNAME="NS_SHOWLEGENDKEYVAL" VERSION="1" LANGU="E" EXPOSURE="2" STATE="1" EDITORDER="4 " ATTDECLTYP="0" ATTVALUE="&apos;0&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="STRING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_GRAPH_BARS" CMPNAME="NS_SHOWPERCENTVAL" VERSION="1" LANGU="E" EXPOSURE="2" STATE="1" EDITORDER="8 " ATTDECLTYP="0" ATTVALUE="&apos;0&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="STRING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_GRAPH_BARS" CMPNAME="NS_SHOWSERNAMEVAL" VERSION="1" LANGU="E" EXPOSURE="2" STATE="1" EDITORDER="7 " ATTDECLTYP="0" ATTVALUE="&apos;0&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="STRING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_GRAPH_BARS" CMPNAME="NS_SHOWVALVAL" VERSION="1" LANGU="E" EXPOSURE="2" STATE="1" EDITORDER="5 " ATTDECLTYP="0" ATTVALUE="&apos;0&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="STRING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_GRAPH_BARS" CMPNAME="NS_VARYCOLORSVAL" VERSION="1" LANGU="E" EXPOSURE="2" STATE="1" EDITORDER="3 " ATTDECLTYP="0" ATTVALUE="&apos;0&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="STRING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_GRAPH_BARS" CMPNAME="NS_GAPWIDTHVAL" VERSION="1" LANGU="E" EXPOSURE="2" STATE="1" EDITORDER="12 " ATTDECLTYP="0" ATTVALUE="&apos;150&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="STRING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_GRAPH_BARS" CMPNAME="NS_GROUPINGVAL" VERSION="1" LANGU="E" EXPOSURE="2" STATE="1" EDITORDER="4 " ATTDECLTYP="0" ATTVALUE="C_GROUPINGVAL_CLUSTERED" ATTEXPVIRT="0" TYPTYPE="1" TYPE="STRING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_GRAPH_BARS" CMPNAME="NS_LEGENDPOSVAL" VERSION="1" LANGU="E" EXPOSURE="2" STATE="1" EDITORDER="16 " ATTDECLTYP="0" ATTVALUE="&apos;r&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="STRING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_GRAPH_BARS" CMPNAME="NS_OVERLAYVAL" VERSION="1" LANGU="E" EXPOSURE="2" STATE="1" EDITORDER="17 " ATTDECLTYP="0" ATTVALUE="&apos;0&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="STRING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_GRAPH_BARS" CMPNAME="NS_SHOWBUBBLESIZEVAL" VERSION="1" LANGU="E" EXPOSURE="2" STATE="1" EDITORDER="11 " ATTDECLTYP="0" ATTVALUE="&apos;0&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="STRING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_GRAPH_BARS" CMPNAME="NS_SHOWCATNAMEVAL" VERSION="1" LANGU="E" EXPOSURE="2" STATE="1" EDITORDER="8 " ATTDECLTYP="0" ATTVALUE="&apos;0&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="STRING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_GRAPH_BARS" CMPNAME="NS_SHOWLEGENDKEYVAL" VERSION="1" LANGU="E" EXPOSURE="2" STATE="1" EDITORDER="6 " ATTDECLTYP="0" ATTVALUE="&apos;0&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="STRING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_GRAPH_BARS" CMPNAME="NS_SHOWPERCENTVAL" VERSION="1" LANGU="E" EXPOSURE="2" STATE="1" EDITORDER="10 " ATTDECLTYP="0" ATTVALUE="&apos;0&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="STRING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_GRAPH_BARS" CMPNAME="NS_SHOWSERNAMEVAL" VERSION="1" LANGU="E" EXPOSURE="2" STATE="1" EDITORDER="9 " ATTDECLTYP="0" ATTVALUE="&apos;0&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="STRING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_GRAPH_BARS" CMPNAME="NS_SHOWVALVAL" VERSION="1" LANGU="E" EXPOSURE="2" STATE="1" EDITORDER="7 " ATTDECLTYP="0" ATTVALUE="&apos;0&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="STRING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_GRAPH_BARS" CMPNAME="NS_VARYCOLORSVAL" VERSION="1" LANGU="E" EXPOSURE="2" STATE="1" EDITORDER="5 " ATTDECLTYP="0" ATTVALUE="&apos;0&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="STRING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<inheritance CLSNAME="ZCL_EXCEL_GRAPH_BARS" REFCLSNAME="ZCL_EXCEL_GRAPH" VERSION="1" STATE="1"/>
<method CLSNAME="ZCL_EXCEL_GRAPH_BARS" CMPNAME="CREATE_AX" VERSION="1" LANGU="E" EXPOSURE="2" STATE="1" EDITORDER="1 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL_GRAPH_BARS" CMPNAME="CREATE_AX" SCONAME="IP_AXID" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="STRING" PAROPTIONL="X"/>

View File

@ -0,0 +1,52 @@
<?xml version="1.0" encoding="utf-8"?>
<CLAS CLSNAME="ZCL_EXCEL_OBSOLETE_FUNC_WRAP" VERSION="1" LANGU="E" DESCRIPT="Wrap obsolete functioncalls" CATEGORY="00" EXPOSURE="2" STATE="1" RELEASE="0" CLSCCINCL="X" FIXPT="X" UNICODE="X" CLSBCCAT="00" DURATION_TYPE="0 " RISK_LEVEL="0 " ZSAPLINK_PLUGIN_MAJOR_VERSION="0 " ZSAPLINK_PLUGIN_MINOR_VERSION="1 " ZSAPLINK_PLUGIN_BUILD_VERSION="0 " ZSAPLINK_PLUGIN_INFO1="ZSAPLINK_CLASS is part of the main ZSAPLINK project --&gt; This plugin found there instead of ZSAPLINK_PLUGINS projects" ZSAPLINK_PLUGIN_INFO2="SAPLINK homepage: https://www.assembla.com/spaces/saplink/wiki" ZSAPLINK_PLUGIN_INFO3="Download from https://www.assembla.com/code/saplink/subversion/nodes" ZSAPLINK_PLUGIN_INFO4="and navigate to: trunk -&gt; core -&gt; ZSAPLINK -&gt; CLAS -&gt; ZSAPLINK_CLASS.slnk">
<localImplementation>*&quot;* use this source file for the definition and implementation of
*&quot;* local helper classes, interface definitions and type
*&quot;* declarations</localImplementation>
<localTypes>*&quot;* use this source file for any type of declarations (class
*&quot;* definitions, interfaces or type declarations) you need for
*&quot;* components in the private section</localTypes>
<localMacros>*&quot;* use this source file for any macro definitions you need
*&quot;* in the implementation part of the class</localMacros>
<classDocumentation OBJECT="ZCL_EXCEL_OBSOLETE_FUNC_WRAP">
<language SPRAS="E">
<textLine TDFORMAT="U1" TDLINE="&amp;FUNCTIONALITY&amp;"/>
<textLine TDFORMAT="AS" TDLINE="Some function are becoming flagged as obsolete in later SAP releases."/>
<textLine TDLINE="This class will wrap all functions that we are using in ABAP2XLSX in a"/>
<textLine TDLINE="static method where we&apos;ll use the newer version that SAP suggests"/>
<textLine TDFORMAT="/" TDLINE="We&apos;ll keep the old function call as a comment in the method - that way"/>
<textLine TDLINE="anyone installing on an older system may remove the comments to activate"/>
<textLine TDLINE="the previous coding"/>
<textLine TDFORMAT="U1" TDLINE="&amp;RELATIONS&amp;"/>
<textLine TDFORMAT="AS"/>
<textLine TDFORMAT="U1" TDLINE="&amp;EXAMPLE&amp;"/>
<textLine TDFORMAT="AS"/>
<textLine TDFORMAT="U1" TDLINE="&amp;HINTS&amp;"/>
<textLine TDFORMAT="AS"/>
<textLine TDFORMAT="U1" TDLINE="&amp;FURTHER_SOURCES_OF_INF&amp;"/>
<textLine TDFORMAT="AS"/>
</language>
</classDocumentation>
<method CLSNAME="ZCL_EXCEL_OBSOLETE_FUNC_WRAP" CMPNAME="GUID_CREATE" VERSION="1" LANGU="E" DESCRIPT="Wrapper for obsolete function GUID_CREATE" EXPOSURE="2" STATE="1" EDITORDER="1 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="1" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL_OBSOLETE_FUNC_WRAP" CMPNAME="GUID_CREATE" SCONAME="RV_GUID_16" VERSION="1" LANGU="E" DESCRIPT="GUID in &apos;CHAR&apos; Format in Uppercase" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="GUID_16"/>
<source>METHOD guid_create.
TRY.
rv_guid_16 = cl_system_uuid=&gt;if_system_uuid_static~create_uuid_x16( ).
CATCH cx_uuid_error.
ENDTRY.
*--------------------------------------------------------------------*
* If you are on a release that does not yet have the class cl_system_uuid
* please use the following coding instead which is using the function
* call that was used before but which has been flagged as obsolete
* in newer SAP releases
*--------------------------------------------------------------------*
*
* CALL FUNCTION &apos;GUID_CREATE&apos;
* IMPORTING
* ev_guid_16 = rv_guid_16.
ENDMETHOD.</source>
</method>
</CLAS>

File diff suppressed because it is too large Load Diff

View File

@ -86,6 +86,7 @@ class lcl_test definition for testing &quot; #AU Risk_Level Harmless
test_style_missing for testing,
test_formula for testing,
test_read_shared_strings for testing,
test_shared_string_some_empty for testing,
test_skip_to_inexistent for testing,
get_reader importing iv_xml type string returning value(eo_reader) type ref to if_sxml_reader,
assert_value_equals importing iv_row type i default 1 iv_col type i default 1 iv_value type string,
@ -261,6 +262,31 @@ class lcl_test implementation.
endmethod.
*
method test_shared_string_some_empty.
data: lo_reader type ref to if_sxml_reader,
lt_act type stringtab,
lt_exp type stringtab.
lo_reader = cl_sxml_string_reader=&gt;create( cl_abap_codepage=&gt;convert_to(
`&lt;sst&gt;&lt;si&gt;&lt;t/&gt;&lt;/si&gt;` &amp;
`&lt;si&gt;&lt;t&gt;Alpha&lt;/t&gt;&lt;/si&gt;` &amp;
`&lt;si&gt;&lt;t/&gt;&lt;/si&gt;` &amp;
`&lt;si&gt;&lt;t&gt;Bravo&lt;/t&gt;&lt;/si&gt;&lt;/sst&gt;`
) ).
append :
`` to lt_exp,
`Alpha` to lt_exp,
`` to lt_exp,
`Bravo` to lt_exp.
lt_act = out-&gt;read_shared_strings( lo_reader ).
assert_equals( act = lt_act
exp = lt_exp ).
endmethod.
*
method test_skip_to_inexistent.
data: lo_c2x type ref to cl_abap_conv_out_ce,
@ -359,13 +385,16 @@ class lcl_test implementation.
ip_excel = excel.
endmethod. &quot;setup
endclass. &quot;lcl_test IMPLEMENTATION</localTestClasses>
<textPool>
<language SPRAS="E"/>
</textPool>
<typeIntfDef CLSNAME="ZCL_EXCEL_READER_HUGE_FILE" TYPEGROUP="IF_SXML_NODE" VERSION="1" TPUTYPE="2" IMPLICIT="X"/>
<attribute CLSNAME="ZCL_EXCEL_READER_HUGE_FILE" CMPNAME="C_ATTRIBUTE" VERSION="1" LANGU="E" EXPOSURE="0" STATE="1" EDITORDER="5 " ATTDECLTYP="2" ATTVALUE="IF_SXML_NODE=&gt;CO_NT_ATTRIBUTE" ATTEXPVIRT="0" TYPTYPE="1" TYPE="IF_SXML_NODE=&gt;NODE_TYPE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_READER_HUGE_FILE" CMPNAME="C_ELEMENT_CLOSE" VERSION="1" LANGU="E" EXPOSURE="0" STATE="1" EDITORDER="3 " ATTDECLTYP="2" ATTVALUE="IF_SXML_NODE=&gt;CO_NT_ELEMENT_CLOSE" ATTEXPVIRT="0" TYPTYPE="1" TYPE="IF_SXML_NODE=&gt;NODE_TYPE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_READER_HUGE_FILE" CMPNAME="C_ELEMENT_OPEN" VERSION="1" LANGU="E" EXPOSURE="0" STATE="1" EDITORDER="2 " ATTDECLTYP="2" ATTVALUE="IF_SXML_NODE=&gt;CO_NT_ELEMENT_OPEN" ATTEXPVIRT="0" TYPTYPE="1" TYPE="IF_SXML_NODE=&gt;NODE_TYPE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_READER_HUGE_FILE" CMPNAME="C_END_OF_STREAM" VERSION="1" LANGU="E" EXPOSURE="0" STATE="1" EDITORDER="1 " ATTDECLTYP="2" ATTVALUE="IF_SXML_NODE=&gt;CO_NT_FINAL" ATTEXPVIRT="0" TYPTYPE="1" TYPE="IF_SXML_NODE=&gt;NODE_TYPE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_READER_HUGE_FILE" CMPNAME="C_NODE_VALUE" VERSION="1" LANGU="E" EXPOSURE="0" STATE="1" EDITORDER="6 " ATTDECLTYP="2" ATTVALUE="IF_SXML_NODE=&gt;CO_NT_VALUE" ATTEXPVIRT="0" TYPTYPE="1" TYPE="IF_SXML_NODE=&gt;NODE_TYPE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_READER_HUGE_FILE" CMPNAME="GS_BUFFER_STYLE" VERSION="1" LANGU="E" EXPOSURE="0" STATE="1" EDITORDER="4 " ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="4" SRCROW1="26 " SRCCOLUMN1="4 " SRCROW2="29 " SRCCOLUMN2="25 " TYPESRC_LENG="117 " TYPESRC="begin of gs_buffer_style,
<attribute CLSNAME="ZCL_EXCEL_READER_HUGE_FILE" CMPNAME="C_ATTRIBUTE" VERSION="1" LANGU="D" EXPOSURE="0" STATE="1" EDITORDER="5 " ATTDECLTYP="2" ATTVALUE="IF_SXML_NODE=&gt;CO_NT_ATTRIBUTE" ATTEXPVIRT="0" TYPTYPE="1" TYPE="IF_SXML_NODE=&gt;NODE_TYPE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_READER_HUGE_FILE" CMPNAME="C_ELEMENT_CLOSE" VERSION="1" LANGU="D" EXPOSURE="0" STATE="1" EDITORDER="3 " ATTDECLTYP="2" ATTVALUE="IF_SXML_NODE=&gt;CO_NT_ELEMENT_CLOSE" ATTEXPVIRT="0" TYPTYPE="1" TYPE="IF_SXML_NODE=&gt;NODE_TYPE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_READER_HUGE_FILE" CMPNAME="C_ELEMENT_OPEN" VERSION="1" LANGU="D" EXPOSURE="0" STATE="1" EDITORDER="2 " ATTDECLTYP="2" ATTVALUE="IF_SXML_NODE=&gt;CO_NT_ELEMENT_OPEN" ATTEXPVIRT="0" TYPTYPE="1" TYPE="IF_SXML_NODE=&gt;NODE_TYPE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_READER_HUGE_FILE" CMPNAME="C_END_OF_STREAM" VERSION="1" LANGU="D" EXPOSURE="0" STATE="1" EDITORDER="1 " ATTDECLTYP="2" ATTVALUE="IF_SXML_NODE=&gt;CO_NT_FINAL" ATTEXPVIRT="0" TYPTYPE="1" TYPE="IF_SXML_NODE=&gt;NODE_TYPE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_READER_HUGE_FILE" CMPNAME="C_NODE_VALUE" VERSION="1" LANGU="D" EXPOSURE="0" STATE="1" EDITORDER="6 " ATTDECLTYP="2" ATTVALUE="IF_SXML_NODE=&gt;CO_NT_VALUE" ATTEXPVIRT="0" TYPTYPE="1" TYPE="IF_SXML_NODE=&gt;NODE_TYPE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_READER_HUGE_FILE" CMPNAME="GS_BUFFER_STYLE" VERSION="1" LANGU="D" EXPOSURE="0" STATE="1" EDITORDER="4 " ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="4" SRCROW1="25 " SRCCOLUMN1="4 " SRCROW2="28 " SRCCOLUMN2="25 " TYPESRC_LENG="117 " TYPESRC="begin of gs_buffer_style,
index type i value -1,
@ -519,13 +548,21 @@ endmethod.</source>
<method CLSNAME="ZCL_EXCEL_READER_HUGE_FILE" CMPNAME="READ_SHARED_STRINGS" VERSION="1" LANGU="E" DESCRIPT="Reads the XML file containing the shared strings" EXPOSURE="0" STATE="1" EDITORDER="3 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL_READER_HUGE_FILE" CMPNAME="READ_SHARED_STRINGS" SCONAME="IO_READER" VERSION="1" LANGU="E" DESCRIPT="sXML reader" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="3" TYPE="IF_SXML_READER"/>
<parameter CLSNAME="ZCL_EXCEL_READER_HUGE_FILE" CMPNAME="READ_SHARED_STRINGS" SCONAME="ET_SHARED_STRINGS" VERSION="1" LANGU="E" DESCRIPT="Table with Strings" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="STRINGTAB"/>
<source>method READ_SHARED_STRINGS.
<source>method read_shared_strings.
data lv_value type string.
while io_reader-&gt;node_type ne c_end_of_stream.
io_reader-&gt;next_node( ).
if io_reader-&gt;node_type eq c_element_close and
io_reader-&gt;name eq `t`.
append io_reader-&gt;value to et_shared_strings.
if io_reader-&gt;name eq `t`.
case io_reader-&gt;node_type .
when c_element_open .
clear lv_value .
when c_node_value .
lv_value = lv_value &amp;&amp; io_reader-&gt;value .
when c_element_close .
append lv_value to et_shared_strings.
endcase .
endif.
endwhile.

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<CLAS CLSNAME="ZCL_EXCEL_STYLE" VERSION="1" LANGU="E" DESCRIPT="Style" CATEGORY="00" EXPOSURE="2" STATE="1" RELEASE="0" CLSFINAL="X" CLSCCINCL="X" FIXPT="X" UNICODE="X" CLSBCCAT="00" DURATION_TYPE="0 " RISK_LEVEL="0 ">
<CLAS CLSNAME="ZCL_EXCEL_STYLE" VERSION="1" LANGU="E" DESCRIPT="Style" CATEGORY="00" EXPOSURE="2" STATE="1" RELEASE="0" CLSFINAL="X" CLSCCINCL="X" FIXPT="X" UNICODE="X" CLSBCCAT="00" DURATION_TYPE="0 " RISK_LEVEL="0 " ZSAPLINK_PLUGIN_MAJOR_VERSION="0 " ZSAPLINK_PLUGIN_MINOR_VERSION="1 " ZSAPLINK_PLUGIN_BUILD_VERSION="0 " ZSAPLINK_PLUGIN_INFO1="ZSAPLINK_CLASS is part of the main ZSAPLINK project --&gt; This plugin found there instead of ZSAPLINK_PLUGINS projects" ZSAPLINK_PLUGIN_INFO2="SAPLINK homepage: https://www.assembla.com/spaces/saplink/wiki" ZSAPLINK_PLUGIN_INFO3="Download from https://www.assembla.com/code/saplink/subversion/nodes" ZSAPLINK_PLUGIN_INFO4="and navigate to: trunk -&gt; core -&gt; ZSAPLINK -&gt; CLAS -&gt; ZSAPLINK_CLASS.slnk">
<localImplementation>*&quot;* local class implementation for public class
*&quot;* use this source file for the implementation part of
*&quot;* local helper classes</localImplementation>
@ -17,7 +17,7 @@
<attribute CLSNAME="ZCL_EXCEL_STYLE" CMPNAME="PROTECTION" VERSION="1" LANGU="E" DESCRIPT="Protection Style" EXPOSURE="2" STATE="1" EDITORDER="6 " ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="3" TYPE="ZCL_EXCEL_STYLE_PROTECTION" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<method CLSNAME="ZCL_EXCEL_STYLE" CMPNAME="CONSTRUCTOR" VERSION="1" LANGU="E" DESCRIPT="CONSTRUCTOR" EXPOSURE="2" STATE="1" EDITORDER="1 " DISPID="0 " MTDTYPE="2" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL_STYLE" CMPNAME="CONSTRUCTOR" SCONAME="IP_GUID" VERSION="1" LANGU="E" DESCRIPT="Style identifier" CMPTYPE="1" MTDTYPE="2" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_CELL_STYLE" PAROPTIONL="X"/>
<source>method CONSTRUCTOR.
<source>METHOD constructor.
CREATE OBJECT font.
@ -32,14 +32,15 @@
me-&gt;guid = ip_guid.
ELSE.
* End of insertion # issue 139 - Dateretention of cellstyles
CALL FUNCTION &apos;GUID_CREATE&apos;
IMPORTING
ev_guid_16 = me-&gt;guid.
* CALL FUNCTION &apos;GUID_CREATE&apos; &quot; del issue #379 - function is outdated in newer releases
* IMPORTING
* ev_guid_16 = me-&gt;guid.
me-&gt;guid = zcl_excel_obsolete_func_wrap=&gt;guid_create( ). &quot; ins issue #379 - replacement for outdated function call
* Start of insertion # issue 139 - Dateretention of cellstyles
ENDIF.
* End of insertion # issue 139 - Dateretention of cellstyles
endmethod.</source>
ENDMETHOD.</source>
</method>
<method CLSNAME="ZCL_EXCEL_STYLE" CMPNAME="GET_GUID" VERSION="1" LANGU="E" EXPOSURE="2" STATE="1" EDITORDER="2 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL_STYLE" CMPNAME="GET_GUID" SCONAME="EP_GUID" VERSION="1" LANGU="E" DESCRIPT="Generic Data Element for GUID Fields (X16)" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="ZEXCEL_CELL_STYLE"/>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<CLAS CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" VERSION="1" LANGU="E" DESCRIPT="Font Style" CATEGORY="00" EXPOSURE="2" STATE="1" RELEASE="0" CLSFINAL="X" CLSCCINCL="X" FIXPT="X" UNICODE="X" CLSBCCAT="00" DURATION_TYPE="0 " RISK_LEVEL="0 ">
<CLAS CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" VERSION="1" LANGU="E" DESCRIPT="Font Style" CATEGORY="00" EXPOSURE="2" STATE="1" RELEASE="0" CLSFINAL="X" CLSCCINCL="X" FIXPT="X" UNICODE="X" CLSBCCAT="00" DURATION_TYPE="0 " RISK_LEVEL="0 " ZSAPLINK_PLUGIN_MAJOR_VERSION="0 " ZSAPLINK_PLUGIN_MINOR_VERSION="1 " ZSAPLINK_PLUGIN_BUILD_VERSION="0 " ZSAPLINK_PLUGIN_INFO1="ZSAPLINK_CLASS is part of the main ZSAPLINK project --&gt; This plugin found there instead of ZSAPLINK_PLUGINS projects" ZSAPLINK_PLUGIN_INFO2="SAPLINK homepage: https://www.assembla.com/spaces/saplink/wiki" ZSAPLINK_PLUGIN_INFO3="Download from https://www.assembla.com/code/saplink/subversion/nodes" ZSAPLINK_PLUGIN_INFO4="and navigate to: trunk -&gt; core -&gt; ZSAPLINK -&gt; CLAS -&gt; ZSAPLINK_CLASS.slnk">
<localImplementation>*&quot;* local class implementation for public class
*&quot;* use this source file for the implementation part of
*&quot;* local helper classes</localImplementation>
@ -8,6 +8,7 @@
*&quot;* implementation or private method&apos;s signature</localTypes>
<localMacros>*&quot;* use this source file for any macro definitions you need
*&quot;* in the implementation part of the class</localMacros>
<typeClasDef CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" TYPEGROUP="ZCL_EXCEL_STYLE_CONDITIONAL" VERSION="1" TPUTYPE="1" IMPLICIT="X"/>
<attribute CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="C_CFVO_TYPE_FORMULA" VERSION="1" LANGU="E" DESCRIPT="Condition type" EXPOSURE="2" STATE="1" EDITORDER="1 " ATTDECLTYP="2" ATTVALUE="&apos;formula&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_CONDITIONAL_TYPE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="C_CFVO_TYPE_MAX" VERSION="1" LANGU="E" DESCRIPT="Condition type" EXPOSURE="2" STATE="1" EDITORDER="2 " ATTDECLTYP="2" ATTVALUE="&apos;max&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_CONDITIONAL_TYPE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="C_CFVO_TYPE_MIN" VERSION="1" LANGU="E" DESCRIPT="Condition type" EXPOSURE="2" STATE="1" EDITORDER="3 " ATTDECLTYP="2" ATTVALUE="&apos;min&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_CONDITIONAL_TYPE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
@ -43,6 +44,7 @@
<attribute CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="C_OPERATOR_NONE" VERSION="1" LANGU="E" DESCRIPT="Condition operator" EXPOSURE="2" STATE="1" EDITORDER="33 " ATTDECLTYP="2" ATTVALUE="&apos;&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_CONDITION_OPERATOR" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="C_OPERATOR_NOTCONTAINS" VERSION="1" LANGU="E" DESCRIPT="Condition operator" EXPOSURE="2" STATE="1" EDITORDER="34 " ATTDECLTYP="2" ATTVALUE="&apos;notContains&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_CONDITION_OPERATOR" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="C_OPERATOR_NOTEQUAL" VERSION="1" LANGU="E" DESCRIPT="Condition operator" EXPOSURE="2" STATE="1" EDITORDER="35 " ATTDECLTYP="2" ATTVALUE="&apos;notEqual&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_CONDITION_OPERATOR" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="C_RULE_ABOVE_AVERAGE" VERSION="1" LANGU="E" DESCRIPT="Rule above avearge" EXPOSURE="2" STATE="1" EDITORDER="44 " ATTDECLTYP="2" ATTVALUE="&apos;aboveAverage&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_CONDITION_RULE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="C_RULE_CELLIS" VERSION="1" LANGU="E" DESCRIPT="Condition rule" EXPOSURE="2" STATE="1" EDITORDER="36 " ATTDECLTYP="2" ATTVALUE="&apos;cellIs&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_CONDITION_RULE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="C_RULE_COLORSCALE" VERSION="1" LANGU="E" DESCRIPT="Condition rule" EXPOSURE="2" STATE="1" EDITORDER="41 " ATTDECLTYP="2" ATTVALUE="&apos;colorScale&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_CONDITION_RULE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="C_RULE_CONTAINSTEXT" VERSION="1" LANGU="E" DESCRIPT="Condition rule" EXPOSURE="2" STATE="1" EDITORDER="37 " ATTDECLTYP="2" ATTVALUE="&apos;containsText&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_CONDITION_RULE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
@ -50,17 +52,20 @@
<attribute CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="C_RULE_EXPRESSION" VERSION="1" LANGU="E" DESCRIPT="Condition rule" EXPOSURE="2" STATE="1" EDITORDER="39 " ATTDECLTYP="2" ATTVALUE="&apos;expression&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_CONDITION_RULE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="C_RULE_ICONSET" VERSION="1" LANGU="E" DESCRIPT="Condition rule" EXPOSURE="2" STATE="1" EDITORDER="40 " ATTDECLTYP="2" ATTVALUE="&apos;iconSet&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_CONDITION_RULE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="C_RULE_NONE" VERSION="1" LANGU="E" DESCRIPT="Condition rule" EXPOSURE="2" STATE="1" EDITORDER="42 " ATTDECLTYP="2" ATTVALUE="&apos;none&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_CONDITION_RULE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="C_SHOWVALUE_FALSE" VERSION="1" LANGU="E" DESCRIPT="Condition type" EXPOSURE="2" STATE="1" EDITORDER="43 " ATTDECLTYP="2" ATTVALUE="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_CONDITIONAL_SHOW_VALUE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="C_SHOWVALUE_TRUE" VERSION="1" LANGU="E" DESCRIPT="Condition type" EXPOSURE="2" STATE="1" EDITORDER="44 " ATTDECLTYP="2" ATTVALUE="1" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_CONDITIONAL_SHOW_VALUE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="MODE_CELLIS" VERSION="1" LANGU="E" DESCRIPT="Iconset settings" EXPOSURE="2" STATE="1" EDITORDER="45 " ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_CONDITIONAL_CELLIS" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="MODE_COLORSCALE" VERSION="1" LANGU="E" DESCRIPT="Colorscale settings" EXPOSURE="2" STATE="1" EDITORDER="46 " ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_CONDITIONAL_COLORSCALE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="MODE_DATABAR" VERSION="1" LANGU="E" DESCRIPT="Databar settings" EXPOSURE="2" STATE="1" EDITORDER="47 " ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_CONDITIONAL_DATABAR" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="MODE_EXPRESSION" VERSION="1" LANGU="E" DESCRIPT="Expression settings" EXPOSURE="2" STATE="1" EDITORDER="48 " ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_CONDITIONAL_EXPRESSION" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="MODE_ICONSET" VERSION="1" LANGU="E" DESCRIPT="Iconset settings" EXPOSURE="2" STATE="1" EDITORDER="49 " ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_CONDITIONAL_ICONSET" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="PRIORITY" VERSION="1" LANGU="E" DESCRIPT="Style Priority" EXPOSURE="2" STATE="1" EDITORDER="50 " ATTDECLTYP="0" ATTVALUE="1" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_STYLE_PRIORITY" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="RULE" VERSION="1" LANGU="E" DESCRIPT="Condition rule" EXPOSURE="2" STATE="1" EDITORDER="51 " ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_CONDITION_RULE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="START_CELL" VERSION="1" LANGU="E" DESCRIPT="Cell data" EXPOSURE="0" STATE="1" EDITORDER="52 " ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_S_CELL_DATA" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="STOP_CELL" VERSION="1" LANGU="E" DESCRIPT="Cell data" EXPOSURE="0" STATE="1" EDITORDER="53 " ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_S_CELL_DATA" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="C_RULE_TOP10" VERSION="1" LANGU="E" DESCRIPT="Rule top-10" EXPOSURE="2" STATE="1" EDITORDER="43 " ATTDECLTYP="2" ATTVALUE="&apos;top10&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_CONDITION_RULE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="C_SHOWVALUE_FALSE" VERSION="1" LANGU="E" DESCRIPT="Condition type" EXPOSURE="2" STATE="1" EDITORDER="45 " ATTDECLTYP="2" ATTVALUE="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_CONDITIONAL_SHOW_VALUE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="C_SHOWVALUE_TRUE" VERSION="1" LANGU="E" DESCRIPT="Condition type" EXPOSURE="2" STATE="1" EDITORDER="46 " ATTDECLTYP="2" ATTVALUE="1" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_CONDITIONAL_SHOW_VALUE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="MODE_ABOVE_AVERAGE" VERSION="1" LANGU="E" DESCRIPT="Top10 settings ( topxx_count determines top20,top50... )" EXPOSURE="2" STATE="1" EDITORDER="53 " ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_CONDITIONAL_ABOVE_AVG" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="MODE_CELLIS" VERSION="1" LANGU="E" DESCRIPT="Iconset settings" EXPOSURE="2" STATE="1" EDITORDER="47 " ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_CONDITIONAL_CELLIS" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="MODE_COLORSCALE" VERSION="1" LANGU="E" DESCRIPT="Colorscale settings" EXPOSURE="2" STATE="1" EDITORDER="48 " ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_CONDITIONAL_COLORSCALE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="MODE_DATABAR" VERSION="1" LANGU="E" DESCRIPT="Databar settings" EXPOSURE="2" STATE="1" EDITORDER="49 " ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_CONDITIONAL_DATABAR" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="MODE_EXPRESSION" VERSION="1" LANGU="E" DESCRIPT="Expression settings" EXPOSURE="2" STATE="1" EDITORDER="50 " ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_CONDITIONAL_EXPRESSION" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="MODE_ICONSET" VERSION="1" LANGU="E" DESCRIPT="Iconset settings" EXPOSURE="2" STATE="1" EDITORDER="51 " ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_CONDITIONAL_ICONSET" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="MODE_TOP10" VERSION="1" LANGU="E" DESCRIPT="Top10 settings ( topxx_count determines top20,top50... )" EXPOSURE="2" STATE="1" EDITORDER="52 " ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_CONDITIONAL_TOP10" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="PRIORITY" VERSION="1" LANGU="E" DESCRIPT="Style Priority" EXPOSURE="2" STATE="1" EDITORDER="54 " ATTDECLTYP="0" ATTVALUE="1" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_STYLE_PRIORITY" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="RULE" VERSION="1" LANGU="E" DESCRIPT="Condition rule" EXPOSURE="2" STATE="1" EDITORDER="55 " ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_CONDITION_RULE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="START_CELL" VERSION="1" LANGU="E" DESCRIPT="Cell data" EXPOSURE="0" STATE="1" EDITORDER="56 " ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_S_CELL_DATA" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="STOP_CELL" VERSION="1" LANGU="E" DESCRIPT="Cell data" EXPOSURE="0" STATE="1" EDITORDER="57 " ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_S_CELL_DATA" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<method CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="CONSTRUCTOR" VERSION="1" LANGU="E" DESCRIPT="CONSTRUCTOR" EXPOSURE="2" STATE="1" EDITORDER="1 " DISPID="0 " MTDTYPE="2" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
<source>method CONSTRUCTOR.
@ -90,6 +95,60 @@
me-&gt;start_cell-cell_column = 1.
endmethod.</source>
</method>
<method CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="FACTORY_COND_STYLE_ICONSET" VERSION="1" LANGU="E" DESCRIPT="Add conditional style of type iconset" EXPOSURE="2" STATE="1" EDITORDER="4 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="1" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="FACTORY_COND_STYLE_ICONSET" SCONAME="IO_WORKSHEET" VERSION="1" LANGU="E" DESCRIPT="Worksheet" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="3" TYPE="ZCL_EXCEL_WORKSHEET"/>
<parameter CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="FACTORY_COND_STYLE_ICONSET" SCONAME="IV_ICON_TYPE" VERSION="1" LANGU="E" DESCRIPT="Condition rule iconset" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_CONDITION_RULE_ICONSET" PARVALUE="C_ICONSET_3TRAFFICLIGHTS2"/>
<parameter CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="FACTORY_COND_STYLE_ICONSET" SCONAME="IV_CFVO1_TYPE" VERSION="1" LANGU="E" DESCRIPT="Condition type" CMPTYPE="1" MTDTYPE="0" EDITORDER="3 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_CONDITIONAL_TYPE" PARVALUE="C_CFVO_TYPE_PERCENT"/>
<parameter CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="FACTORY_COND_STYLE_ICONSET" SCONAME="IV_CFVO1_VALUE" VERSION="1" LANGU="E" DESCRIPT="Condition value" CMPTYPE="1" MTDTYPE="0" EDITORDER="4 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_CONDITIONAL_VALUE" PAROPTIONL="X"/>
<parameter CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="FACTORY_COND_STYLE_ICONSET" SCONAME="IV_CFVO2_TYPE" VERSION="1" LANGU="E" DESCRIPT="Condition type" CMPTYPE="1" MTDTYPE="0" EDITORDER="5 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_CONDITIONAL_TYPE" PARVALUE="C_CFVO_TYPE_PERCENT"/>
<parameter CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="FACTORY_COND_STYLE_ICONSET" SCONAME="IV_CFVO2_VALUE" VERSION="1" LANGU="E" DESCRIPT="Condition value" CMPTYPE="1" MTDTYPE="0" EDITORDER="6 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_CONDITIONAL_VALUE" PAROPTIONL="X"/>
<parameter CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="FACTORY_COND_STYLE_ICONSET" SCONAME="IV_CFVO3_TYPE" VERSION="1" LANGU="E" DESCRIPT="Condition type" CMPTYPE="1" MTDTYPE="0" EDITORDER="7 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_CONDITIONAL_TYPE" PARVALUE="C_CFVO_TYPE_PERCENT"/>
<parameter CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="FACTORY_COND_STYLE_ICONSET" SCONAME="IV_CFVO3_VALUE" VERSION="1" LANGU="E" DESCRIPT="Condition value" CMPTYPE="1" MTDTYPE="0" EDITORDER="8 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_CONDITIONAL_VALUE" PAROPTIONL="X"/>
<parameter CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="FACTORY_COND_STYLE_ICONSET" SCONAME="IV_CFVO4_TYPE" VERSION="1" LANGU="E" DESCRIPT="Condition type" CMPTYPE="1" MTDTYPE="0" EDITORDER="9 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_CONDITIONAL_TYPE" PARVALUE="C_CFVO_TYPE_PERCENT"/>
<parameter CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="FACTORY_COND_STYLE_ICONSET" SCONAME="IV_CFVO4_VALUE" VERSION="1" LANGU="E" DESCRIPT="Condition value" CMPTYPE="1" MTDTYPE="0" EDITORDER="10 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_CONDITIONAL_VALUE" PAROPTIONL="X"/>
<parameter CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="FACTORY_COND_STYLE_ICONSET" SCONAME="IV_CFVO5_TYPE" VERSION="1" LANGU="E" DESCRIPT="Condition type" CMPTYPE="1" MTDTYPE="0" EDITORDER="11 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_CONDITIONAL_TYPE" PARVALUE="C_CFVO_TYPE_PERCENT"/>
<parameter CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="FACTORY_COND_STYLE_ICONSET" SCONAME="IV_CFVO5_VALUE" VERSION="1" LANGU="E" DESCRIPT="Condition value" CMPTYPE="1" MTDTYPE="0" EDITORDER="12 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_CONDITIONAL_VALUE" PAROPTIONL="X"/>
<parameter CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="FACTORY_COND_STYLE_ICONSET" SCONAME="IV_SHOWVALUE" VERSION="1" LANGU="E" DESCRIPT="Condition type" CMPTYPE="1" MTDTYPE="0" EDITORDER="13 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_CONDITIONAL_SHOW_VALUE" PARVALUE="ZCL_EXCEL_STYLE_CONDITIONAL=&gt;C_SHOWVALUE_TRUE"/>
<parameter CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="FACTORY_COND_STYLE_ICONSET" SCONAME="RV_STYLE_CONDITIONAL" VERSION="1" LANGU="E" DESCRIPT="Font Style" CMPTYPE="1" MTDTYPE="0" EDITORDER="14 " DISPID="0 " PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="3" TYPE="ZCL_EXCEL_STYLE_CONDITIONAL"/>
<source>METHOD factory_cond_style_iconset.
*--------------------------------------------------------------------*
* Work in progress
* Missing: LE or LT may be specified --&gt; extend structure ZEXCEL_CONDITIONAL_ICONSET to hold this information as well
*--------------------------------------------------------------------*
* DATA: lv_needed_values TYPE i.
* CASE icon_type.
*
* WHEN &apos;C_ICONSET_3ARROWS&apos;
* OR &apos;C_ICONSET_3ARROWSGRAY&apos;
* OR &apos;C_ICONSET_3FLAGS&apos;
* OR &apos;C_ICONSET_3SIGNS&apos;
* OR &apos;C_ICONSET_3SYMBOLS&apos;
* OR &apos;C_ICONSET_3SYMBOLS2&apos;
* OR &apos;C_ICONSET_3TRAFFICLIGHTS&apos;
* OR &apos;C_ICONSET_3TRAFFICLIGHTS2&apos;.
* lv_needed_values = 3.
*
* WHEN &apos;C_ICONSET_4ARROWS&apos;
* OR &apos;C_ICONSET_4ARROWSGRAY&apos;
* OR &apos;C_ICONSET_4RATING&apos;
* OR &apos;C_ICONSET_4REDTOBLACK&apos;
* OR &apos;C_ICONSET_4TRAFFICLIGHTS&apos;.
* lv_needed_values = 4.
*
* WHEN &apos;C_ICONSET_5ARROWS&apos;
* OR &apos;C_ICONSET_5ARROWSGRAY&apos;
* OR &apos;C_ICONSET_5QUARTERS&apos;
* OR &apos;C_ICONSET_5RATING&apos;.
* lv_needed_values = 5.
*
* WHEN OTHERS.
* RETURN.
* ENDCASE.
ENDMETHOD.</source>
</method>
<method CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="GET_DIMENSION_RANGE" VERSION="1" LANGU="E" DESCRIPT="Get used range dimension" EXPOSURE="2" STATE="1" EDITORDER="2 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="GET_DIMENSION_RANGE" SCONAME="EP_DIMENSION_RANGE" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="STRING"/>
<source>method GET_DIMENSION_RANGE.

View File

@ -8,6 +8,8 @@
*&quot;* implementation or private method&apos;s signature</localTypes>
<localMacros>*&quot;* use this source file for any macro definitions you need
*&quot;* in the implementation part of the class</localMacros>
<typeUsage CLSNAME="ZCL_EXCEL_STYLE_FILL" TYPEGROUP="ABAP" VERSION="1" TPUTYPE="0" EXPLICIT="X"/>
<forwardDeclaration>ABAP</forwardDeclaration>
<attribute CLSNAME="ZCL_EXCEL_STYLE_FILL" CMPNAME="BGCOLOR" VERSION="1" LANGU="E" DESCRIPT="Color" EXPOSURE="2" STATE="1" EDITORDER="39 " ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_S_STYLE_COLOR" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_STYLE_FILL" CMPNAME="C_FILL_GRADIENT_CORNERLB" VERSION="1" LANGU="E" EXPOSURE="2" STATE="1" EDITORDER="32 " ATTDECLTYP="2" ATTVALUE="&apos;cornerLB&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_FILL_TYPE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_STYLE_FILL" CMPNAME="C_FILL_GRADIENT_CORNERLT" VERSION="1" LANGU="E" EXPOSURE="2" STATE="1" EDITORDER="31 " ATTDECLTYP="2" ATTVALUE="&apos;cornerLT&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_FILL_TYPE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,40 @@
<?xml version="1.0" encoding="utf-8"?>
<CLAS CLSNAME="ZCL_EXCEL_WORKSHEET_PAGEBREAKS" VERSION="1" LANGU="E" DESCRIPT="Pagebreaks" CATEGORY="00" EXPOSURE="2" STATE="1" RELEASE="0" CLSCCINCL="X" FIXPT="X" UNICODE="X" CLSBCCAT="00" DURATION_TYPE="0 " RISK_LEVEL="0 " ZSAPLINK_PLUGIN_MAJOR_VERSION="0 " ZSAPLINK_PLUGIN_MINOR_VERSION="1 " ZSAPLINK_PLUGIN_BUILD_VERSION="0 " ZSAPLINK_PLUGIN_INFO1="ZSAPLINK_CLASS is part of the main ZSAPLINK project --&gt; This plugin found there instead of ZSAPLINK_PLUGINS projects" ZSAPLINK_PLUGIN_INFO2="SAPLINK homepage: https://www.assembla.com/spaces/saplink/wiki" ZSAPLINK_PLUGIN_INFO3="Download from https://www.assembla.com/code/saplink/subversion/nodes" ZSAPLINK_PLUGIN_INFO4="and navigate to: trunk -&gt; core -&gt; ZSAPLINK -&gt; CLAS -&gt; ZSAPLINK_CLASS.slnk">
<types CLSNAME="ZCL_EXCEL_WORKSHEET_PAGEBREAKS" CMPNAME="TS_PAGEBREAK_AT" VERSION="1" LANGU="E" DESCRIPT="Pagebreak below/right of this cell" EXPOSURE="2" STATE="1" EDITORDER="1 " TYPTYPE="4" SRCROW1="8 " SRCCOLUMN1="4 " SRCROW2="11 " SRCCOLUMN2="32 " TYPESRC_LENG="0 " TYPESRC="BEGIN OF ts_pagebreak_at ,
cell_row TYPE zexcel_cell_row,
cell_column TYPE zexcel_cell_column,
END OF ts_pagebreak_at
"/>
<types CLSNAME="ZCL_EXCEL_WORKSHEET_PAGEBREAKS" CMPNAME="TT_PAGEBREAK_AT" VERSION="1" LANGU="E" DESCRIPT="All pagebreaks" EXPOSURE="2" STATE="1" EDITORDER="2 " TYPTYPE="4" SRCROW1="13 " SRCCOLUMN1="4 " SRCROW2="13 " SRCCOLUMN2="93 " TYPESRC_LENG="0 " TYPESRC="tt_pagebreak_at TYPE HASHED TABLE OF ts_pagebreak_at WITH UNIQUE KEY cell_row cell_column
"/>
<localImplementation>*&quot;* use this source file for the definition and implementation of
*&quot;* local helper classes, interface definitions and type
*&quot;* declarations</localImplementation>
<localTypes>*&quot;* use this source file for any type of declarations (class
*&quot;* definitions, interfaces or type declarations) you need for
*&quot;* components in the private section</localTypes>
<localMacros>*&quot;* use this source file for any macro definitions you need
*&quot;* in the implementation part of the class</localMacros>
<attribute CLSNAME="ZCL_EXCEL_WORKSHEET_PAGEBREAKS" CMPNAME="MT_PAGEBREAKS" VERSION="1" LANGU="E" DESCRIPT="All pagebreaks" EXPOSURE="1" STATE="1" EDITORDER="1 " ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="TT_PAGEBREAK_AT" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<method CLSNAME="ZCL_EXCEL_WORKSHEET_PAGEBREAKS" CMPNAME="ADD_PAGEBREAK" VERSION="1" LANGU="E" DESCRIPT="Add pagebreak" EXPOSURE="2" STATE="1" EDITORDER="1 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" MTDNEWEXC="X" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL_WORKSHEET_PAGEBREAKS" CMPNAME="ADD_PAGEBREAK" 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_WORKSHEET_PAGEBREAKS" CMPNAME="ADD_PAGEBREAK" 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"/>
<exception CLSNAME="ZCL_EXCEL_WORKSHEET_PAGEBREAKS" CMPNAME="ADD_PAGEBREAK" SCONAME="ZCX_EXCEL" VERSION="1" LANGU="E" DESCRIPT="Exceptions for ABAP2XLSX" MTDTYPE="0" EDITORDER="1 "/>
<source>METHOD add_pagebreak.
DATA: ls_pagebreak LIKE LINE OF me-&gt;mt_pagebreaks.
ls_pagebreak-cell_row = ip_row.
ls_pagebreak-cell_column = zcl_excel_common=&gt;convert_column2int( ip_column ).
INSERT ls_pagebreak INTO TABLE me-&gt;mt_pagebreaks.
ENDMETHOD.</source>
</method>
<method CLSNAME="ZCL_EXCEL_WORKSHEET_PAGEBREAKS" CMPNAME="GET_ALL_PAGEBREAKS" VERSION="1" LANGU="E" DESCRIPT="Get list of all pagebreaks" EXPOSURE="2" STATE="1" EDITORDER="2 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL_WORKSHEET_PAGEBREAKS" CMPNAME="GET_ALL_PAGEBREAKS" SCONAME="RT_PAGEBREAKS" VERSION="1" LANGU="E" DESCRIPT="All pagebreaks" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="TT_PAGEBREAK_AT"/>
<source>METHOD get_all_pagebreaks.
rt_pagebreaks = me-&gt;mt_pagebreaks.
ENDMETHOD.</source>
</method>
</CLAS>

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,817 @@
<?xml version="1.0" encoding="utf-8"?>
<CLAS CLSNAME="ZCL_EXCEL_WRITER_HUGE_FILE" VERSION="1" LANGU="D" DESCRIPT="Create huge XLSX file" CATEGORY="00" EXPOSURE="2" STATE="1" RELEASE="0" CLSFINAL="X" CLSCCINCL="X" FIXPT="X" UNICODE="X" CLSBCCAT="00" DURATION_TYPE="0 " RISK_LEVEL="0 " ZSAPLINK_PLUGIN_MAJOR_VERSION="0 " ZSAPLINK_PLUGIN_MINOR_VERSION="1 " ZSAPLINK_PLUGIN_BUILD_VERSION="0 " ZSAPLINK_PLUGIN_INFO1="ZSAPLINK_CLASS is part of the main ZSAPLINK project --&gt; This plugin found there instead of ZSAPLINK_PLUGINS projects" ZSAPLINK_PLUGIN_INFO2="SAPLINK homepage: https://www.assembla.com/spaces/saplink/wiki" ZSAPLINK_PLUGIN_INFO3="Download from https://www.assembla.com/code/saplink/subversion/nodes" ZSAPLINK_PLUGIN_INFO4="and navigate to: trunk -&gt; core -&gt; ZSAPLINK -&gt; CLAS -&gt; ZSAPLINK_CLASS.slnk" REFCLSNAME="ZCL_EXCEL_WRITER_2007">
<types CLSNAME="ZCL_EXCEL_WRITER_HUGE_FILE" CMPNAME="TY_CELL" VERSION="1" LANGU="D" DESCRIPT="Cell data for callback from transformation" EXPOSURE="2" STATE="1" EDITORDER="1 " TYPTYPE="4" SRCROW1="10 " SRCCOLUMN1="4 " SRCROW2="16 " SRCCOLUMN2="19 " TYPESRC_LENG="0 " TYPESRC='BEGIN OF ty_cell,
name TYPE c LENGTH 10, &quot;AAA1234567&quot;
style TYPE i,
type TYPE c LENGTH 9,
formula TYPE string,
value TYPE string,
END OF ty_cell
'/>
<localImplementation>*&quot;* use this source file for the definition and implementation of
*&quot;* local helper classes, interface definitions and type
*&quot;* declarations</localImplementation>
<localTypes>*&quot;* use this source file for any type of declarations (class
*&quot;* definitions, interfaces or type declarations) you need for
*&quot;* components in the private section</localTypes>
<localMacros>*&quot;* use this source file for any macro definitions you need
*&quot;* in the implementation part of the class</localMacros>
<attribute CLSNAME="ZCL_EXCEL_WRITER_HUGE_FILE" CMPNAME="CELLS" VERSION="1" LANGU="D" DESCRIPT="Cell data for callback from transformation" EXPOSURE="2" STATE="1" EDITORDER="1 " ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="4" SRCROW1="19 " SRCCOLUMN1="4 " SRCROW2="19 " SRCCOLUMN2="39 " TYPESRC_LENG="37 " TYPESRC="cells TYPE STANDARD TABLE OF ty_cell
"/>
<attribute CLSNAME="ZCL_EXCEL_WRITER_HUGE_FILE" CMPNAME="WORKSHEET" VERSION="1" LANGU="D" DESCRIPT="Reference needed for GET_CELL" EXPOSURE="0" STATE="1" EDITORDER="1 " ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="3" TYPE="ZCL_EXCEL_WORKSHEET" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<inheritance CLSNAME="ZCL_EXCEL_WRITER_HUGE_FILE" REFCLSNAME="ZCL_EXCEL_WRITER_2007" VERSION="1" STATE="1">
<redefinition CLSNAME="ZCL_EXCEL_WRITER_HUGE_FILE" REFCLSNAME="ZCL_EXCEL_WRITER_2007" VERSION="1" MTDNAME="CREATE_XL_SHAREDSTRINGS" EXPOSURE="1"/>
<redefinition CLSNAME="ZCL_EXCEL_WRITER_HUGE_FILE" REFCLSNAME="ZCL_EXCEL_WRITER_2007" VERSION="1" MTDNAME="CREATE_XL_SHEET" EXPOSURE="1"/>
</inheritance>
<method CLSNAME="ZCL_EXCEL_WRITER_2007" CMPNAME="CREATE_XL_SHAREDSTRINGS" VERSION="0" EXPOSURE="0" STATE="0" EDITORDER="0 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
<source>METHOD create_xl_sharedstrings.
*
* Redefinition using simple transformation instead of CL_IXML
*
** Constant node name
TYPES:
BEGIN OF ts_root,
count TYPE string,
unique_count TYPE string,
END OF ts_root.
DATA:
lv_last_allowed_char TYPE char1,
lv_invalid TYPE string.
DATA:
lo_iterator TYPE REF TO cl_object_collection_iterator,
lo_worksheet TYPE REF TO zcl_excel_worksheet.
DATA:
ls_root TYPE ts_root,
lt_cell_data TYPE zexcel_t_cell_data_unsorted,
ls_shared_string TYPE zexcel_s_shared_string,
lv_sytabix TYPE sytabix.
FIELD-SYMBOLS:
&lt;sheet_content&gt; TYPE zexcel_s_cell_data.
**********************************************************************
* STEP 0: Build Regex for invalid characters
CASE cl_abap_char_utilities=&gt;charsize.
WHEN 1.lv_last_allowed_char = cl_abap_conv_in_ce=&gt;uccpi( 255 ). &quot; FF in non-Unicode
WHEN 2.lv_last_allowed_char = cl_abap_conv_in_ce=&gt;uccpi( 65533 ).&quot; FFFD in Unicode
ENDCASE.
CONCATENATE &apos;[^\n\t\r -&apos; lv_last_allowed_char &apos;]&apos; INTO lv_invalid.
**********************************************************************
* STEP 1: Collect strings from each worksheet
lo_iterator = excel-&gt;get_worksheets_iterator( ).
WHILE lo_iterator-&gt;if_object_collection_iterator~has_next( ) EQ abap_true.
lo_worksheet ?= lo_iterator-&gt;if_object_collection_iterator~get_next( ).
APPEND LINES OF lo_worksheet-&gt;sheet_content TO lt_cell_data.
ENDWHILE.
DELETE lt_cell_data WHERE cell_formula IS NOT INITIAL &quot; delete formula content
OR data_type NE &apos;s&apos;. &quot; MvC: Only shared strings
ls_root-count = lines( lt_cell_data ).
CONDENSE ls_root-count.
SORT lt_cell_data BY cell_value.
DELETE ADJACENT DUPLICATES FROM lt_cell_data COMPARING cell_value.
ls_root-unique_count = lines( lt_cell_data ).
CONDENSE ls_root-unique_count.
LOOP AT lt_cell_data ASSIGNING &lt;sheet_content&gt;.
lv_sytabix = sy-tabix - 1.
MOVE lv_sytabix TO ls_shared_string-string_no.
MOVE &lt;sheet_content&gt;-cell_value TO ls_shared_string-string_value.
REPLACE ALL OCCURRENCES OF REGEX lv_invalid
IN ls_shared_string-string_value WITH ` `.
APPEND ls_shared_string TO shared_strings.
ENDLOOP.
**********************************************************************
* STEP 2: Create XML
CALL TRANSFORMATION zexcel_tr_shared_strings
SOURCE root = ls_root
shared_strings = shared_strings
OPTIONS xml_header = &apos;full&apos;
RESULT XML ep_content.
ENDMETHOD.</source>
</method>
<method CLSNAME="ZCL_EXCEL_WRITER_2007" CMPNAME="CREATE_XL_SHEET" VERSION="0" EXPOSURE="0" STATE="0" EDITORDER="0 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
<source>METHOD create_xl_sheet.
*
* Build Sheet#.xml with Simple Transformation ZEXCEL_TR_SHEET
*
* This is an adaption of ZCL_EXCEL_WRITER_2007.
* Not all features are supported, notably the autofilter settings,
* conditional formatting and sheet protection.
*
* Bug reports to marcus.voncube AT deutschebahn.com
*
TYPES:
lty_bool TYPE c LENGTH 5.
CONSTANTS:
lc_false TYPE lty_bool VALUE &apos;false&apos;, &quot;#EC NEEDED
lc_true TYPE lty_bool VALUE &apos;true&apos;,
lc_zero TYPE c LENGTH 1 VALUE &apos;0&apos;,
lc_one TYPE c LENGTH 1 VALUE &apos;1&apos;,
lc_default_col_width TYPE float VALUE &apos;9.10&apos;.
TYPES:
BEGIN OF lty_column,
min TYPE i,
max TYPE i,
width TYPE float,
hidden TYPE lty_bool,
customwidth TYPE lty_bool,
bestfit TYPE lty_bool,
collapsed TYPE lty_bool,
outlinelevel TYPE i,
style TYPE i,
END OF lty_column,
BEGIN OF lty_row,
row TYPE i,
index TYPE i,
spans TYPE c LENGTH 11, &quot;12345:12345&quot;
hidden TYPE lty_bool,
customheight TYPE lty_bool,
height TYPE float,
collapsed TYPE lty_bool,
outlinelevel TYPE i,
customformat TYPE lty_bool,
style TYPE i,
END OF lty_row,
BEGIN OF lty_mergecell,
ref TYPE c LENGTH 21, &quot;AAA1234567:BBB1234567&quot;
END OF lty_mergecell,
BEGIN OF lty_hyperlink,
ref TYPE string,
location TYPE string,
r_id TYPE string,
END OF lty_hyperlink,
BEGIN OF lty_table,
r_id TYPE string,
END OF lty_table,
BEGIN OF lty_table_area,
left TYPE i,
right TYPE i,
top TYPE i,
bottom TYPE i,
END OF lty_table_area,
BEGIN OF ty_missing_columns,
first_column TYPE zexcel_cell_column,
last_column TYPE zexcel_cell_column,
END OF ty_missing_columns.
*
* Root node for transformation
*
DATA:
BEGIN OF l_worksheet,
dimension TYPE string,
tabcolor TYPE string,
summarybelow TYPE c,
summaryright TYPE c,
fittopage TYPE c,
showzeros TYPE c,
tabselected TYPE c,
zoomscale TYPE i,
zoomscalenormal TYPE i,
zoomscalepageview TYPE i,
zoomscalesheetview TYPE i,
workbookviewid TYPE c,
showgridlines TYPE c,
showrowcolheaders TYPE c,
activepane TYPE string,
state TYPE string,
ysplit TYPE i,
xsplit TYPE i,
topleftcell TYPE c LENGTH 10,
activecell TYPE c LENGTH 10,
customheight TYPE lty_bool,
defaultrowheight TYPE float,
defaultcolwidth TYPE float,
outlinelevelrow TYPE i,
outlinelevelcol TYPE i,
cols TYPE STANDARD TABLE OF lty_column,
rows TYPE STANDARD TABLE OF lty_row,
mergecells_count TYPE i,
mergecells TYPE STANDARD TABLE OF lty_mergecell,
hyperlinks_count TYPE i,
hyperlinks TYPE STANDARD TABLE OF lty_hyperlink,
BEGIN OF printoptions,
gridlines TYPE lty_bool,
horizontalcentered TYPE lty_bool,
verticalcentered TYPE lty_bool,
END OF printoptions,
BEGIN OF pagemargins,
left TYPE zexcel_dec_8_2,
right TYPE zexcel_dec_8_2,
top TYPE zexcel_dec_8_2,
bottom TYPE zexcel_dec_8_2,
header TYPE zexcel_dec_8_2,
footer TYPE zexcel_dec_8_2,
END OF pagemargins,
BEGIN OF pagesetup,
blackandwhite TYPE c,
cellcomments TYPE string,
copies TYPE i,
draft TYPE c,
errors TYPE string,
firstpagenumber TYPE i,
fittopage TYPE c,
fittoheight TYPE i,
fittowidth TYPE i,
horizontaldpi TYPE i,
orientation TYPE string,
pageorder TYPE string,
paperheight TYPE string,
papersize TYPE i,
paperwidth TYPE string,
scale TYPE i,
usefirstpagenumber TYPE c,
useprinterdefaults TYPE c,
verticaldpi TYPE i,
END OF pagesetup,
BEGIN OF headerfooter,
differentoddeven TYPE c,
oddheader TYPE string,
oddfooter TYPE string,
evenheader TYPE string,
evenfooter TYPE string,
END OF headerfooter,
drawings TYPE string,
tables_count TYPE i,
tables TYPE STANDARD TABLE OF lty_table,
END OF l_worksheet.
*
* Local data
*
DATA:
lo_iterator TYPE REF TO cl_object_collection_iterator,
lo_table TYPE REF TO zcl_excel_table,
row_dimension TYPE REF TO zcl_excel_worksheet_rowdimensi,
default_col_dimension TYPE REF TO zcl_excel_worksheet_columndime,
default_row_dimension TYPE REF TO zcl_excel_worksheet_rowdimensi,
lv_value TYPE string,
lv_index TYPE i,
lv_spans TYPE string,
lt_range_merge TYPE string_table,
lv_column TYPE zexcel_cell_column,
lv_style_guid TYPE zexcel_cell_style,
ls_last_row TYPE zexcel_s_cell_data,
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,
column_dimensions TYPE zexcel_t_worksheet_columndime,
row_dimensions TYPE zexcel_t_worksheet_rowdimensio,
lv_relation_id TYPE i VALUE 0,
outline_level_row TYPE i VALUE 0,
outline_level_col TYPE i VALUE 0,
col_count TYPE int4,
lt_table_areas TYPE SORTED TABLE OF lty_table_area
WITH NON-UNIQUE KEY left right top bottom,
ls_table_area LIKE LINE OF lt_table_areas,
lts_sorted_columns TYPE SORTED TABLE OF zexcel_cell_column
WITH UNIQUE KEY table_line,
t_missing_columns TYPE STANDARD TABLE OF ty_missing_columns
WITH NON-UNIQUE DEFAULT KEY,
missing_column LIKE LINE OF t_missing_columns,
lo_link TYPE REF TO zcl_excel_hyperlink,
lo_drawings TYPE REF TO zcl_excel_drawings.
FIELD-SYMBOLS:
&lt;sheet_content&gt; TYPE zexcel_s_cell_data,
&lt;range_merge&gt; LIKE LINE OF lt_range_merge,
&lt;column_dimension&gt; TYPE zexcel_s_worksheet_columndime,
&lt;row_dimension&gt; TYPE zexcel_s_worksheet_rowdimensio,
&lt;col&gt; TYPE lty_column,
&lt;row&gt; TYPE lty_row,
&lt;hyperlink&gt; TYPE lty_hyperlink,
&lt;mergecell&gt; TYPE lty_mergecell,
&lt;table&gt; TYPE lty_table.
**********************************************************************
* STEP 1: Fill root node
*
l_worksheet-tabcolor = io_worksheet-&gt;tabcolor-rgb.
l_worksheet-summarybelow = io_worksheet-&gt;zif_excel_sheet_properties~summarybelow.
l_worksheet-summaryright = io_worksheet-&gt;zif_excel_sheet_properties~summaryright.
IF io_worksheet-&gt;sheet_setup-&gt;fit_to_page IS NOT INITIAL.
l_worksheet-fittopage = lc_one.
ENDIF.
l_worksheet-dimension = io_worksheet-&gt;get_dimension_range( ).
IF io_worksheet-&gt;zif_excel_sheet_properties~show_zeros EQ abap_true.
l_worksheet-showzeros = lc_one.
ELSE.
l_worksheet-showzeros = lc_zero.
ENDIF.
IF iv_active = abap_true
OR io_worksheet-&gt;zif_excel_sheet_properties~selected EQ abap_true.
l_worksheet-tabselected = lc_one.
ELSE.
l_worksheet-tabselected = lc_zero.
ENDIF.
IF io_worksheet-&gt;zif_excel_sheet_properties~zoomscale GT 400.
io_worksheet-&gt;zif_excel_sheet_properties~zoomscale = 400.
ELSEIF io_worksheet-&gt;zif_excel_sheet_properties~zoomscale LT 10.
io_worksheet-&gt;zif_excel_sheet_properties~zoomscale = 10.
ENDIF.
l_worksheet-zoomscale = io_worksheet-&gt;zif_excel_sheet_properties~zoomscale.
IF io_worksheet-&gt;zif_excel_sheet_properties~zoomscale_normal NE 0.
IF io_worksheet-&gt;zif_excel_sheet_properties~zoomscale_normal GT 400.
io_worksheet-&gt;zif_excel_sheet_properties~zoomscale_normal = 400.
ELSEIF io_worksheet-&gt;zif_excel_sheet_properties~zoomscale_normal LT 10.
io_worksheet-&gt;zif_excel_sheet_properties~zoomscale_normal = 10.
ENDIF.
l_worksheet-zoomscalenormal = io_worksheet-&gt;zif_excel_sheet_properties~zoomscale_normal.
ENDIF.
IF io_worksheet-&gt;zif_excel_sheet_properties~zoomscale_pagelayoutview NE 0.
IF io_worksheet-&gt;zif_excel_sheet_properties~zoomscale_pagelayoutview GT 400.
io_worksheet-&gt;zif_excel_sheet_properties~zoomscale_pagelayoutview = 400.
ELSEIF io_worksheet-&gt;zif_excel_sheet_properties~zoomscale_pagelayoutview LT 10.
io_worksheet-&gt;zif_excel_sheet_properties~zoomscale_pagelayoutview = 10.
ENDIF.
l_worksheet-zoomscalepageview = io_worksheet-&gt;zif_excel_sheet_properties~zoomscale_pagelayoutview.
ENDIF.
IF io_worksheet-&gt;zif_excel_sheet_properties~zoomscale_sheetlayoutview NE 0.
IF io_worksheet-&gt;zif_excel_sheet_properties~zoomscale_sheetlayoutview GT 400.
io_worksheet-&gt;zif_excel_sheet_properties~zoomscale_sheetlayoutview = 400.
ELSEIF io_worksheet-&gt;zif_excel_sheet_properties~zoomscale_sheetlayoutview LT 10.
io_worksheet-&gt;zif_excel_sheet_properties~zoomscale_sheetlayoutview = 10.
ENDIF.
l_worksheet-zoomscalesheetview = io_worksheet-&gt;zif_excel_sheet_properties~zoomscale_sheetlayoutview.
ENDIF.
l_worksheet-workbookviewid = lc_zero.
IF io_worksheet-&gt;show_gridlines = abap_true.
l_worksheet-showgridlines = lc_one.
ELSE.
l_worksheet-showgridlines = lc_zero.
ENDIF.
IF io_worksheet-&gt;show_rowcolheaders = abap_true.
l_worksheet-showrowcolheaders = lc_one.
ELSE.
l_worksheet-showrowcolheaders = lc_zero.
ENDIF.
*
* Freeze
*
io_worksheet-&gt;get_freeze_cell(
IMPORTING ep_row = lv_freeze_cell_row
ep_column = lv_freeze_cell_column ).
IF lv_freeze_cell_row IS NOT INITIAL AND lv_freeze_cell_column IS NOT INITIAL.
IF lv_freeze_cell_row &gt; 1.
l_worksheet-ysplit = lv_freeze_cell_row - 1.
ENDIF.
IF lv_freeze_cell_column &gt; 1.
lv_value = lv_freeze_cell_column - 1.
l_worksheet-xsplit = lv_freeze_cell_row - 1.
ENDIF.
lv_freeze_cell_column_alpha = zcl_excel_common=&gt;convert_column2alpha( ip_column = lv_freeze_cell_column ).
lv_value = zcl_excel_common=&gt;number_to_excel_string( ip_value = lv_freeze_cell_row ).
CONCATENATE lv_freeze_cell_column_alpha lv_value INTO lv_value.
l_worksheet-topleftcell = lv_value.
l_worksheet-activepane = &apos;bottomRight&apos;.
l_worksheet-state = &apos;frozen&apos;.
ENDIF.
l_worksheet-activecell = io_worksheet-&gt;get_active_cell( ).
*
* Row and column info
*
column_dimensions[] = io_worksheet-&gt;get_column_dimensions( ).
row_dimensions[] = io_worksheet-&gt;get_row_dimensions( ).
IF NOT column_dimensions IS INITIAL.
io_worksheet-&gt;calculate_column_widths( ).
column_dimensions[] = io_worksheet-&gt;get_column_dimensions( ).
ENDIF.
default_row_dimension = io_worksheet-&gt;get_default_row_dimension( ).
IF default_row_dimension IS BOUND.
IF default_row_dimension-&gt;get_row_height( ) &gt;= 0.
l_worksheet-customheight = lc_true.
lv_value = default_row_dimension-&gt;get_row_height( ).
ELSE.
lv_value = &apos;12.75&apos;.
ENDIF.
ELSE.
lv_value = &apos;12.75&apos;.
ENDIF.
CONDENSE lv_value.
l_worksheet-defaultrowheight = lv_value.
default_col_dimension = io_worksheet-&gt;get_default_column_dimension( ).
IF default_col_dimension IS BOUND.
IF default_col_dimension-&gt;get_width( ) &gt;= 0.
l_worksheet-defaultcolwidth = default_col_dimension-&gt;get_width( ).
ENDIF.
ENDIF.
LOOP AT row_dimensions ASSIGNING &lt;row_dimension&gt;.
IF &lt;row_dimension&gt;-row_dimension-&gt;get_outline_level( ) &gt; outline_level_row.
l_worksheet-outlinelevelrow = &lt;row_dimension&gt;-row_dimension-&gt;get_outline_level( ).
ENDIF.
ENDLOOP.
LOOP AT column_dimensions ASSIGNING &lt;column_dimension&gt;.
IF &lt;column_dimension&gt;-column_dimension-&gt;get_outline_level( ) &gt; outline_level_col.
l_worksheet-outlinelevelcol = &lt;column_dimension&gt;-column_dimension-&gt;get_outline_level( ).
ENDIF.
ENDLOOP.
*
* Set column information (width, style, ...)
*
LOOP AT column_dimensions ASSIGNING &lt;column_dimension&gt;.
APPEND INITIAL LINE TO l_worksheet-cols ASSIGNING &lt;col&gt;.
&lt;col&gt;-min = &lt;col&gt;-max = &lt;column_dimension&gt;-column_dimension-&gt;get_column_index( ).
&lt;col&gt;-width = &lt;column_dimension&gt;-column_dimension-&gt;get_width( ).
IF &lt;col&gt;-width &lt; 0.
&lt;col&gt;-width = lc_default_col_width.
ENDIF.
IF &lt;column_dimension&gt;-column_dimension-&gt;get_visible( ) = abap_false.
&lt;col&gt;-hidden = lc_true.
ENDIF.
IF &lt;column_dimension&gt;-column_dimension-&gt;get_auto_size( ) = abap_true.
&lt;col&gt;-bestfit = lc_true.
ENDIF.
IF default_col_dimension IS BOUND.
IF &lt;column_dimension&gt;-column_dimension-&gt;get_width( )
&lt;&gt; default_col_dimension-&gt;get_width( ).
&lt;col&gt;-customwidth = lc_true.
ENDIF.
ELSE.
&lt;col&gt;-customwidth = lc_true.
ENDIF.
IF &lt;column_dimension&gt;-column_dimension-&gt;get_collapsed( ) = abap_true.
&lt;col&gt;-collapsed = lc_true.
ENDIF.
&lt;col&gt;-outlinelevel = &lt;column_dimension&gt;-column_dimension-&gt;get_outline_level( ).
lv_style_guid = &lt;column_dimension&gt;-column_dimension-&gt;get_column_style_guid( ).
&lt;col&gt;-style = me-&gt;excel-&gt;get_style_index_in_styles( lv_style_guid ) - 1.
ENDLOOP.
*
* Missing columns
*
* First collect columns that were already handled before.
* The rest has to be inserted now.
*
LOOP AT column_dimensions ASSIGNING &lt;column_dimension&gt;.
lv_column = zcl_excel_common=&gt;convert_column2int( &lt;column_dimension&gt;-column ).
INSERT lv_column INTO TABLE lts_sorted_columns.
ENDLOOP.
*
* Now find all columns that were missing so far
*
missing_column-first_column = 1.
LOOP AT lts_sorted_columns INTO lv_column.
IF lv_column &gt; missing_column-first_column.
missing_column-last_column = lv_column - 1.
APPEND missing_column TO t_missing_columns.
ENDIF.
missing_column-first_column = lv_column + 1.
ENDLOOP.
missing_column-last_column = zcl_excel_common=&gt;c_excel_sheet_max_col.
APPEND missing_column TO t_missing_columns.
*
* Now apply stylesetting and other defaults
*
LOOP AT t_missing_columns INTO missing_column.
APPEND INITIAL LINE TO l_worksheet-cols ASSIGNING &lt;col&gt;.
&lt;col&gt;-min = missing_column-first_column.
&lt;col&gt;-max = missing_column-last_column.
IF default_col_dimension IS BOUND AND default_col_dimension-&gt;get_width( ) &gt;= 0.
&lt;col&gt;-width = default_col_dimension-&gt;get_width( ).
ELSE.
&lt;col&gt;-width = lc_default_col_width.
ENDIF.
lv_style_guid = io_worksheet-&gt;zif_excel_sheet_properties~get_style( ).
&lt;col&gt;-style = me-&gt;excel-&gt;get_style_index_in_styles( lv_style_guid ) - 1.
ENDLOOP.
*
* Build table to hold all table-areas attached to this sheet
*
lo_iterator = io_worksheet-&gt;get_tables_iterator( ).
WHILE lo_iterator-&gt;if_object_collection_iterator~has_next( ) EQ abap_true.
lo_table ?= lo_iterator-&gt;if_object_collection_iterator~get_next( ).
ls_table_area-left = zcl_excel_common=&gt;convert_column2int( lo_table-&gt;settings-top_left_column ).
ls_table_area-right = lo_table-&gt;get_right_column_integer( ).
ls_table_area-top = lo_table-&gt;settings-top_left_row.
ls_table_area-bottom = lo_table-&gt;get_bottom_row_integer( ).
INSERT ls_table_area INTO TABLE lt_table_areas.
ENDWHILE.
*
* Build sheet data node
*
* Spans is constant amongst all rows
*
col_count = io_worksheet-&gt;get_highest_column( ).
lv_spans = col_count.
CONCATENATE &apos;1:&apos; lv_spans INTO lv_spans.
CONDENSE lv_spans.
LOOP AT io_worksheet-&gt;sheet_content ASSIGNING &lt;sheet_content&gt;.
IF ls_last_row-cell_row NE &lt;sheet_content&gt;-cell_row.
*
* Fill row information.
* Cell data is filled in by callback GET_CELLS called from transformation
*
lv_index = sy-tabix.
APPEND INITIAL LINE TO l_worksheet-rows ASSIGNING &lt;row&gt;.
&lt;row&gt;-row = &lt;sheet_content&gt;-cell_row.
&lt;row&gt;-index = lv_index.
&lt;row&gt;-spans = lv_spans.
*
* Row dimension attributes
*
row_dimension = io_worksheet-&gt;get_row_dimension( &lt;sheet_content&gt;-cell_row ).
IF row_dimension-&gt;get_visible( ) = abap_false.
&lt;row&gt;-hidden = lc_true.
ENDIF.
IF row_dimension-&gt;get_row_height( ) &gt;= 0.
&lt;row&gt;-customheight = lc_one.
&lt;row&gt;-height = row_dimension-&gt;get_row_height( ).
ENDIF.
*
* Collapsed
*
IF row_dimension-&gt;get_collapsed( ) = abap_true.
&lt;row&gt;-collapsed = lc_true.
ENDIF.
*
* Outline level
*
&lt;row&gt;-outlinelevel = row_dimension-&gt;get_outline_level( ).
*
* Style
*
&lt;row&gt;-style = row_dimension-&gt;get_xf_index( ).
IF &lt;row&gt;-style &lt;&gt; 0.
&lt;row&gt;-customformat = lc_one.
ENDIF.
ENDIF.
ls_last_row = &lt;sheet_content&gt;.
ENDLOOP.
*
* Merged cells
*
lt_range_merge = io_worksheet-&gt;get_merge( ).
IF lt_range_merge IS NOT INITIAL.
l_worksheet-mergecells_count = lines( lt_range_merge ).
LOOP AT lt_range_merge ASSIGNING &lt;range_merge&gt;.
APPEND INITIAL LINE TO l_worksheet-mergecells ASSIGNING &lt;mergecell&gt;.
&lt;mergecell&gt;-ref = &lt;range_merge&gt;.
io_worksheet-&gt;delete_merge( ).
ENDLOOP.
ENDIF.
*
* Hyperlinks
*
l_worksheet-hyperlinks_count = io_worksheet-&gt;get_hyperlinks_size( ).
IF l_worksheet-hyperlinks_count &gt; 0.
lo_iterator = io_worksheet-&gt;get_hyperlinks_iterator( ).
WHILE lo_iterator-&gt;if_object_collection_iterator~has_next( ) EQ abap_true.
lo_link ?= lo_iterator-&gt;if_object_collection_iterator~get_next( ).
APPEND INITIAL LINE TO l_worksheet-hyperlinks ASSIGNING &lt;hyperlink&gt;.
&lt;hyperlink&gt;-ref = lo_link-&gt;get_ref( ).
IF lo_link-&gt;is_internal( ) = abap_true.
&lt;hyperlink&gt;-location = lo_link-&gt;get_url( ).
ELSE.
ADD 1 TO lv_relation_id.
lv_value = lv_relation_id.
CONDENSE lv_value.
CONCATENATE &apos;rId&apos; lv_value INTO lv_value.
&lt;hyperlink&gt;-r_id = lv_value.
ENDIF.
ENDWHILE.
ENDIF.
*
* Print options
*
IF io_worksheet-&gt;print_gridlines = abap_true.
l_worksheet-printoptions-gridlines = lc_true.
ENDIF.
IF io_worksheet-&gt;sheet_setup-&gt;horizontal_centered = abap_true.
l_worksheet-printoptions-horizontalcentered = lc_true.
ENDIF.
IF io_worksheet-&gt;sheet_setup-&gt;vertical_centered = abap_true.
l_worksheet-printoptions-verticalcentered = lc_true.
ENDIF.
*
* Page margins
*
l_worksheet-pagemargins-left = io_worksheet-&gt;sheet_setup-&gt;margin_left.
l_worksheet-pagemargins-right = io_worksheet-&gt;sheet_setup-&gt;margin_right.
l_worksheet-pagemargins-top = io_worksheet-&gt;sheet_setup-&gt;margin_top.
l_worksheet-pagemargins-bottom = io_worksheet-&gt;sheet_setup-&gt;margin_bottom.
l_worksheet-pagemargins-header = io_worksheet-&gt;sheet_setup-&gt;margin_header.
l_worksheet-pagemargins-footer = io_worksheet-&gt;sheet_setup-&gt;margin_footer.
*
* Page setup
*
l_worksheet-pagesetup-cellcomments = io_worksheet-&gt;sheet_setup-&gt;cell_comments.
l_worksheet-pagesetup-copies = io_worksheet-&gt;sheet_setup-&gt;copies.
l_worksheet-pagesetup-firstpagenumber = io_worksheet-&gt;sheet_setup-&gt;first_page_number.
l_worksheet-pagesetup-fittopage = io_worksheet-&gt;sheet_setup-&gt;fit_to_page.
l_worksheet-pagesetup-fittoheight = io_worksheet-&gt;sheet_setup-&gt;fit_to_height.
l_worksheet-pagesetup-fittowidth = io_worksheet-&gt;sheet_setup-&gt;fit_to_width.
l_worksheet-pagesetup-horizontaldpi = io_worksheet-&gt;sheet_setup-&gt;horizontal_dpi.
l_worksheet-pagesetup-orientation = io_worksheet-&gt;sheet_setup-&gt;orientation.
l_worksheet-pagesetup-pageorder = io_worksheet-&gt;sheet_setup-&gt;page_order.
l_worksheet-pagesetup-paperheight = io_worksheet-&gt;sheet_setup-&gt;paper_height.
l_worksheet-pagesetup-papersize = io_worksheet-&gt;sheet_setup-&gt;paper_size.
l_worksheet-pagesetup-paperwidth = io_worksheet-&gt;sheet_setup-&gt;paper_width.
l_worksheet-pagesetup-scale = io_worksheet-&gt;sheet_setup-&gt;scale.
l_worksheet-pagesetup-usefirstpagenumber = io_worksheet-&gt;sheet_setup-&gt;use_first_page_num.
l_worksheet-pagesetup-verticaldpi = io_worksheet-&gt;sheet_setup-&gt;vertical_dpi.
IF io_worksheet-&gt;sheet_setup-&gt;black_and_white IS NOT INITIAL.
l_worksheet-pagesetup-blackandwhite = lc_one.
ENDIF.
IF io_worksheet-&gt;sheet_setup-&gt;draft IS NOT INITIAL.
l_worksheet-pagesetup-draft = lc_one.
ENDIF.
IF io_worksheet-&gt;sheet_setup-&gt;errors IS NOT INITIAL.
l_worksheet-pagesetup-errors = io_worksheet-&gt;sheet_setup-&gt;errors.
ENDIF.
IF io_worksheet-&gt;sheet_setup-&gt;use_printer_defaults IS NOT INITIAL.
l_worksheet-pagesetup-useprinterdefaults = lc_one.
ENDIF.
*
* Header and footer
*
IF io_worksheet-&gt;sheet_setup-&gt;diff_oddeven_headerfooter = abap_true.
l_worksheet-headerfooter-differentoddeven = lc_one.
ENDIF.
io_worksheet-&gt;sheet_setup-&gt;get_header_footer_string(
IMPORTING
ep_odd_header = l_worksheet-headerfooter-oddheader
ep_odd_footer = l_worksheet-headerfooter-oddfooter
ep_even_header = l_worksheet-headerfooter-evenheader
ep_even_footer = l_worksheet-headerfooter-evenfooter ).
*
* Drawings
*
lo_drawings = io_worksheet-&gt;get_drawings( ).
IF lo_drawings-&gt;is_empty( ) = abap_false.
ADD 1 TO lv_relation_id.
lv_value = lv_relation_id.
CONDENSE lv_value.
CONCATENATE &apos;rId&apos; lv_value INTO l_worksheet-drawings.
ENDIF.
*
* Tables
*
l_worksheet-tables_count = io_worksheet-&gt;get_tables_size( ).
IF l_worksheet-tables_count &gt; 0.
lo_iterator = io_worksheet-&gt;get_tables_iterator( ).
WHILE lo_iterator-&gt;if_object_collection_iterator~has_next( ) EQ abap_true.
lo_table ?= lo_iterator-&gt;if_object_collection_iterator~get_next( ).
APPEND INITIAL LINE TO l_worksheet-tables ASSIGNING &lt;table&gt;.
ADD 1 TO lv_relation_id.
lv_value = lv_relation_id.
CONDENSE lv_value.
CONCATENATE &apos;rId&apos; lv_value INTO &lt;table&gt;-r_id.
ENDWHILE.
ENDIF.
**********************************************************************
* STEP 2: Create XML
me-&gt;worksheet = io_worksheet. &quot;Neccessary for callback GET_CELL
CALL TRANSFORMATION zexcel_tr_sheet
SOURCE worksheet = l_worksheet
cells = me-&gt;cells
writer = me
OPTIONS xml_header = &apos;full&apos;
RESULT XML ep_content.
ENDMETHOD. &quot;CREATE_XL_SHEET</source>
</method>
<method CLSNAME="ZCL_EXCEL_WRITER_HUGE_FILE" CMPNAME="GET_CELLS" VERSION="1" LANGU="D" DESCRIPT="Read the cell data for a single row, called from transform." EXPOSURE="2" STATE="1" EDITORDER="1 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL_WRITER_HUGE_FILE" CMPNAME="GET_CELLS" SCONAME="I_ROW" VERSION="1" LANGU="D" DESCRIPT="Current row" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="I"/>
<parameter CLSNAME="ZCL_EXCEL_WRITER_HUGE_FILE" CMPNAME="GET_CELLS" SCONAME="I_INDEX" VERSION="1" LANGU="D" DESCRIPT="index into sheet content" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="I"/>
<source>METHOD get_cells.
*
* Callback method from transformation ZEXCEL_TR_SHEET
*
* The method fills the data cells for each row.
* This saves memory if there are many rows.
*
DATA:
lv_cell_style TYPE zexcel_cell_style.
FIELD-SYMBOLS:
&lt;cell&gt; TYPE ty_cell,
&lt;content&gt; TYPE zexcel_s_cell_data,
&lt;style&gt; TYPE zexcel_s_styles_mapping.
CLEAR cells.
LOOP AT worksheet-&gt;sheet_content FROM i_index ASSIGNING &lt;content&gt;.
IF &lt;content&gt;-cell_row &lt;&gt; i_row.
*
* End of row
*
EXIT.
ENDIF.
*
* Determine style index
*
IF lv_cell_style &lt;&gt; &lt;content&gt;-cell_style.
lv_cell_style = &lt;content&gt;-cell_style.
UNASSIGN &lt;style&gt;.
IF lv_cell_style IS NOT INITIAL.
READ TABLE styles_mapping ASSIGNING &lt;style&gt; WITH KEY guid = lv_cell_style.
ENDIF.
ENDIF.
*
* Add a new cell
*
APPEND INITIAL LINE TO cells ASSIGNING &lt;cell&gt;.
&lt;cell&gt;-name = &lt;content&gt;-cell_coords.
&lt;cell&gt;-formula = &lt;content&gt;-cell_formula.
&lt;cell&gt;-type = &lt;content&gt;-data_type.
IF &lt;cell&gt;-type = &apos;s&apos;.
&lt;cell&gt;-value = me-&gt;get_shared_string_index( &lt;content&gt;-cell_value ).
ELSE.
&lt;cell&gt;-value = &lt;content&gt;-cell_value.
ENDIF.
IF &lt;style&gt; IS ASSIGNED.
&lt;cell&gt;-style = &lt;style&gt;-style.
ELSE.
&lt;cell&gt;-style = -1.
ENDIF.
ENDLOOP.
ENDMETHOD.</source>
</method>
</CLAS>

View File

@ -11,6 +11,7 @@
<attribute CLSNAME="ZIF_EXCEL_SHEET_PROPERTIES" CMPNAME="C_VERYHIDDEN" VERSION="1" LANGU="E" DESCRIPT="Hidden property" EXPOSURE="2" STATE="1" EDITORDER="2 " ATTDECLTYP="2" ATTVALUE="&apos;2&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_HIDDEN" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZIF_EXCEL_SHEET_PROPERTIES" CMPNAME="C_VISIBLE" VERSION="1" LANGU="E" DESCRIPT="Hidden property" EXPOSURE="2" STATE="1" EDITORDER="5 " ATTDECLTYP="2" ATTVALUE="&apos;&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_HIDDEN" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZIF_EXCEL_SHEET_PROPERTIES" CMPNAME="HIDDEN" VERSION="1" LANGU="E" DESCRIPT="Hidden property" EXPOSURE="2" STATE="1" EDITORDER="6 " ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_HIDDEN" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZIF_EXCEL_SHEET_PROPERTIES" CMPNAME="HIDE_COLUMNS_FROM" VERSION="1" LANGU="E" DESCRIPT="Cell Column" EXPOSURE="2" STATE="1" EDITORDER="21 " ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_CELL_COLUMN_ALPHA" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZIF_EXCEL_SHEET_PROPERTIES" CMPNAME="SELECTED" VERSION="1" LANGU="E" DESCRIPT="Selected property" EXPOSURE="2" STATE="1" EDITORDER="19 " ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_SELECTED" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZIF_EXCEL_SHEET_PROPERTIES" CMPNAME="SHOW_ZEROS" VERSION="1" LANGU="E" DESCRIPT="Show zeros" EXPOSURE="2" STATE="1" EDITORDER="7 " ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_SHOWZEROS" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZIF_EXCEL_SHEET_PROPERTIES" CMPNAME="STYLE" VERSION="1" LANGU="E" DESCRIPT="Style identifier" EXPOSURE="2" STATE="1" EDITORDER="8 " ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_CELL_STYLE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>

View File

@ -221,14 +221,14 @@ CLASS lcl_perform IMPLEMENTATION.
ENDIF.
ENDIF.
IF add_selopt IS INITIAL.
SUBMIT (wa_report-progname) AND RETURN
SUBMIT (wa_report-progname) AND RETURN &quot;#EC CI_SUBMIT
WITH p_backfn = filename
WITH rb_back = &apos;X&apos;
WITH rb_down = &apos; &apos;
WITH rb_send = &apos; &apos;
WITH rb_show = &apos; &apos;.
ELSE.
SUBMIT (wa_report-progname) VIA SELECTION-SCREEN AND RETURN
SUBMIT (wa_report-progname) VIA SELECTION-SCREEN AND RETURN &quot;#EC CI_SUBMIT
WITH p_backfn = filename
WITH rb_back = &apos;X&apos;
WITH rb_down = &apos; &apos;

View File

@ -43,7 +43,7 @@
*&amp; 450 pixel height. They must also be saved in the Export Directory.
*&amp; In my tests I&apos;ve discovered a limit of 20 MB in the
*&amp; cl_gui_frontend_services=&gt;gui_download method. So keep your images
*&amp; smaller or chnage to a server export using OPEN DATASET.
*&amp; smaller or change to a server export using OPEN DATASET.
*&amp;---------------------------------------------------------------------*
REPORT zdemo_calendar.
@ -368,11 +368,15 @@ START-OF-SELECTION.
ENDIF.
&quot; Add Calendar
CALL FUNCTION &apos;SLS_MISC_GET_LAST_DAY_OF_MONTH&apos;
EXPORTING
day_in = date_from
IMPORTING
last_day_of_month = date_to.
* CALL FUNCTION &apos;SLS_MISC_GET_LAST_DAY_OF_MONTH&apos;
* EXPORTING
* day_in = date_from
* IMPORTING
* last_day_of_month = date_to.
date_to = date_from.
date_to+6(2) = &apos;01&apos;. &quot; First of month
add 31 to date_to. &quot; Somewhere in following month
date_to = date_to - date_to+6(2). &quot; Last of month
IF p_portr = abap_true.
zcl_helper=&gt;add_calendar(
EXPORTING

View File

@ -40,52 +40,52 @@ START-OF-SELECTION.
cl_gui_frontend_services=&gt;get_file_separator( CHANGING file_separator = sy-lisel ).
CONCATENATE p_path sy-lisel &apos;01_HelloWorld.xlsx&apos; INTO lv_upfile.
SUBMIT zdemo_excel1 WITH rb_down = abap_true WITH rb_show = abap_false WITH p_path = p_path AND RETURN. &quot; abap2xlsx Demo: Hello world
SUBMIT zdemo_excel2 WITH rb_down = abap_true WITH rb_show = abap_false WITH p_path = p_path AND RETURN. &quot; abap2xlsx Demo: Styles
SUBMIT zdemo_excel3 WITH rb_down = abap_true WITH rb_show = abap_false WITH p_path = p_path AND RETURN. &quot; abap2xlsx Demo: iTab binding
SUBMIT zdemo_excel4 WITH rb_down = abap_true WITH rb_show = abap_false WITH p_path = p_path AND RETURN. &quot; abap2xlsx Demo: Multi sheets, page setup and sheet properties
SUBMIT zdemo_excel5 WITH rb_down = abap_true WITH rb_show = abap_false WITH p_path = p_path AND RETURN. &quot; abap2xlsx Demo: Conditional formatting
SUBMIT zdemo_excel6 WITH rb_down = abap_true WITH rb_show = abap_false WITH p_path = p_path AND RETURN. &quot; abap2xlsx Demo: Formulas
SUBMIT zdemo_excel7 WITH rb_down = abap_true WITH rb_show = abap_false WITH p_path = p_path AND RETURN. &quot; abap2xlsx Demo: Conditional formatting
SUBMIT zdemo_excel8 WITH rb_down = abap_true WITH rb_show = abap_false WITH p_path = p_path AND RETURN. &quot; abap2xlsx Demo: Ranges
SUBMIT zdemo_excel9 WITH rb_down = abap_true WITH rb_show = abap_false WITH p_path = p_path AND RETURN. &quot; abap2xlsx Demo: Data validation
SUBMIT zdemo_excel10 WITH rb_down = abap_true WITH rb_show = abap_false WITH p_path = p_path AND RETURN. &quot; abap2xlsx Demo: Bind table with field catalog
SUBMIT zdemo_excel1 WITH rb_down = abap_true WITH rb_show = abap_false WITH p_path = p_path AND RETURN. &quot;#EC CI_SUBMIT abap2xlsx Demo: Hello world
SUBMIT zdemo_excel2 WITH rb_down = abap_true WITH rb_show = abap_false WITH p_path = p_path AND RETURN. &quot;#EC CI_SUBMIT abap2xlsx Demo: Styles
SUBMIT zdemo_excel3 WITH rb_down = abap_true WITH rb_show = abap_false WITH p_path = p_path AND RETURN. &quot;#EC CI_SUBMIT abap2xlsx Demo: iTab binding
SUBMIT zdemo_excel4 WITH rb_down = abap_true WITH rb_show = abap_false WITH p_path = p_path AND RETURN. &quot;#EC CI_SUBMIT abap2xlsx Demo: Multi sheets, page setup and sheet properties
SUBMIT zdemo_excel5 WITH rb_down = abap_true WITH rb_show = abap_false WITH p_path = p_path AND RETURN. &quot;#EC CI_SUBMIT abap2xlsx Demo: Conditional formatting
SUBMIT zdemo_excel6 WITH rb_down = abap_true WITH rb_show = abap_false WITH p_path = p_path AND RETURN. &quot;#EC CI_SUBMIT abap2xlsx Demo: Formulas
SUBMIT zdemo_excel7 WITH rb_down = abap_true WITH rb_show = abap_false WITH p_path = p_path AND RETURN. &quot;#EC CI_SUBMIT abap2xlsx Demo: Conditional formatting
SUBMIT zdemo_excel8 WITH rb_down = abap_true WITH rb_show = abap_false WITH p_path = p_path AND RETURN. &quot;#EC CI_SUBMIT abap2xlsx Demo: Ranges
SUBMIT zdemo_excel9 WITH rb_down = abap_true WITH rb_show = abap_false WITH p_path = p_path AND RETURN. &quot;#EC CI_SUBMIT abap2xlsx Demo: Data validation
SUBMIT zdemo_excel10 WITH rb_down = abap_true WITH rb_show = abap_false WITH p_path = p_path AND RETURN. &quot;#EC CI_SUBMIT abap2xlsx Demo: Bind table with field catalog
&quot; zdemo_excel11 is not added because it has a selection screen and
&quot; you also need to have business partners maintained in transaction BP
SUBMIT zdemo_excel12 WITH rb_down = abap_true WITH rb_show = abap_false WITH p_path = p_path AND RETURN. &quot; abap2xlsx Demo: Column size
SUBMIT zdemo_excel13 WITH rb_down = abap_true WITH rb_show = abap_false WITH p_path = p_path AND RETURN. &quot; abap2xlsx Demo: Merge cell
SUBMIT zdemo_excel14 WITH rb_down = abap_true WITH rb_show = abap_false WITH p_path = p_path AND RETURN. &quot; abap2xlsx Demo: Alignment
SUBMIT zdemo_excel12 WITH rb_down = abap_true WITH rb_show = abap_false WITH p_path = p_path AND RETURN. &quot;#EC CI_SUBMIT abap2xlsx Demo: Column size
SUBMIT zdemo_excel13 WITH rb_down = abap_true WITH rb_show = abap_false WITH p_path = p_path AND RETURN. &quot;#EC CI_SUBMIT abap2xlsx Demo: Merge cell
SUBMIT zdemo_excel14 WITH rb_down = abap_true WITH rb_show = abap_false WITH p_path = p_path AND RETURN. &quot;#EC CI_SUBMIT abap2xlsx Demo: Alignment
&quot; zdemo_excel15 added at the end
SUBMIT zdemo_excel16 WITH rb_down = abap_true WITH rb_show = abap_false WITH p_path = p_path AND RETURN. &quot; abap2xlsx Demo: Drawing
SUBMIT zdemo_excel17 WITH rb_down = abap_true WITH rb_show = abap_false WITH p_path = p_path AND RETURN. &quot; abap2xlsx Demo: Lock sheet
SUBMIT zdemo_excel18 WITH rb_down = abap_true WITH rb_show = abap_false WITH p_path = p_path AND RETURN. &quot; abap2xlsx Demo: Lock workbook
SUBMIT zdemo_excel19 WITH rb_down = abap_true WITH rb_show = abap_false WITH p_path = p_path AND RETURN. &quot; abap2xlsx Demo: Set active sheet
SUBMIT zdemo_excel16 WITH rb_down = abap_true WITH rb_show = abap_false WITH p_path = p_path AND RETURN. &quot;#EC CI_SUBMIT abap2xlsx Demo: Drawing
SUBMIT zdemo_excel17 WITH rb_down = abap_true WITH rb_show = abap_false WITH p_path = p_path AND RETURN. &quot;#EC CI_SUBMIT abap2xlsx Demo: Lock sheet
SUBMIT zdemo_excel18 WITH rb_down = abap_true WITH rb_show = abap_false WITH p_path = p_path AND RETURN. &quot;#EC CI_SUBMIT abap2xlsx Demo: Lock workbook
SUBMIT zdemo_excel19 WITH rb_down = abap_true WITH rb_show = abap_false WITH p_path = p_path AND RETURN. &quot;#EC CI_SUBMIT abap2xlsx Demo: Set active sheet
&quot; zdemo_excel20 is not added because it uses ALV and cannot be processed (OLE2)
SUBMIT zdemo_excel21 WITH rb_down = abap_true WITH rb_show = abap_false WITH p_path = p_path AND RETURN. &quot; abap2xlsx Demo: Color Picker
SUBMIT zdemo_excel22 WITH rb_down = abap_true WITH rb_show = abap_false WITH p_path = p_path AND RETURN. &quot; abap2xlsx Demo: Bind table with field catalog &amp; sheet style
SUBMIT zdemo_excel23 WITH rb_down = abap_true WITH rb_show = abap_false WITH p_path = p_path AND RETURN. &quot; abap2xlsx Demo: Multiple sheets with and w/o grid lines, print options
SUBMIT zdemo_excel24 WITH rb_down = abap_true WITH rb_show = abap_false WITH p_path = p_path AND RETURN. &quot; abap2xlsx Demo: Multiple sheets with different default date formats
SUBMIT zdemo_excel25 AND RETURN. &quot; abap2xlsx Demo: Create and xlsx on Application Server (could be executed in batch mode)
SUBMIT zdemo_excel21 WITH rb_down = abap_true WITH rb_show = abap_false WITH p_path = p_path AND RETURN. &quot;#EC CI_SUBMIT abap2xlsx Demo: Color Picker
SUBMIT zdemo_excel22 WITH rb_down = abap_true WITH rb_show = abap_false WITH p_path = p_path AND RETURN. &quot;#EC CI_SUBMIT abap2xlsx Demo: Bind table with field catalog &amp; sheet style
SUBMIT zdemo_excel23 WITH rb_down = abap_true WITH rb_show = abap_false WITH p_path = p_path AND RETURN. &quot;#EC CI_SUBMIT abap2xlsx Demo: Multiple sheets with and w/o grid lines, print options
SUBMIT zdemo_excel24 WITH rb_down = abap_true WITH rb_show = abap_false WITH p_path = p_path AND RETURN. &quot;#EC CI_SUBMIT abap2xlsx Demo: Multiple sheets with different default date formats
SUBMIT zdemo_excel25 AND RETURN. &quot;#EC CI_SUBMIT abap2xlsx Demo: Create and xlsx on Application Server (could be executed in batch mode)
&quot; zdemo_excel26 is not added because it uses ALV and cannot be processed (Native)
SUBMIT zdemo_excel27 WITH rb_down = abap_true WITH rb_show = abap_false WITH p_path = p_path AND RETURN. &quot; abap2xlsx Demo: Conditional Formatting
SUBMIT zdemo_excel28 WITH rb_down = abap_true WITH rb_show = abap_false WITH p_path = p_path AND RETURN. &quot; abap2xlsx Demo: CSV writer
&quot; SUBMIT zdemo_excel29 WITH rb_down = abap_true WITH rb_show = abap_false WITH p_path = p_path AND RETURN. &quot; abap2xlsx Demo: Macro enabled workbook
SUBMIT zdemo_excel30 WITH rb_down = abap_true WITH rb_show = abap_false WITH p_path = p_path AND RETURN. &quot; abap2xlsx Demo: ABAP Cell data types + leading blanks string
SUBMIT zdemo_excel31 WITH rb_down = abap_true WITH rb_show = abap_false WITH p_path = p_path AND RETURN. &quot; abap2xlsx Demo: Autosize Column with different Font sizes
SUBMIT zdemo_excel27 WITH rb_down = abap_true WITH rb_show = abap_false WITH p_path = p_path AND RETURN. &quot;#EC CI_SUBMIT abap2xlsx Demo: Conditional Formatting
SUBMIT zdemo_excel28 WITH rb_down = abap_true WITH rb_show = abap_false WITH p_path = p_path AND RETURN. &quot;#EC CI_SUBMIT abap2xlsx Demo: CSV writer
&quot; SUBMIT zdemo_excel29 WITH rb_down = abap_true WITH rb_show = abap_false WITH p_path = p_path AND RETURN. &quot;#EC CI_SUBMIT abap2xlsx Demo: Macro enabled workbook
SUBMIT zdemo_excel30 WITH rb_down = abap_true WITH rb_show = abap_false WITH p_path = p_path AND RETURN. &quot;#EC CI_SUBMIT abap2xlsx Demo: ABAP Cell data types + leading blanks string
SUBMIT zdemo_excel31 WITH rb_down = abap_true WITH rb_show = abap_false WITH p_path = p_path AND RETURN. &quot;#EC CI_SUBMIT abap2xlsx Demo: Autosize Column with different Font sizes
&quot; zdemo_excel32 is not added because it uses ALV and cannot be processed (Native)
SUBMIT zdemo_excel33 WITH rb_down = abap_true WITH rb_show = abap_false WITH p_path = p_path AND RETURN. &quot; abap2xlsx Demo: Table autofilter
SUBMIT zdemo_excel34 WITH rb_down = abap_true WITH rb_show = abap_false WITH p_path = p_path AND RETURN. &quot; abap2xlsx Demo: Static Styles Chess
SUBMIT zdemo_excel35 WITH rb_down = abap_true WITH rb_show = abap_false WITH p_path = p_path AND RETURN. &quot; abap2xlsx Demo: Static Styles
SUBMIT zdemo_excel36 WITH rb_down = abap_true WITH rb_show = abap_false WITH p_path = p_path AND RETURN. &quot; abap2xlsx Demo: Style applied to sheet, column and single cell
SUBMIT zdemo_excel33 WITH rb_down = abap_true WITH rb_show = abap_false WITH p_path = p_path AND RETURN. &quot;#EC CI_SUBMIT abap2xlsx Demo: Table autofilter
SUBMIT zdemo_excel34 WITH rb_down = abap_true WITH rb_show = abap_false WITH p_path = p_path AND RETURN. &quot;#EC CI_SUBMIT abap2xlsx Demo: Static Styles Chess
SUBMIT zdemo_excel35 WITH rb_down = abap_true WITH rb_show = abap_false WITH p_path = p_path AND RETURN. &quot;#EC CI_SUBMIT abap2xlsx Demo: Static Styles
SUBMIT zdemo_excel36 WITH rb_down = abap_true WITH rb_show = abap_false WITH p_path = p_path AND RETURN. &quot;#EC CI_SUBMIT abap2xlsx Demo: Style applied to sheet, column and single cell
SUBMIT zdemo_excel37 WITH p_upfile = lv_upfile
WITH rb_down = abap_true WITH rb_show = abap_false WITH p_path = p_path AND RETURN. &quot; abap2xlsx Demo: Simplest call of the reader and writer - passthrough data
SUBMIT zdemo_excel38 WITH rb_down = abap_true WITH rb_show = abap_false WITH p_path = p_path AND RETURN. &quot; abap2xlsx Demo: Show off integration of drawings ( here using the SAP-Icons )
SUBMIT zdemo_excel39 WITH rb_down = abap_true WITH rb_show = abap_false WITH p_path = p_path AND RETURN. &quot; abap2xlsx Demo: Charts
SUBMIT zdemo_excel40 WITH rb_down = abap_true WITH rb_show = abap_false WITH p_path = p_path AND RETURN. &quot; abap2xlsx Demo: Demo Printsettings
SUBMIT zdemo_excel41 WITH rb_down = abap_true WITH rb_show = abap_false WITH p_path = p_path AND RETURN. &quot; abap2xlsx Demo: Inheritance
WITH rb_down = abap_true WITH rb_show = abap_false WITH p_path = p_path AND RETURN. &quot;#EC CI_SUBMIT abap2xlsx Demo: Simplest call of the reader and writer - passthrough data
SUBMIT zdemo_excel38 WITH rb_down = abap_true WITH rb_show = abap_false WITH p_path = p_path AND RETURN. &quot;#EC CI_SUBMIT abap2xlsx Demo: Show off integration of drawings ( here using the SAP-Icons )
SUBMIT zdemo_excel39 WITH rb_down = abap_true WITH rb_show = abap_false WITH p_path = p_path AND RETURN. &quot;#EC CI_SUBMIT abap2xlsx Demo: Charts
SUBMIT zdemo_excel40 WITH rb_down = abap_true WITH rb_show = abap_false WITH p_path = p_path AND RETURN. &quot;#EC CI_SUBMIT abap2xlsx Demo: Demo Printsettings
SUBMIT zdemo_excel41 WITH rb_down = abap_true WITH rb_show = abap_false WITH p_path = p_path AND RETURN. &quot;#EC CI_SUBMIT abap2xlsx Demo: Inheritance
&quot;
&quot; Reader/Writer Demo must always run at the end
&quot; to make sure all documents where created
&quot;
SUBMIT zdemo_excel15 WITH rb_down = abap_true WITH rb_show = abap_false WITH p_path = p_path AND RETURN. &quot; Read Excel and write it back</source>
SUBMIT zdemo_excel15 WITH rb_down = abap_true WITH rb_show = abap_false WITH p_path = p_path AND RETURN. &quot;#EC CI_SUBMIT Read Excel and write it back</source>
</PROG>

View File

@ -73,6 +73,9 @@ START-OF-SELECTION.
WHEN &apos;CONNID&apos;.
&lt;fs_field_catalog&gt;-position = 4.
&lt;fs_field_catalog&gt;-dynpfld = abap_true.
&lt;fs_field_catalog&gt;-abap_type = cl_abap_typedescr=&gt;typekind_int.
&quot;This avoid the excel warning that the number is formatted as a text: abap2xlsx is not able to recognize numc as a number so it formats the number as a text with
&quot;the related warning. You can force the type and the framework will correctly format the number as a number
WHEN &apos;FLDATE&apos;.
&lt;fs_field_catalog&gt;-position = 2.
&lt;fs_field_catalog&gt;-dynpfld = abap_true.

View File

@ -16,14 +16,14 @@
REPORT zdemo_excel12.
DATA: lo_excel TYPE REF TO zcl_excel,
lo_worksheet TYPE REF TO zcl_excel_worksheet,
column_dimension TYPE REF TO zcl_excel_worksheet_columndime,
row_dimension TYPE REF TO zcl_excel_worksheet_rowdimensi.
DATA: lo_excel TYPE REF TO zcl_excel,
lo_worksheet TYPE REF TO zcl_excel_worksheet,
column_dimension TYPE REF TO zcl_excel_worksheet_columndime,
row_dimension TYPE REF TO zcl_excel_worksheet_rowdimensi.
DATA: lv_file TYPE xstring,
lv_bytecount TYPE i,
lt_file_tab TYPE solix_tab.
DATA: lv_file TYPE xstring,
lv_bytecount TYPE i,
lt_file_tab TYPE solix_tab.
DATA: lv_full_path TYPE string,
lv_workdir TYPE string,
@ -115,6 +115,10 @@ START-OF-SELECTION.
* Hint: the order you create the outlines can be arbitrary
* You can start with inner outlines or with outer outlines
*--------------------------------------------------------------------*
* Hide columns right of column M
*--------------------------------------------------------------------*
lo_worksheet-&gt;zif_excel_sheet_properties~hide_columns_from = &apos;M&apos;.
*** Create output
lcl_output=&gt;output( lo_excel ).</source>

View File

@ -26,6 +26,8 @@
</textPool>
<source>REPORT zdemo_excel37.
TYPE-POOLS: vrm.
DATA: excel TYPE REF TO zcl_excel,
reader TYPE REF TO zif_excel_reader,
go_error TYPE REF TO cx_root,

View File

@ -19,21 +19,22 @@
REPORT zdemo_excel39.
DATA: lo_excel TYPE REF TO zcl_excel,
lo_worksheet TYPE REF TO zcl_excel_worksheet,
lo_drawing TYPE REF TO zcl_excel_drawing.
DATA: lo_excel TYPE REF TO zcl_excel,
lo_worksheet TYPE REF TO zcl_excel_worksheet,
lo_drawing TYPE REF TO zcl_excel_drawing.
DATA lv_value TYPE i.
DATA: ls_io TYPE skwf_io.
DATA: ls_upper TYPE zexcel_drawing_location,
ls_lower TYPE zexcel_drawing_location.
DATA: ls_upper TYPE zexcel_drawing_location,
ls_lower TYPE zexcel_drawing_location.
DATA lo_bar1 TYPE REF TO zcl_excel_graph_bars.
DATA lo_bar2 TYPE REF TO zcl_excel_graph_bars.
DATA lo_pie TYPE REF TO zcl_excel_graph_pie.
DATA lo_line TYPE REF TO zcl_excel_graph_line.
DATA: lo_bar1 TYPE REF TO zcl_excel_graph_bars,
lo_bar1_stacked TYPE REF TO zcl_excel_graph_bars,
lo_bar2 TYPE REF TO zcl_excel_graph_bars,
lo_pie TYPE REF TO zcl_excel_graph_pie,
lo_line TYPE REF TO zcl_excel_graph_line.
CONSTANTS: gc_save_file_name TYPE string VALUE &apos;39_Charts.xlsx&apos;.
INCLUDE zdemo_excel_outputopt_incl.
@ -81,8 +82,8 @@ START-OF-SELECTION.
CALL METHOD lo_bar1-&gt;create_ax
EXPORTING
* ip_axid =
ip_type = zcl_excel_graph_bars=&gt;c_catax
* ip_axid =
ip_type = zcl_excel_graph_bars=&gt;c_catax
* ip_orientation =
* ip_delete =
* ip_axpos =
@ -93,7 +94,7 @@ START-OF-SELECTION.
* ip_ticklblpos =
* ip_crossax =
* ip_crosses =
* ip_auto =
* ip_auto =
* ip_lblalgn =
* ip_lbloffset =
* ip_nomultilvllbl =
@ -102,8 +103,8 @@ START-OF-SELECTION.
CALL METHOD lo_bar1-&gt;create_ax
EXPORTING
* ip_axid =
ip_type = zcl_excel_graph_bars=&gt;c_valax
* ip_axid =
ip_type = zcl_excel_graph_bars=&gt;c_valax
* ip_orientation =
* ip_delete =
* ip_axpos =
@ -114,7 +115,7 @@ START-OF-SELECTION.
* ip_ticklblpos =
* ip_crossax =
* ip_crosses =
* ip_auto =
* ip_auto =
* ip_lblalgn =
* ip_lbloffset =
* ip_nomultilvllbl =
@ -127,6 +128,43 @@ START-OF-SELECTION.
&quot; Set label to none
lo_bar1-&gt;set_print_lbl( zcl_excel_graph_bars=&gt;c_show_false ).
* Same barchart - but this time stacked
CREATE OBJECT lo_bar1_stacked.
CALL METHOD lo_bar1_stacked-&gt;create_serie
EXPORTING
ip_order = 0
ip_invertifnegative = zcl_excel_graph_bars=&gt;c_invertifnegative_no
ip_lbl = &apos;Values!$D$1:$D$3&apos;
ip_ref = &apos;Values!$C$1:$C$3&apos;
ip_sername = &apos;My serie 1&apos;.
CALL METHOD lo_bar1_stacked-&gt;create_serie
EXPORTING
ip_order = 1
ip_invertifnegative = zcl_excel_graph_bars=&gt;c_invertifnegative_no
ip_lbl = &apos;Values!$B$1:$B$3&apos;
ip_ref = &apos;Values!$A$1:$A$3&apos;
ip_sername = &apos;My serie 2&apos;.
CALL METHOD lo_bar1_stacked-&gt;create_ax
EXPORTING
ip_type = zcl_excel_graph_bars=&gt;c_catax .
CALL METHOD lo_bar1_stacked-&gt;create_ax
EXPORTING
ip_type = zcl_excel_graph_bars=&gt;c_valax.
&quot; Set style
lo_bar1_stacked-&gt;set_style( zcl_excel_graph=&gt;c_style_default ).
&quot; Set label to none
lo_bar1_stacked-&gt;set_print_lbl( zcl_excel_graph_bars=&gt;c_show_false ).
&quot; Make it stacked
lo_bar1_stacked-&gt;ns_groupingval = zcl_excel_graph_bars=&gt;c_groupingval_stacked.
&quot; Create a bar chart, series and axes
CREATE OBJECT lo_bar2.
@ -140,8 +178,8 @@ START-OF-SELECTION.
CALL METHOD lo_bar2-&gt;create_ax
EXPORTING
* ip_axid =
ip_type = zcl_excel_graph_bars=&gt;c_catax
* ip_axid =
ip_type = zcl_excel_graph_bars=&gt;c_catax
* ip_orientation =
* ip_delete =
* ip_axpos =
@ -152,7 +190,7 @@ START-OF-SELECTION.
* ip_ticklblpos =
* ip_crossax =
* ip_crosses =
* ip_auto =
* ip_auto =
* ip_lblalgn =
* ip_lbloffset =
* ip_nomultilvllbl =
@ -161,8 +199,8 @@ START-OF-SELECTION.
CALL METHOD lo_bar2-&gt;create_ax
EXPORTING
* ip_axid =
ip_type = zcl_excel_graph_bars=&gt;c_valax
* ip_axid =
ip_type = zcl_excel_graph_bars=&gt;c_valax
* ip_orientation =
* ip_delete =
* ip_axpos =
@ -173,7 +211,7 @@ START-OF-SELECTION.
* ip_ticklblpos =
* ip_crossax =
* ip_crosses =
* ip_auto =
* ip_auto =
* ip_lblalgn =
* ip_lbloffset =
* ip_nomultilvllbl =
@ -220,8 +258,8 @@ START-OF-SELECTION.
CALL METHOD lo_line-&gt;create_ax
EXPORTING
* ip_axid =
ip_type = zcl_excel_graph_line=&gt;c_catax
* ip_axid =
ip_type = zcl_excel_graph_line=&gt;c_catax
* ip_orientation =
* ip_delete =
* ip_axpos =
@ -230,7 +268,7 @@ START-OF-SELECTION.
* ip_ticklblpos =
* ip_crossax =
* ip_crosses =
* ip_auto =
* ip_auto =
* ip_lblalgn =
* ip_lbloffset =
* ip_nomultilvllbl =
@ -239,8 +277,8 @@ START-OF-SELECTION.
CALL METHOD lo_line-&gt;create_ax
EXPORTING
* ip_axid =
ip_type = zcl_excel_graph_line=&gt;c_valax
* ip_axid =
ip_type = zcl_excel_graph_line=&gt;c_valax
* ip_orientation =
* ip_delete =
* ip_axpos =
@ -251,7 +289,7 @@ START-OF-SELECTION.
* ip_ticklblpos =
* ip_crossax =
* ip_crosses =
* ip_auto =
* ip_auto =
* ip_lblalgn =
* ip_lbloffset =
* ip_nomultilvllbl =
@ -320,6 +358,28 @@ START-OF-SELECTION.
lo_worksheet-&gt;add_drawing( lo_drawing ).
lo_drawing = lo_worksheet-&gt;excel-&gt;add_new_drawing(
ip_type = zcl_excel_drawing=&gt;type_chart
ip_title = &apos;Stacked CHART BARS WITH 2 SER.&apos; ).
lo_drawing-&gt;graph = lo_bar1_stacked.
lo_drawing-&gt;graph_type = zcl_excel_drawing=&gt;c_graph_bars.
&quot;Set chart position (anchor 2 cells)
ls_upper-row = 0.
ls_upper-col = 1.
ls_lower-row = 22.
ls_lower-col = 10.
lo_drawing-&gt;set_position2(
EXPORTING
ip_from = ls_upper
ip_to = ls_lower ).
lo_drawing-&gt;set_media(
EXPORTING
ip_media_type = zcl_excel_drawing=&gt;c_media_type_xml ).
lo_worksheet-&gt;add_drawing( lo_drawing ).
&quot; BarChart2 sheet
lo_worksheet = lo_excel-&gt;add_new_worksheet( ).

View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<TABL TABNAME="ZEXCEL_CONDITIONAL_ABOVE_AVG" DDLANGUAGE="E" TABCLASS="INTTAB" DATMIN="0000000000" DATMAX="0000000000" DATAVG="0000000000" DDTEXT="Top10 settings ( topxx_count determines top20,top50... )" AUTHCLASS="00" PROZPUFF="000" EXCLASS="3">
<dd09l AS4VERS="0000" SCHFELDANZ="000"/>
<dd03p TABNAME="ZEXCEL_CONDITIONAL_ABOVE_AVG" FIELDNAME="ABOVE_AVERAGE" DDLANGUAGE="E" POSITION="0001" ROLLNAME="FLAG" ADMINFIELD="0" INTTYPE="C" INTLEN="000002" DOMNAME="FLAG" ROUTPUTLEN="000000" HEADLEN="55" SCRLEN1="10" SCRLEN2="15" SCRLEN3="20" DTELMASTER="D" DATATYPE="CHAR" LENG="000001" OUTPUTLEN="000001" DECIMALS="000000" VALEXI="X" MASK=" CHARE" MASKLEN="0000" DDTEXT="General Flag" REPTEXT="Flag" SCRTEXT_S="Indicator" SCRTEXT_M="Indicator" SCRTEXT_L="Indicator" DOMNAME3L="FLAG" SHLPORIGIN="F" DEPTH="00" COMPTYPE="E" DEFFDNAME="FLAG" EXCLASS="0" DBPOSITION="0000" OUTPUTSTYLE="00" STRORLOCPOS="00"/>
<dd03p TABNAME="ZEXCEL_CONDITIONAL_ABOVE_AVG" FIELDNAME="EQUAL_AVERAGE" DDLANGUAGE="E" POSITION="0002" ROLLNAME="FLAG" ADMINFIELD="0" INTTYPE="C" INTLEN="000002" DOMNAME="FLAG" ROUTPUTLEN="000000" HEADLEN="55" SCRLEN1="10" SCRLEN2="15" SCRLEN3="20" DTELMASTER="D" DATATYPE="CHAR" LENG="000001" OUTPUTLEN="000001" DECIMALS="000000" VALEXI="X" MASK=" CHARE" MASKLEN="0000" DDTEXT="General Flag" REPTEXT="Flag" SCRTEXT_S="Indicator" SCRTEXT_M="Indicator" SCRTEXT_L="Indicator" DOMNAME3L="FLAG" SHLPORIGIN="F" DEPTH="00" COMPTYPE="E" DEFFDNAME="FLAG" EXCLASS="0" DBPOSITION="0000" OUTPUTSTYLE="00" STRORLOCPOS="00"/>
<dd03p TABNAME="ZEXCEL_CONDITIONAL_ABOVE_AVG" FIELDNAME="STANDARD_DEVIATION" DDLANGUAGE="E" POSITION="0003" ROLLNAME="NUM1" ADMINFIELD="0" INTTYPE="N" INTLEN="000002" DOMNAME="NUM1" ROUTPUTLEN="000000" HEADLEN="55" SCRLEN1="10" SCRLEN2="15" SCRLEN3="20" DTELMASTER="D" DATATYPE="NUMC" LENG="000001" OUTPUTLEN="000001" DECIMALS="000000" MASK=" NUMCE" MASKLEN="0000" DDTEXT="Numeric 1-character" REPTEXT="NUM" SCRTEXT_S="NUM" SCRTEXT_M="NUM" SCRTEXT_L="NUM" DOMNAME3L="NUM1" DEPTH="00" COMPTYPE="E" EXCLASS="0" DBPOSITION="0000" OUTPUTSTYLE="00" STRORLOCPOS="00"/>
<dd03p TABNAME="ZEXCEL_CONDITIONAL_ABOVE_AVG" FIELDNAME="CELL_STYLE" DDLANGUAGE="E" POSITION="0004" ROLLNAME="ZEXCEL_CELL_STYLE" ADMINFIELD="0" INTTYPE="X" INTLEN="000016" DOMNAME="UUID" ROUTPUTLEN="000000" HEADLEN="16" SCRLEN1="10" SCRLEN2="16" SCRLEN3="20" DTELMASTER="E" DATATYPE="RAW" LENG="000016" OUTPUTLEN="000032" DECIMALS="000000" MASK=" RAW E" MASKLEN="0000" DDTEXT="Style identifier" REPTEXT="Style identifier" SCRTEXT_S="Style no" SCRTEXT_M="Style identifier" SCRTEXT_L="Style identifier" DOMNAME3L="UUID" DEPTH="00" COMPTYPE="E" EXCLASS="0" DBPOSITION="0000" OUTPUTSTYLE="00" STRORLOCPOS="00"/>
</TABL>

View File

@ -2,6 +2,7 @@
<TABL TABNAME="ZEXCEL_CONDITIONAL_CELLIS" DDLANGUAGE="E" TABCLASS="INTTAB" DATMIN="0000000000" DATMAX="0000000000" DATAVG="0000000000" DDTEXT="Iconset settings" AUTHCLASS="00" PROZPUFF="000" EXCLASS="1">
<dd09l AS4VERS="0000" SCHFELDANZ="000"/>
<dd03p TABNAME="ZEXCEL_CONDITIONAL_CELLIS" FIELDNAME="FORMULA" DDLANGUAGE="E" POSITION="0001" ROLLNAME="ZEXCEL_STYLE_FORMULA" ADMINFIELD="0" INTTYPE="g" INTLEN="000008" DOMNAME="STRING" ROUTPUTLEN="000000" HEADLEN="13" SCRLEN1="10" SCRLEN2="15" SCRLEN3="20" DTELMASTER="E" DATATYPE="STRG" LENG="000000" OUTPUTLEN="000000" DECIMALS="000000" MASK=" STRGE" MASKLEN="0000" DDTEXT="Style formula" REPTEXT="Style formula" SCRTEXT_S="Formula" SCRTEXT_M="Style formula" SCRTEXT_L="Style formula" DOMNAME3L="STRING" DEPTH="00" COMPTYPE="E" EXCLASS="0" DBPOSITION="0000" OUTPUTSTYLE="00" STRORLOCPOS="00"/>
<dd03p TABNAME="ZEXCEL_CONDITIONAL_CELLIS" FIELDNAME="OPERATOR" DDLANGUAGE="E" POSITION="0002" ROLLNAME="ZEXCEL_CONDITION_OPERATOR" ADMINFIELD="0" INTTYPE="C" INTLEN="000040" DOMNAME="CHAR20" ROUTPUTLEN="000000" HEADLEN="20" SCRLEN1="10" SCRLEN2="18" SCRLEN3="20" DTELMASTER="E" DATATYPE="CHAR" LENG="000020" OUTPUTLEN="000020" DECIMALS="000000" MASK=" CHARE" MASKLEN="0000" DDTEXT="Condition operator" REPTEXT="Condition operator" SCRTEXT_S="Cond. oper" SCRTEXT_M="Condition operator" SCRTEXT_L="Condition operator" DOMNAME3L="CHAR20" DEPTH="00" COMPTYPE="E" EXCLASS="0" DBPOSITION="0000" OUTPUTSTYLE="00" STRORLOCPOS="00"/>
<dd03p TABNAME="ZEXCEL_CONDITIONAL_CELLIS" FIELDNAME="CELL_STYLE" DDLANGUAGE="E" POSITION="0003" ROLLNAME="ZEXCEL_CELL_STYLE" ADMINFIELD="0" INTTYPE="X" INTLEN="000016" DOMNAME="UUID" ROUTPUTLEN="000000" HEADLEN="16" SCRLEN1="10" SCRLEN2="16" SCRLEN3="20" DTELMASTER="E" DATATYPE="RAW" LENG="000016" OUTPUTLEN="000032" DECIMALS="000000" MASK=" RAW E" MASKLEN="0000" DDTEXT="Style identifier" REPTEXT="Style identifier" SCRTEXT_S="Style no" SCRTEXT_M="Style identifier" SCRTEXT_L="Style identifier" DOMNAME3L="UUID" DEPTH="00" COMPTYPE="E" EXCLASS="0" DBPOSITION="0000" OUTPUTSTYLE="00" STRORLOCPOS="00"/>
<dd03p TABNAME="ZEXCEL_CONDITIONAL_CELLIS" FIELDNAME="FORMULA2" DDLANGUAGE="E" POSITION="0002" ROLLNAME="ZEXCEL_STYLE_FORMULA" ADMINFIELD="0" INTTYPE="g" INTLEN="000008" DOMNAME="STRING" ROUTPUTLEN="000000" HEADLEN="13" SCRLEN1="10" SCRLEN2="15" SCRLEN3="20" DTELMASTER="E" DATATYPE="STRG" LENG="000000" OUTPUTLEN="000000" DECIMALS="000000" MASK=" STRGE" MASKLEN="0000" DDTEXT="Style formula" REPTEXT="Style formula" SCRTEXT_S="Formula" SCRTEXT_M="Style formula" SCRTEXT_L="Style formula" DOMNAME3L="STRING" DEPTH="00" COMPTYPE="E" EXCLASS="0" DBPOSITION="0000" OUTPUTSTYLE="00" STRORLOCPOS="00"/>
<dd03p TABNAME="ZEXCEL_CONDITIONAL_CELLIS" FIELDNAME="OPERATOR" DDLANGUAGE="E" POSITION="0003" ROLLNAME="ZEXCEL_CONDITION_OPERATOR" ADMINFIELD="0" INTTYPE="C" INTLEN="000040" DOMNAME="CHAR20" ROUTPUTLEN="000000" HEADLEN="20" SCRLEN1="10" SCRLEN2="18" SCRLEN3="20" DTELMASTER="E" DATATYPE="CHAR" LENG="000020" OUTPUTLEN="000020" DECIMALS="000000" MASK=" CHARE" MASKLEN="0000" DDTEXT="Condition operator" REPTEXT="Condition operator" SCRTEXT_S="Cond. oper" SCRTEXT_M="Condition operator" SCRTEXT_L="Condition operator" DOMNAME3L="CHAR20" DEPTH="00" COMPTYPE="E" EXCLASS="0" DBPOSITION="0000" OUTPUTSTYLE="00" STRORLOCPOS="00"/>
<dd03p TABNAME="ZEXCEL_CONDITIONAL_CELLIS" FIELDNAME="CELL_STYLE" DDLANGUAGE="E" POSITION="0004" ROLLNAME="ZEXCEL_CELL_STYLE" ADMINFIELD="0" INTTYPE="X" INTLEN="000016" DOMNAME="UUID" ROUTPUTLEN="000000" HEADLEN="16" SCRLEN1="10" SCRLEN2="16" SCRLEN3="20" DTELMASTER="E" DATATYPE="RAW" LENG="000016" OUTPUTLEN="000032" DECIMALS="000000" MASK=" RAW E" MASKLEN="0000" DDTEXT="Style identifier" REPTEXT="Style identifier" SCRTEXT_S="Style no" SCRTEXT_M="Style identifier" SCRTEXT_L="Style identifier" DOMNAME3L="UUID" DEPTH="00" COMPTYPE="E" EXCLASS="0" DBPOSITION="0000" OUTPUTSTYLE="00" STRORLOCPOS="00"/>
</TABL>

View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<TABL TABNAME="ZEXCEL_CONDITIONAL_TOP10" DDLANGUAGE="E" TABCLASS="INTTAB" DATMIN="0000000000" DATMAX="0000000000" DATAVG="0000000000" DDTEXT="Top10 settings ( topxx_count determines top20,top50... )" AUTHCLASS="00" PROZPUFF="000" EXCLASS="3">
<dd09l AS4VERS="0000" SCHFELDANZ="000"/>
<dd03p TABNAME="ZEXCEL_CONDITIONAL_TOP10" FIELDNAME="TOPXX_COUNT" DDLANGUAGE="E" POSITION="0001" ROLLNAME="INT4" ADMINFIELD="0" INTTYPE="X" INTLEN="000004" DOMNAME="INT4" ROUTPUTLEN="000000" HEADLEN="00" SCRLEN1="10" SCRLEN2="15" SCRLEN3="20" DTELMASTER="D" DATATYPE="INT4" LENG="000010" OUTPUTLEN="000010" DECIMALS="000000" SIGNFLAG="X" MASK=" INT4E" MASKLEN="0000" DDTEXT="Natural Number" SCRTEXT_S="Number" SCRTEXT_M="Number" SCRTEXT_L="Natural Number" DOMNAME3L="INT4" DEPTH="00" COMPTYPE="E" EXCLASS="0" DBPOSITION="0000" OUTPUTSTYLE="00" STRORLOCPOS="00"/>
<dd03p TABNAME="ZEXCEL_CONDITIONAL_TOP10" FIELDNAME="PERCENT" DDLANGUAGE="E" POSITION="0002" ROLLNAME="FLAG" ADMINFIELD="0" INTTYPE="C" INTLEN="000002" DOMNAME="FLAG" ROUTPUTLEN="000000" HEADLEN="55" SCRLEN1="10" SCRLEN2="15" SCRLEN3="20" DTELMASTER="D" DATATYPE="CHAR" LENG="000001" OUTPUTLEN="000001" DECIMALS="000000" VALEXI="X" MASK=" CHARE" MASKLEN="0000" DDTEXT="General Flag" REPTEXT="Flag" SCRTEXT_S="Indicator" SCRTEXT_M="Indicator" SCRTEXT_L="Indicator" DOMNAME3L="FLAG" SHLPORIGIN="F" DEPTH="00" COMPTYPE="E" DEFFDNAME="FLAG" EXCLASS="0" DBPOSITION="0000" OUTPUTSTYLE="00" STRORLOCPOS="00"/>
<dd03p TABNAME="ZEXCEL_CONDITIONAL_TOP10" FIELDNAME="BOTTOM" DDLANGUAGE="E" POSITION="0003" ROLLNAME="FLAG" ADMINFIELD="0" INTTYPE="C" INTLEN="000002" DOMNAME="FLAG" ROUTPUTLEN="000000" HEADLEN="55" SCRLEN1="10" SCRLEN2="15" SCRLEN3="20" DTELMASTER="D" DATATYPE="CHAR" LENG="000001" OUTPUTLEN="000001" DECIMALS="000000" VALEXI="X" MASK=" CHARE" MASKLEN="0000" DDTEXT="General Flag" REPTEXT="Flag" SCRTEXT_S="Indicator" SCRTEXT_M="Indicator" SCRTEXT_L="Indicator" DOMNAME3L="FLAG" SHLPORIGIN="F" DEPTH="00" COMPTYPE="E" DEFFDNAME="FLAG" EXCLASS="0" DBPOSITION="0000" OUTPUTSTYLE="00" STRORLOCPOS="00"/>
<dd03p TABNAME="ZEXCEL_CONDITIONAL_TOP10" FIELDNAME="CELL_STYLE" DDLANGUAGE="E" POSITION="0004" ROLLNAME="ZEXCEL_CELL_STYLE" ADMINFIELD="0" INTTYPE="X" INTLEN="000016" DOMNAME="UUID" ROUTPUTLEN="000000" HEADLEN="16" SCRLEN1="10" SCRLEN2="16" SCRLEN3="20" DTELMASTER="E" DATATYPE="RAW" LENG="000016" OUTPUTLEN="000032" DECIMALS="000000" MASK=" RAW E" MASKLEN="0000" DDTEXT="Style identifier" REPTEXT="Style identifier" SCRTEXT_S="Style no" SCRTEXT_M="Style identifier" SCRTEXT_L="Style identifier" DOMNAME3L="UUID" DEPTH="00" COMPTYPE="E" EXCLASS="0" DBPOSITION="0000" OUTPUTSTYLE="00" STRORLOCPOS="00"/>
</TABL>

View File

@ -14,4 +14,5 @@
<dd03p TABNAME="ZEXCEL_S_FIELDCATALOG" FIELDNAME="COND_STYLE" DDLANGUAGE="E" POSITION="0011" ROLLNAME="ZCL_EXCEL_STYLE_CONDITIONAL" ADMINFIELD="0" INTLEN="000000" ROUTPUTLEN="000000" HEADLEN="00" SCRLEN1="00" SCRLEN2="00" SCRLEN3="00" DATATYPE="REF" LENG="000000" OUTPUTLEN="000000" DECIMALS="000000" MASK=" REF RC" MASKLEN="0000" DDTEXT="Font Style" DEPTH="00" COMPTYPE="R" REFTYPE="C" EXCLASS="0" DBPOSITION="0000" OUTPUTSTYLE="00" STRORLOCPOS="00"/>
<dd03p TABNAME="ZEXCEL_S_FIELDCATALOG" FIELDNAME="TOTALS_FUNCTION" DDLANGUAGE="E" POSITION="0012" ROLLNAME="ZEXCEL_TABLE_TOTALS_FUNCTION" ADMINFIELD="0" INTTYPE="g" INTLEN="000008" ROUTPUTLEN="000000" HEADLEN="00" SCRLEN1="10" SCRLEN2="00" SCRLEN3="00" DTELMASTER="E" DATATYPE="STRG" LENG="000000" OUTPUTLEN="000000" DECIMALS="000000" MASK=" STRGE" MASKLEN="0000" DDTEXT="Totals function for table column (xml ST_TotalsRowFunction)" SCRTEXT_S="Function" DEPTH="00" COMPTYPE="E" EXCLASS="0" DBPOSITION="0000" OUTPUTSTYLE="00" STRORLOCPOS="00"/>
<dd03p TABNAME="ZEXCEL_S_FIELDCATALOG" FIELDNAME="FORMULA" DDLANGUAGE="E" POSITION="0013" ROLLNAME="FLAG" ADMINFIELD="0" INTTYPE="C" INTLEN="000002" DOMNAME="FLAG" ROUTPUTLEN="000000" HEADLEN="55" SCRLEN1="10" SCRLEN2="15" SCRLEN3="20" DTELMASTER="D" DATATYPE="CHAR" LENG="000001" OUTPUTLEN="000001" DECIMALS="000000" VALEXI="X" MASK=" CHARE" MASKLEN="0000" DDTEXT="General Flag" REPTEXT="Flag" SCRTEXT_S="Indicator" SCRTEXT_M="Indicator" SCRTEXT_L="Indicator" DOMNAME3L="FLAG" SHLPORIGIN="F" DEPTH="00" COMPTYPE="E" DEFFDNAME="FLAG" EXCLASS="0" DBPOSITION="0000" OUTPUTSTYLE="00" STRORLOCPOS="00"/>
<dd03p TABNAME="ZEXCEL_S_FIELDCATALOG" FIELDNAME="ABAP_TYPE" DDLANGUAGE="E" POSITION="0014" ADMINFIELD="0" INTTYPE="C" INTLEN="000002" ROUTPUTLEN="000000" HEADLEN="00" SCRLEN1="00" SCRLEN2="00" SCRLEN3="00" DATATYPE="CHAR" LENG="000001" OUTPUTLEN="000000" DECIMALS="000000" MASK=" CHAR" MASKLEN="0000" DEPTH="00" EXCLASS="0" DBPOSITION="0000" OUTPUTSTYLE="00" STRORLOCPOS="00"/>
</TABL>

View File

@ -0,0 +1,24 @@
<?xml version="1.0" encoding="utf-8"?>
<XSLT XSLTDESC="ZEXCEL_TR_SHARED_STRINGS" DEVCLASS="$TMP" LANGU="E" DESCRIPT="ZEXECL Simple transformation for SharedStrings.xml">
<source>&lt;?sap.transform simple?&gt;
&lt;tt:transform xmlns:tt=&quot;http://www.sap.com/transformation-templates&quot;&gt;
&lt;tt:root name=&quot;ROOT&quot;/&gt;
&lt;tt:root name=&quot;SHARED_STRINGS&quot;/&gt;
&lt;tt:template&gt;
&lt;sst xmlns=&quot;http://schemas.openxmlformats.org/spreadsheetml/2006/main&quot;&gt;
&lt;tt:attribute name=&quot;count&quot; value-ref=&quot;ROOT.COUNT&quot;/&gt;
&lt;tt:attribute name=&quot;uniqueCount&quot; value-ref=&quot;ROOT.UNIQUE_COUNT&quot;/&gt;
&lt;tt:loop ref=&quot;SHARED_STRINGS&quot;&gt;
&lt;si&gt;
&lt;t&gt;
&lt;tt:value ref=&quot;STRING_VALUE&quot;/&gt;
&lt;/t&gt;
&lt;/si&gt;
&lt;/tt:loop&gt;
&lt;/sst&gt;
&lt;/tt:template&gt;
&lt;/tt:transform&gt;</source>
</XSLT>

View File

@ -0,0 +1,309 @@
<?xml version="1.0" encoding="utf-8"?>
<XSLT XSLTDESC="ZEXCEL_TR_SHEET" DEVCLASS="$TMP" LANGU="E" DESCRIPT="ZEXCEL Simple transformation for Sheet#.xml">
<source>&lt;?sap.transform simple?&gt;
&lt;tt:transform xmlns:tt=&quot;http://www.sap.com/transformation-templates&quot;
xmlns:r=&quot;http://schemas.openxmlformats.org/officeDocument/2006/relationships&quot;&gt;
&lt;tt:root name=&quot;WORKSHEET&quot;/&gt;
&lt;tt:root name=&quot;CELLS&quot;/&gt;
&lt;tt:root name=&quot;WRITER&quot;/&gt;
&lt;tt:variable name=&quot;owriter&quot; ref-type=&quot;ZCL_EXCEL_WRITER_HUGE_FILE&quot;/&gt;
&lt;tt:template&gt;
&lt;tt:assign ref=&quot;WRITER&quot; to-var=&quot;owriter&quot;/&gt;
&lt;worksheet xmlns=&quot;http://schemas.openxmlformats.org/spreadsheetml/2006/main&quot;
xmlns:r=&quot;http://schemas.openxmlformats.org/officeDocument/2006/relationships&quot;
xmlns:mc=&quot;http://schemas.openxmlformats.org/markup-compatibility/2006&quot;
xmlns:x14ac=&quot;http://schemas.microsoft.com/office/spreadsheetml/2009/9/ac&quot;
mc:Ignorable=&quot;x14ac&quot;&gt;
&lt;tt:namespace name=&quot;r&quot; /&gt;
&lt;tt:namespace name=&quot;mc&quot; /&gt;
&lt;tt:namespace name=&quot;x14ac&quot; /&gt;
&lt;sheetPr&gt;
&lt;tt:cond check=&quot;not-initial(WORKSHEET.TABCOLOR)&quot;&gt;
&lt;tabColor&gt;
&lt;tt:attribute name=&quot;rgb&quot; value-ref=&quot;WORKSHEET.TABCOLOR&quot; /&gt;
&lt;/tabColor&gt;
&lt;/tt:cond&gt;
&lt;outlinePr&gt;
&lt;tt:attribute name=&quot;summaryRight&quot; value-ref=&quot;WORKSHEET.SUMMARYRIGHT&quot; /&gt;
&lt;tt:attribute name=&quot;summaryBelow&quot; value-ref=&quot;WORKSHEET.SUMMARYBELOW&quot; /&gt;
&lt;/outlinePr&gt;
&lt;/sheetPr&gt;
&lt;tt:cond check=&quot;not-initial(WORKSHEET.FITTOPAGE)&quot;&gt;
&lt;pageSetupPr&gt;
&lt;tt:attribute name=&quot;fitToPage&quot; value-ref=&quot;WORKSHEET.FITTOPAGE&quot; /&gt;
&lt;/pageSetupPr&gt;
&lt;/tt:cond&gt;
&lt;dimension&gt;
&lt;tt:attribute name=&quot;ref&quot; value-ref=&quot;WORKSHEET.DIMENSION&quot; /&gt;
&lt;/dimension&gt;
&lt;sheetViews&gt;
&lt;sheetView&gt;
&lt;tt:attribute name=&quot;showZeros&quot; value-ref=&quot;WORKSHEET.SHOWZEROS&quot; /&gt;
&lt;tt:attribute name=&quot;tabSelected&quot; value-ref=&quot;WORKSHEET.TABSELECTED&quot; /&gt;
&lt;tt:attribute name=&quot;zoomScale&quot; value-ref=&quot;WORKSHEET.ZOOMSCALE&quot; /&gt;
&lt;tt:cond check=&quot;WORKSHEET.ZOOMSCALENORMAL != 0&quot;&gt;
&lt;tt:attribute name=&quot;zoomScaleNormal&quot; value-ref=&quot;WORKSHEET.ZOOMSCALENORMAL&quot; /&gt;
&lt;/tt:cond&gt;
&lt;tt:cond check=&quot;WORKSHEET.ZOOMSCALEPAGEVIEW != 0&quot;&gt;
&lt;tt:attribute name=&quot;zoomScalePageLayoutView&quot; value-ref=&quot;WORKSHEET.ZOOMSCALEPAGEVIEW&quot; /&gt;
&lt;/tt:cond&gt;
&lt;tt:attribute name=&quot;zoomScaleSheetLayoutView&quot; value-ref=&quot;WORKSHEET.ZOOMSCALESHEETVIEW&quot; /&gt;
&lt;tt:attribute name=&quot;workbookViewId&quot; value-ref=&quot;WORKSHEET.WORKBOOKVIEWID&quot; /&gt;
&lt;tt:attribute name=&quot;showGridLines&quot; value-ref=&quot;WORKSHEET.SHOWGRIDLINES&quot; /&gt;
&lt;tt:attribute name=&quot;showRowColHeaders&quot; value-ref=&quot;WORKSHEET.SHOWROWCOLHEADERS&quot; /&gt;
&lt;tt:cond check=&quot;WORKSHEET.YSPLIT != 0 or WORKSHEET.XSPLIT != 0&quot;&gt;
&lt;pane activePane=&quot;bottomRight&quot; state=&quot;frozen&quot;&gt;
&lt;tt:cond check=&quot;WORKSHEET.YSPLIT != 0&quot;&gt;
&lt;tt:attribute name=&quot;ySplit&quot; value-ref=&quot;WORKSHEET.YSPLIT&quot; /&gt;
&lt;/tt:cond&gt;
&lt;tt:cond check=&quot;WORKSHEET.XSPLIT != 0&quot;&gt;
&lt;tt:attribute name=&quot;xSplit&quot; value-ref=&quot;WORKSHEET.XSPLIT&quot; /&gt;
&lt;/tt:cond&gt;
&lt;tt:attribute name=&quot;topLeftCell&quot; value-ref=&quot;WORKSHEET.TOPLEFTCELL&quot; /&gt;
&lt;/pane&gt;
&lt;/tt:cond&gt;
&lt;selection&gt;
&lt;tt:attribute name=&quot;activeCell&quot; value-ref=&quot;WORKSHEET.ACTIVECELL&quot; /&gt;
&lt;tt:attribute name=&quot;sqref&quot; value-ref=&quot;WORKSHEET.ACTIVECELL&quot; /&gt;
&lt;/selection&gt;
&lt;/sheetView&gt;
&lt;/sheetViews&gt;
&lt;sheetFormatPr&gt;
&lt;tt:attribute name=&quot;defaultRowHeight&quot; value-ref=&quot;WORKSHEET.DEFAULTROWHEIGHT&quot; /&gt;
&lt;tt:cond check=&quot;WORKSHEET.DEFAULTCOLWIDTH != 0&quot;&gt;
&lt;tt:attribute name=&quot;defaultColWidth&quot; value-ref=&quot;WORKSHEET.DEFAULTCOLWIDTH&quot; /&gt;
&lt;/tt:cond&gt;
&lt;tt:attribute name=&quot;x14ac:outlineLevelRow&quot; value-ref=&quot;WORKSHEET.OUTLINELEVELROW&quot; /&gt;
&lt;tt:attribute name=&quot;x14ac:outlineLevelCol&quot; value-ref=&quot;WORKSHEET.OUTLINELEVELCOL&quot; /&gt;
&lt;/sheetFormatPr&gt;
&lt;cols&gt;
&lt;tt:loop ref=&quot;WORKSHEET.COLS&quot;&gt;
&lt;col&gt;
&lt;tt:attribute name=&quot;min&quot; value-ref=&quot;MIN&quot; /&gt;
&lt;tt:attribute name=&quot;max&quot; value-ref=&quot;MAX&quot; /&gt;
&lt;tt:attribute name=&quot;width&quot; value-ref=&quot;WIDTH&quot; /&gt;
&lt;tt:cond check=&quot;not-initial(HIDDEN)&quot;&gt;
&lt;tt:attribute name=&quot;hidden&quot; value-ref=&quot;HIDDEN&quot; /&gt;
&lt;/tt:cond&gt;
&lt;tt:cond check=&quot;not-initial(CUSTOMWIDTH)&quot;&gt;
&lt;tt:attribute name=&quot;customWidth&quot; value-ref=&quot;CUSTOMWIDTH&quot; /&gt;
&lt;/tt:cond&gt;
&lt;tt:cond check=&quot;not-initial(BESTFIT)&quot;&gt;
&lt;tt:attribute name=&quot;bestFit&quot; value-ref=&quot;BESTFIT&quot; /&gt;
&lt;/tt:cond&gt;
&lt;tt:cond check=&quot;not-initial(COLLAPSED)&quot;&gt;
&lt;tt:attribute name=&quot;collapsed&quot; value-ref=&quot;COLLAPSED&quot; /&gt;
&lt;/tt:cond&gt;
&lt;tt:cond check=&quot;OUTLINELEVEL != 0&quot;&gt;
&lt;tt:attribute name=&quot;outlineLevel&quot; value-ref=&quot;OUTLINELEVEL&quot; /&gt;
&lt;/tt:cond&gt;
&lt;tt:cond check=&quot;STYLE &gt;= 0&quot;&gt;
&lt;tt:attribute name=&quot;style&quot; value-ref=&quot;STYLE&quot; /&gt;
&lt;/tt:cond&gt;
&lt;/col&gt;
&lt;/tt:loop&gt;
&lt;/cols&gt;
&lt;sheetData&gt;
&lt;tt:loop ref=&quot;WORKSHEET.ROWS&quot;&gt;
&lt;row&gt;
&lt;tt:attribute name=&quot;r&quot; value-ref=&quot;ROW&quot; /&gt;
&lt;tt:attribute name=&quot;spans&quot; value-ref=&quot;SPANS&quot; /&gt;
&lt;tt:cond check=&quot;not-initial(HIDDEN)&quot;&gt;
&lt;tt:attribute name=&quot;hidden&quot; value-ref=&quot;HIDDEN&quot; /&gt;
&lt;/tt:cond&gt;
&lt;tt:cond check=&quot;not-initial(CUSTOMHEIGHT)&quot;&gt;
&lt;tt:attribute name=&quot;customHeight&quot; value-ref=&quot;CUSTOMHIGHT&quot; /&gt;
&lt;tt:attribute name=&quot;ht&quot; value-ref=&quot;HIGHT&quot; /&gt;
&lt;/tt:cond&gt;
&lt;tt:cond check=&quot;not-initial(COLLAPSED)&quot;&gt;
&lt;tt:attribute name=&quot;collapsed&quot; value-ref=&quot;COLLAPSED&quot; /&gt;
&lt;/tt:cond&gt;
&lt;tt:cond check=&quot;OUTLINELEVEL != 0&quot;&gt;
&lt;tt:attribute name=&quot;outlineLevel&quot; value-ref=&quot;OUTLINELEVEL&quot; /&gt;
&lt;/tt:cond&gt;
&lt;tt:cond check=&quot;STYLE != 0&quot;&gt;
&lt;tt:attribute name=&quot;customFormat&quot; value-ref=&quot;CUSTOMFORMAT&quot; /&gt;
&lt;tt:attribute name=&quot;s&quot; value-ref=&quot;STYLE&quot; /&gt;
&lt;/tt:cond&gt;
&lt;!-- Aufruf get_cells --&gt;
&lt;tt:call-method s-name=&quot;GET_CELLS&quot; var=&quot;owriter&quot;&gt;
&lt;tt:with-parameter name=&quot;I_ROW&quot; ref=&quot;ROW&quot; /&gt;
&lt;tt:with-parameter name=&quot;I_INDEX&quot; ref=&quot;INDEX&quot; /&gt;
&lt;/tt:call-method&gt;
&lt;tt:loop ref=&quot;.CELLS&quot;&gt;
&lt;c&gt;
&lt;tt:attribute name=&quot;r&quot; value-ref=&quot;NAME&quot; /&gt;
&lt;tt:cond check=&quot;STYLE &gt;= 0&quot;&gt;
&lt;tt:attribute name=&quot;s&quot; value-ref=&quot;STYLE&quot; /&gt;
&lt;/tt:cond&gt;
&lt;tt:cond check=&quot;not-initial(FORMULA)&quot;&gt;
&lt;tt:attribute name=&quot;f&quot; value-ref=&quot;FORMULA&quot; /&gt;
&lt;/tt:cond&gt;
&lt;tt:cond check=&quot;not-initial(VALUE) and initial(FORMULA)&quot;&gt;
&lt;tt:attribute name=&quot;t&quot; value-ref=&quot;TYPE&quot; /&gt;
&lt;tt:cond check=&quot;TYPE = &apos;inlineStr&apos;&quot;&gt;
&lt;is&gt;
&lt;t&gt;
&lt;tt:value ref=&quot;VALUE&quot; /&gt;
&lt;/t&gt;
&lt;/is&gt;
&lt;/tt:cond&gt;
&lt;tt:cond check=&quot;TYPE != &apos;inlineStr&apos;&quot;&gt;
&lt;v&gt;
&lt;tt:value ref=&quot;VALUE&quot; /&gt;
&lt;/v&gt;
&lt;/tt:cond&gt;
&lt;/tt:cond&gt;
&lt;/c&gt;
&lt;/tt:loop&gt;
&lt;/row&gt;
&lt;/tt:loop&gt;
&lt;/sheetData&gt;
&lt;tt:cond check=&quot;WORKSHEET.MERGECELLS_COUNT != 0&quot;&gt;
&lt;mergeCells&gt;
&lt;tt:attribute name=&quot;count&quot; value-ref=&quot;WORKSHEET.MERGECELLS_COUNT&quot; /&gt;
&lt;tt:loop ref=&quot;WORKSHEET.MERGECELLS&quot;&gt;
&lt;mergeCell&gt;
&lt;tt:attribute name=&quot;ref&quot; value-ref=&quot;REF&quot; /&gt;
&lt;/mergeCell&gt;
&lt;/tt:loop&gt;
&lt;/mergeCells&gt;
&lt;/tt:cond&gt;
&lt;tt:cond check=&quot;WORKSHEET.HYPERLINKS_COUNT != 0&quot;&gt;
&lt;hyperlinks&gt;
&lt;tt:loop ref=&quot;WORKSHEET.HYPERLINKS&quot;&gt;
&lt;hyperlink&gt;
&lt;tt:attribute name=&quot;ref&quot; value-ref=&quot;REF&quot; /&gt;
&lt;tt:cond check=&quot;not-initial(LOCATION)&quot;&gt;
&lt;tt:attribute name=&quot;location&quot; value-ref=&quot;LOCATION&quot; /&gt;
&lt;/tt:cond&gt;
&lt;tt:cond check=&quot;not-initial(R_ID)&quot;&gt;
&lt;tt:attribute name=&quot;r:id&quot; value-ref=&quot;R_ID&quot; /&gt;
&lt;/tt:cond&gt;
&lt;/hyperlink&gt;
&lt;/tt:loop&gt;
&lt;/hyperlinks&gt;
&lt;/tt:cond&gt;
&lt;tt:cond check=&quot;not-initial(WORKSHEET.PRINTOPTIONS)&quot;&gt;
&lt;printOptions&gt;
&lt;tt:ref name=&quot;WORKSHEET.PRINTOPTIONS&quot;&gt;
&lt;tt:cond check=&quot;not-initial(GRIDLINES)&quot;&gt;
&lt;tt:attribute name=&quot;gridLines&quot; value-ref=&quot;GRIDLINES&quot; /&gt;
&lt;/tt:cond&gt;
&lt;tt:cond check=&quot;not-initial(HORIZONTALCENTERED)&quot;&gt;
&lt;tt:attribute name=&quot;horizontalCentered&quot; value-ref=&quot;HORIZONTALCENTERED&quot; /&gt;
&lt;/tt:cond&gt;
&lt;tt:cond check=&quot;not-initial(VERTICALCENTERED)&quot;&gt;
&lt;tt:attribute name=&quot;verticalCentered&quot; value-ref=&quot;VERTICALCENTERED&quot; /&gt;
&lt;/tt:cond&gt;
&lt;/tt:ref&gt;
&lt;/printOptions&gt;
&lt;/tt:cond&gt;
&lt;pageMargins&gt;
&lt;tt:ref name=&quot;WORKSHEET.PAGEMARGINS&quot;&gt;
&lt;tt:attribute name=&quot;left&quot; value-ref=&quot;LEFT&quot; /&gt;
&lt;tt:attribute name=&quot;right&quot; value-ref=&quot;RIGHT&quot; /&gt;
&lt;tt:attribute name=&quot;top&quot; value-ref=&quot;TOP&quot; /&gt;
&lt;tt:attribute name=&quot;bottom&quot; value-ref=&quot;BOTTOM&quot; /&gt;
&lt;tt:attribute name=&quot;header&quot; value-ref=&quot;HEADER&quot; /&gt;
&lt;tt:attribute name=&quot;footer&quot; value-ref=&quot;FOOTER&quot; /&gt;
&lt;/tt:ref&gt;
&lt;/pageMargins&gt;
&lt;pageSetup&gt;
&lt;tt:ref name=&quot;WORKSHEET.PAGESETUP&quot;&gt;
&lt;tt:cond check=&quot;not-initial(BLACKANDWHITE)&quot;&gt;
&lt;tt:attribute name=&quot;blackAndWhite&quot; value-ref=&quot;BLACKANDWHITE&quot; /&gt;
&lt;/tt:cond&gt;
&lt;tt:cond check=&quot;not-initial(CELLCOMMENTS)&quot;&gt;
&lt;tt:attribute name=&quot;cellComments&quot; value-ref=&quot;CELLCOMMENTS&quot; /&gt;
&lt;/tt:cond&gt;
&lt;tt:cond check=&quot;COPIES != 0&quot;&gt;
&lt;tt:attribute name=&quot;copies&quot; value-ref=&quot;COPIES&quot; /&gt;
&lt;/tt:cond&gt;
&lt;tt:cond check=&quot;not-initial(DRAFT)&quot;&gt;
&lt;tt:attribute name=&quot;draft&quot; value-ref=&quot;DRAFT&quot; /&gt;
&lt;/tt:cond&gt;
&lt;tt:cond check=&quot;not-initial(ERRORS)&quot;&gt;
&lt;tt:attribute name=&quot;errors&quot; value-ref=&quot;ERRORS&quot; /&gt;
&lt;/tt:cond&gt;
&lt;tt:cond check=&quot;FIRSTPAGENUMBER != 0&quot;&gt;
&lt;tt:attribute name=&quot;firstPageNumber&quot; value-ref=&quot;FIRSTPAGENUMBER&quot; /&gt;
&lt;/tt:cond&gt;
&lt;tt:cond check=&quot;not-initial(FITTOPAGE)&quot;&gt;
&lt;tt:attribute name=&quot;fitToHeight&quot; value-ref=&quot;FITTOHIGHT&quot; /&gt;
&lt;tt:attribute name=&quot;fitToWidth&quot; value-ref=&quot;FITTOWIDTH&quot; /&gt;
&lt;/tt:cond&gt;
&lt;tt:cond check=&quot;HORIZONTALDPI != 0&quot;&gt;
&lt;tt:attribute name=&quot;horizontalDpi&quot; value-ref=&quot;HORIZONTALDPI&quot; /&gt;
&lt;/tt:cond&gt;
&lt;tt:cond check=&quot;not-initial(ORIENTATION)&quot;&gt;
&lt;tt:attribute name=&quot;orientation&quot; value-ref=&quot;ORIENTATION&quot; /&gt;
&lt;/tt:cond&gt;
&lt;tt:cond check=&quot;not-initial(PAGEORDER)&quot;&gt;
&lt;tt:attribute name=&quot;pageOrder&quot; value-ref=&quot;PAGEORDER&quot; /&gt;
&lt;/tt:cond&gt;
&lt;tt:cond check=&quot;not-initial(PAPERHEIGHT)&quot;&gt;
&lt;tt:attribute name=&quot;paperHeight&quot; value-ref=&quot;PAPERHEIGHT&quot; /&gt;
&lt;/tt:cond&gt;
&lt;tt:cond check=&quot;PAPERSIZE != 0&quot;&gt;
&lt;tt:attribute name=&quot;paperSize&quot; value-ref=&quot;PAPERSIZE&quot; /&gt;
&lt;/tt:cond&gt;
&lt;tt:cond check=&quot;not-initial(PAPERWIDTH)&quot;&gt;
&lt;tt:attribute name=&quot;paperWidth&quot; value-ref=&quot;PAPERWIDTH&quot; /&gt;
&lt;/tt:cond&gt;
&lt;tt:cond check=&quot;SCALE != 0&quot;&gt;
&lt;tt:attribute name=&quot;scale&quot; value-ref=&quot;SCALE&quot; /&gt;
&lt;/tt:cond&gt;
&lt;tt:cond check=&quot;not-initial(USEFIRSTPAGENUMBER)&quot;&gt;
&lt;tt:attribute name=&quot;useFirstPageNumber&quot; value-ref=&quot;USEFIRSTPAGENUMBER&quot; /&gt;
&lt;/tt:cond&gt;
&lt;tt:cond check=&quot;not-initial(USEPRINTERDEFAULTS)&quot;&gt;
&lt;tt:attribute name=&quot;usePrinterDefaults&quot; value-ref=&quot;USEPRINTERDEFAULTS&quot; /&gt;
&lt;/tt:cond&gt;
&lt;tt:cond check=&quot;VERTICALDPI != 0&quot;&gt;
&lt;tt:attribute name=&quot;verticalDpi&quot; value-ref=&quot;VERTICALDPI&quot; /&gt;
&lt;/tt:cond&gt;
&lt;/tt:ref&gt;
&lt;/pageSetup&gt;
&lt;tt:cond check=&quot;not-initial(WORKSHEET.HEADERFOOTER)&quot;&gt;
&lt;headerFooter&gt;
&lt;tt:ref name=&quot;WORKSHEET.HEADERFOOTER&quot;&gt;
&lt;tt:cond check=&quot;not-initial(WORKSHEET.HEADERFOOTER)&quot;&gt;
&lt;tt:attribute name=&quot;differentOddEven&quot; value-ref=&quot;DIFFERENTODDEVEN&quot; /&gt;
&lt;/tt:cond&gt;
&lt;oddHeader&gt;
&lt;tt:value ref=&quot;ODDHEADER&quot; /&gt;
&lt;/oddHeader&gt;
&lt;oddFooter&gt;
&lt;tt:value ref=&quot;ODDFOOTER&quot; /&gt;
&lt;/oddFooter&gt;
&lt;evenHeader&gt;
&lt;tt:value ref=&quot;EVENHEADER&quot; /&gt;
&lt;/evenHeader&gt;
&lt;evenFooter&gt;
&lt;tt:value ref=&quot;EVENFOOTER&quot; /&gt;
&lt;/evenFooter&gt;
&lt;/tt:ref&gt;
&lt;/headerFooter&gt;
&lt;/tt:cond&gt;
&lt;tt:cond check=&quot;not-initial(WORKSHEET.DRAWINGS)&quot;&gt;
&lt;drawing&gt;
&lt;tt:attribute name=&quot;r:id&quot; value-ref=&quot;WORKSHEET.DRAWINGS&quot; /&gt;
&lt;/drawing&gt;
&lt;/tt:cond&gt;
&lt;tt:cond check=&quot;WORKSHEET.TABLES_COUNT != 0&quot;&gt;
&lt;mergeCells&gt;
&lt;tt:attribute name=&quot;count&quot; value-ref=&quot;WORKSHEET.TABLES_COUNT&quot; /&gt;
&lt;tt:loop ref=&quot;WORKSHEET.TABLES&quot;&gt;
&lt;tablePart&gt;
&lt;tt:attribute name=&quot;r:id&quot; value-ref=&quot;R_ID&quot; /&gt;
&lt;/tablePart&gt;
&lt;/tt:loop&gt;
&lt;/mergeCells&gt;
&lt;/tt:cond&gt;
&lt;/worksheet&gt;
&lt;/tt:template&gt;
&lt;/tt:transform&gt;</source>
</XSLT>

Binary file not shown.

42337
build/ABAP2XLSX_V_7_0_4.nugg Normal file

File diff suppressed because it is too large Load Diff

Binary file not shown.

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<nugget name="C:/Users/Ivan/Dropbox/GitHub/abap2xlsx/build/ABAP2XLSX_V_7_0_2.nugg">
<nugget name="C:/Users/Ivan/Dropbox/GitHub/abap2xlsx/build/ABAP2XLSX_V_7_0_3.nugg">
<CLAS CLSNAME="ZCL_EXCEL" VERSION="1" LANGU="E" DESCRIPT="Excel creator" CATEGORY="00" EXPOSURE="2" STATE="1" RELEASE="0" CLSCCINCL="X" FIXPT="X" UNICODE="X" CLSBCCAT="00" DURATION_TYPE="0 " RISK_LEVEL="0 ">
<implementing CLSNAME="ZCL_EXCEL" REFCLSNAME="ZIF_EXCEL_BOOK_VBA_PROJECT" VERSION="1" EXPOSURE="2" STATE="1" RELTYPE="1" EDITORDER="0 "/>
<implementing CLSNAME="ZCL_EXCEL" REFCLSNAME="ZIF_EXCEL_BOOK_PROTECTION" VERSION="1" EXPOSURE="2" STATE="1" RELTYPE="1" EDITORDER="0 "/>
@ -10361,6 +10361,7 @@ ENDMETHOD.</source>
lo_node_fill_child TYPE REF TO if_ixml_element,
lo_node_bgcolor TYPE REF TO if_ixml_element,
lo_node_fgcolor TYPE REF TO if_ixml_element,
lo_node_stop TYPE REF TO if_ixml_element,
lo_fill TYPE REF TO zcl_excel_style_fill,
ls_color TYPE t_color.
@ -10439,7 +10440,60 @@ ENDMETHOD.</source>
* gradientFill
*--------------------------------------------------------------------*
WHEN &apos;gradientFill&apos;.
&quot; 2do§1 Support gradientFill
lo_fill-&gt;gradtype-type = lo_node_fill_child-&gt;get_attribute( &apos;type&apos; ).
lo_fill-&gt;gradtype-top = lo_node_fill_child-&gt;get_attribute( &apos;top&apos; ).
lo_fill-&gt;gradtype-left = lo_node_fill_child-&gt;get_attribute( &apos;left&apos; ).
lo_fill-&gt;gradtype-right = lo_node_fill_child-&gt;get_attribute( &apos;right&apos; ).
lo_fill-&gt;gradtype-bottom = lo_node_fill_child-&gt;get_attribute( &apos;bottom&apos; ).
lo_fill-&gt;gradtype-degree = lo_node_fill_child-&gt;get_attribute( &apos;degree&apos; ).
free lo_node_stop.
lo_node_stop ?= lo_node_fill_child-&gt;find_from_name( &apos;stop&apos; ).
while lo_node_stop is bound.
if lo_fill-&gt;gradtype-position1 is initial.
lo_fill-&gt;gradtype-position1 = lo_node_stop-&gt;get_attribute( &apos;position&apos; ).
lo_node_bgcolor = lo_node_stop-&gt;find_from_name( &apos;color&apos; ).
IF lo_node_bgcolor IS BOUND.
fill_struct_from_attributes( EXPORTING
ip_element = lo_node_bgcolor
CHANGING
cp_structure = ls_color ).
lo_fill-&gt;bgcolor-rgb = ls_color-rgb.
IF ls_color-indexed IS NOT INITIAL.
lo_fill-&gt;bgcolor-indexed = ls_color-indexed.
ENDIF.
IF ls_color-theme IS NOT INITIAL.
lo_fill-&gt;bgcolor-theme = ls_color-theme.
ENDIF.
lo_fill-&gt;bgcolor-tint = ls_color-tint.
ENDIF.
elseif lo_fill-&gt;gradtype-position2 is initial.
lo_fill-&gt;gradtype-position2 = lo_node_stop-&gt;get_attribute( &apos;position&apos; ).
lo_node_fgcolor = lo_node_stop-&gt;find_from_name( &apos;color&apos; ).
IF lo_node_fgcolor IS BOUND.
fill_struct_from_attributes( EXPORTING
ip_element = lo_node_fgcolor
CHANGING
cp_structure = ls_color ).
lo_fill-&gt;fgcolor-rgb = ls_color-rgb.
IF ls_color-indexed IS NOT INITIAL.
lo_fill-&gt;fgcolor-indexed = ls_color-indexed.
ENDIF.
IF ls_color-theme IS NOT INITIAL.
lo_fill-&gt;fgcolor-theme = ls_color-theme.
ENDIF.
lo_fill-&gt;fgcolor-tint = ls_color-tint.
ENDIF.
elseif lo_fill-&gt;gradtype-position3 is initial.
lo_fill-&gt;gradtype-position3 = lo_node_stop-&gt;get_attribute( &apos;position&apos; ).
&quot;BGColor is filled already with position 1 no need to check again
endif.
lo_node_stop ?= lo_node_stop-&gt;get_next( ).
ENDWHILE.
WHEN OTHERS.
@ -14059,6 +14113,7 @@ ENDMETHOD.</source>
<method CLSNAME="ZCL_EXCEL_STYLE_FILL" CMPNAME="BUILD_GRADIENT" VERSION="1" LANGU="E" EXPOSURE="0" STATE="1" EDITORDER="1 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
<source>method build_gradient.
check check_filltype_is_gradient( ) eq abap_true.
clear gradtype.
case filltype.
when c_fill_gradient_horizontal90.
gradtype-degree = &apos;90&apos;.
@ -27394,7 +27449,6 @@ ENDMETHOD.</source>
endmethod.</source>
</interfaceMethod>
</CLAS>
<DEVC DEVCLASS="ZABAP2XLSX" CTEXT="abap2xlsx" LANGUAGE="E" MASTERLANG="E" KORRFLAG="X" PDEVCLASS="ZHVE" DLVUNIT="HOME" NAMESPACE="/0CUST/" PARENTCL="ZT3G_NW_DEV" CREATED_BY="FEMIA" CREATED_ON="20140905" CHANGED_BY="FEMIA" CHANGED_ON="20141226" PROJECT_GUID="00000000000000000000000000000000"/>
<DOMA DOMNAME="ZEXCEL_BOOLE01" DDLANGUAGE="E" DATATYPE="CHAR" LENG="000001" OUTPUTLEN="000001" DECIMALS="000000" VALEXI="X" MASKLEN="0000" DDTEXT="XML Schema bool data type" AUTHCLASS="00" OUTPUTSTYLE="00">
<dd07v DOMNAME="ZEXCEL_BOOLE01" VALPOS="0001" DDLANGUAGE="E" DOMVALUE_L="1" DDTEXT="True"/>
<dd07v DOMNAME="ZEXCEL_BOOLE01" VALPOS="0002" DDLANGUAGE="E" DOMVALUE_L="0" DDTEXT="False"/>
@ -40948,11 +41002,12 @@ CONSTANTS: lv_default_file_name TYPE string VALUE &apos;TechEd01.xlsx&apos;.
<dd42v TYPENAME="ZEXCEL_T_STYLE_BORDER" KEYFDPOS="0012" ROWTYPEPOS="0032" KEYFIELD="DIAGONALDOWN"/>
</TTYP>
<TTYP TYPENAME="ZEXCEL_T_STYLE_COLOR_ARGB" DDLANGUAGE="E" ROWTYPE="ZEXCEL_STYLE_COLOR_ARGB" ROWKIND="E" DATATYPE="CHAR" LENG="000008" DECIMALS="000000" ACCESSMODE="T" KEYDEF="D" KEYKIND="N" KEYFDCOUNT="0000" DDTEXT="Table of RGB colors" TYPELEN="000008" CTLENG="000000" CTDECIMALS="000000" OCCURS="00000"/>
<TTYP TYPENAME="ZEXCEL_T_STYLE_FILL" DDLANGUAGE="E" ROWTYPE="ZEXCEL_S_STYLE_FILL" ROWKIND="S" DATATYPE="STRU" LENG="000000" DECIMALS="000000" ACCESSMODE="T" KEYDEF="K" KEYKIND="N" KEYFDCOUNT="0004" DDTEXT="Cell Fills" TYPELEN="000200" CTLENG="000000" CTDECIMALS="000000" OCCURS="00000">
<TTYP TYPENAME="ZEXCEL_T_STYLE_FILL" DDLANGUAGE="E" ROWTYPE="ZEXCEL_S_STYLE_FILL" ROWKIND="S" DATATYPE="STRU" LENG="000000" DECIMALS="000000" ACCESSMODE="T" KEYDEF="K" KEYKIND="N" KEYFDCOUNT="0005" DDTEXT="Cell Fills" TYPELEN="000200" CTLENG="000000" CTDECIMALS="000000" OCCURS="00000">
<dd42v TYPENAME="ZEXCEL_T_STYLE_FILL" KEYFDPOS="0001" ROWTYPEPOS="0001" KEYFIELD="FILLTYPE"/>
<dd42v TYPENAME="ZEXCEL_T_STYLE_FILL" KEYFDPOS="0002" ROWTYPEPOS="0002" KEYFIELD="ROTATION"/>
<dd42v TYPENAME="ZEXCEL_T_STYLE_FILL" KEYFDPOS="0003" ROWTYPEPOS="0003" KEYFIELD="FGCOLOR"/>
<dd42v TYPENAME="ZEXCEL_T_STYLE_FILL" KEYFDPOS="0004" ROWTYPEPOS="0008" KEYFIELD="BGCOLOR"/>
<dd42v TYPENAME="ZEXCEL_T_STYLE_FILL" KEYFDPOS="0005" ROWTYPEPOS="0013" KEYFIELD="GRADTYPE"/>
</TTYP>
<TTYP TYPENAME="ZEXCEL_T_STYLE_FONT" DDLANGUAGE="E" ROWTYPE="ZEXCEL_S_STYLE_FONT" ROWKIND="S" DATATYPE="STRU" LENG="000000" DECIMALS="000000" ACCESSMODE="T" KEYDEF="K" KEYKIND="N" KEYFDCOUNT="0010" DDTEXT="Table type for styles ZEXCEL_S_STYLE_FONT" TYPELEN="000640" CTLENG="000000" CTDECIMALS="000000" OCCURS="00000">
<dd42v TYPENAME="ZEXCEL_T_STYLE_FONT" KEYFDPOS="0001" ROWTYPEPOS="0001" KEYFIELD="BOLD"/>

Binary file not shown.