<?xml version="1.0" encoding="utf-16"?>
<nugget name="ABAP2XLSX">
 <CLAS CLSNAME="ZCL_EXCEL_STYLE_ALIGNMENT" VERSION="1" LANGU="E" DESCRIPT="Font Style" UUID="E8BF274C8A345F2DE1000000C0A8FA19" CATEGORY="00" EXPOSURE="2" STATE="1" RELEASE="0" AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" CHGDANYON="00000000" CLSFINAL="X" CLSCCINCL="X" FIXPT="X" UNICODE="X" R3RELEASE="701" CLSBCCAT="00" DURATION_TYPE="0 " RISK_LEVEL="0 ">
  <publicSection>class ZCL_EXCEL_STYLE_ALIGNMENT definition
  public
  final
  create public .

*&quot;* public components of class ZCL_EXCEL_STYLE_ALIGNMENT
*&quot;* do not include other source files here!!!
public section.
  type-pools ABAP .

  data HORIZONTAL type ZEXCEL_ALIGNMENT .
  data VERTICAL type ZEXCEL_ALIGNMENT .
  data TEXTROTATION type ZEXCEL_TEXT_ROTATION value 0. &quot;#EC NOTEXT .
  data WRAPTEXT type FLAG .
  data SHRINKTOFIT type FLAG .
  data INDENT type ZEXCEL_INDENT value 0. &quot;#EC NOTEXT .

  methods CONSTRUCTOR .</publicSection>
  <protectedSection>*&quot;* protected components of class ZABAP_EXCEL_STYLE_FONT
*&quot;* do not include other source files here!!!
protected section.</protectedSection>
  <privateSection>*&quot;* private components of class ZCL_EXCEL_STYLE_ALIGNMENT
*&quot;* do not include other source files here!!!
private section.

  constants C_HORIZONTAL_GENERAL type ZEXCEL_ALIGNMENT value &apos;general&apos;. &quot;#EC NOTEXT
  constants C_HORIZONTAL_LEFT type ZEXCEL_ALIGNMENT value &apos;left&apos;. &quot;#EC NOTEXT
  constants C_HORIZONTAL_RIGHT type ZEXCEL_ALIGNMENT value &apos;right&apos;. &quot;#EC NOTEXT
  constants C_HORIZONTAL_CENTER type ZEXCEL_ALIGNMENT value &apos;center&apos;. &quot;#EC NOTEXT
  constants C_HORIZONTAL_CENTER_CONTINUOUS type ZEXCEL_ALIGNMENT value &apos;centerContinuous&apos;. &quot;#EC NOTEXT
  constants C_HORIZONTAL_JUSTIFY type ZEXCEL_ALIGNMENT value &apos;justify&apos;. &quot;#EC NOTEXT
  constants C_VERTICAL_BOTTOM type ZEXCEL_ALIGNMENT value &apos;bottom&apos;. &quot;#EC NOTEXT
  constants C_VERTICAL_TOP type ZEXCEL_ALIGNMENT value &apos;top&apos;. &quot;#EC NOTEXT
  constants C_VERTICAL_CENTER type ZEXCEL_ALIGNMENT value &apos;center&apos;. &quot;#EC NOTEXT
  constants C_VERTICAL_JUSTIFY type ZEXCEL_ALIGNMENT value &apos;justify&apos;. &quot;#EC NOTEXT</privateSection>
  <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_STYLE_ALIGNMENT" TYPEGROUP="ABAP" VERSION="1" TPUTYPE="0" EXPLICIT="X"/>
  <forwardDeclaration>ABAP</forwardDeclaration>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_ALIGNMENT" CMPNAME="C_HORIZONTAL_CENTER" VERSION="1" LANGU="E" DESCRIPT="Alignment" EXPOSURE="0" STATE="1" EDITORDER="4 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" ATTDECLTYP="2" ATTVALUE="&apos;center&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_ALIGNMENT" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_ALIGNMENT" CMPNAME="C_HORIZONTAL_CENTER_CONTINUOUS" VERSION="1" LANGU="E" DESCRIPT="Alignment" EXPOSURE="0" STATE="1" EDITORDER="5 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" ATTDECLTYP="2" ATTVALUE="&apos;centerContinuous&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_ALIGNMENT" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_ALIGNMENT" CMPNAME="C_HORIZONTAL_GENERAL" VERSION="1" LANGU="E" DESCRIPT="Alignment" EXPOSURE="0" STATE="1" EDITORDER="1 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" ATTDECLTYP="2" ATTVALUE="&apos;general&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_ALIGNMENT" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_ALIGNMENT" CMPNAME="C_HORIZONTAL_JUSTIFY" VERSION="1" LANGU="E" DESCRIPT="Alignment" EXPOSURE="0" STATE="1" EDITORDER="6 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" ATTDECLTYP="2" ATTVALUE="&apos;justify&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_ALIGNMENT" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_ALIGNMENT" CMPNAME="C_HORIZONTAL_LEFT" VERSION="1" LANGU="E" DESCRIPT="Alignment" EXPOSURE="0" STATE="1" EDITORDER="2 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" ATTDECLTYP="2" ATTVALUE="&apos;left&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_ALIGNMENT" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_ALIGNMENT" CMPNAME="C_HORIZONTAL_RIGHT" VERSION="1" LANGU="E" DESCRIPT="Alignment" EXPOSURE="0" STATE="1" EDITORDER="3 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" ATTDECLTYP="2" ATTVALUE="&apos;right&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_ALIGNMENT" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_ALIGNMENT" CMPNAME="C_VERTICAL_BOTTOM" VERSION="1" LANGU="E" DESCRIPT="Alignment" EXPOSURE="0" STATE="1" EDITORDER="7 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" ATTDECLTYP="2" ATTVALUE="&apos;bottom&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_ALIGNMENT" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_ALIGNMENT" CMPNAME="C_VERTICAL_CENTER" VERSION="1" LANGU="E" DESCRIPT="Alignment" EXPOSURE="0" STATE="1" EDITORDER="9 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" ATTDECLTYP="2" ATTVALUE="&apos;center&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_ALIGNMENT" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_ALIGNMENT" CMPNAME="C_VERTICAL_JUSTIFY" VERSION="1" LANGU="E" DESCRIPT="Alignment" EXPOSURE="0" STATE="1" EDITORDER="10 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" ATTDECLTYP="2" ATTVALUE="&apos;justify&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_ALIGNMENT" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_ALIGNMENT" CMPNAME="C_VERTICAL_TOP" VERSION="1" LANGU="E" DESCRIPT="Alignment" EXPOSURE="0" STATE="1" EDITORDER="8 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" ATTDECLTYP="2" ATTVALUE="&apos;top&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_ALIGNMENT" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_ALIGNMENT" CMPNAME="HORIZONTAL" VERSION="1" LANGU="E" DESCRIPT="Alignment" EXPOSURE="2" STATE="1" EDITORDER="11 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_ALIGNMENT" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_ALIGNMENT" CMPNAME="INDENT" VERSION="1" LANGU="E" DESCRIPT="Indent" EXPOSURE="2" STATE="1" EDITORDER="16 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" ATTDECLTYP="0" ATTVALUE="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_INDENT" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_ALIGNMENT" CMPNAME="SHRINKTOFIT" VERSION="1" LANGU="E" DESCRIPT="General Flag" EXPOSURE="2" STATE="1" EDITORDER="15 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="FLAG" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_ALIGNMENT" CMPNAME="TEXTROTATION" VERSION="1" LANGU="E" DESCRIPT="Text Rotation" EXPOSURE="2" STATE="1" EDITORDER="13 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100628" ATTDECLTYP="0" ATTVALUE="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_TEXT_ROTATION" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_ALIGNMENT" CMPNAME="VERTICAL" VERSION="1" LANGU="E" DESCRIPT="Alignment" EXPOSURE="2" STATE="1" EDITORDER="12 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_ALIGNMENT" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_ALIGNMENT" CMPNAME="WRAPTEXT" VERSION="1" LANGU="E" DESCRIPT="General Flag" EXPOSURE="2" STATE="1" EDITORDER="14 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="FLAG" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <method CLSNAME="ZCL_EXCEL_STYLE_ALIGNMENT" CMPNAME="CONSTRUCTOR" VERSION="1" LANGU="E" DESCRIPT="CONSTRUCTOR" EXPOSURE="2" STATE="1" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" MTDTYPE="2" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <source>METHOD constructor.
  horizontal  = me-&gt;c_horizontal_general.
  vertical    = me-&gt;c_vertical_bottom.
  wrapText    = abap_false.
  shrinkToFit = abap_false.
ENDMETHOD.</source>
  </method>
 </CLAS>
 <CLAS CLSNAME="ZCL_EXCEL_STYLE_BORDER" VERSION="1" LANGU="E" DESCRIPT="Border" UUID="85E3284C6D8F5D2DE1000000C0A8FA19" CATEGORY="00" EXPOSURE="2" STATE="1" RELEASE="0" AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100628" CHGDANYON="00000000" CLSFINAL="X" CLSCCINCL="X" FIXPT="X" UNICODE="X" R3RELEASE="701" CLSBCCAT="00" DURATION_TYPE="0 " RISK_LEVEL="0 ">
  <publicSection>class ZCL_EXCEL_STYLE_BORDER definition
  public
  final
  create public .

*&quot;* public components of class ZCL_EXCEL_STYLE_BORDER
*&quot;* do not include other source files here!!!
public section.

  data BORDER_STYLE type ZEXCEL_BORDER .
  data BORDER_COLOR type ZEXCEL_STYLE_COLOR_ARGB .
  class-data C_BORDER_NONE type ZEXCEL_BORDER value &apos;none&apos;. &quot;#EC NOTEXT .
  class-data C_BORDER_DASHDOT type ZEXCEL_BORDER value &apos;dashDot&apos;. &quot;#EC NOTEXT .
  class-data C_BORDER_DASHDOTDOT type ZEXCEL_BORDER value &apos;dashDotDot&apos;. &quot;#EC NOTEXT .
  class-data C_BORDER_DASHED type ZEXCEL_BORDER value &apos;dashed&apos;. &quot;#EC NOTEXT .
  class-data C_BORDER_DOTTED type ZEXCEL_BORDER value &apos;dotted&apos;. &quot;#EC NOTEXT .
  class-data C_BORDER_DOUBLE type ZEXCEL_BORDER value &apos;double&apos;. &quot;#EC NOTEXT .
  class-data C_BORDER_HAIR type ZEXCEL_BORDER value &apos;hair&apos;. &quot;#EC NOTEXT .
  class-data C_BORDER_MEDIUM type ZEXCEL_BORDER value &apos;medium&apos;. &quot;#EC NOTEXT .
  class-data C_BORDER_MEDIUMDASHDOT type ZEXCEL_BORDER value &apos;mediumDashDot&apos;. &quot;#EC NOTEXT .
  class-data C_BORDER_MEDIUMDASHDOTDOT type ZEXCEL_BORDER value &apos;mediumDashDotDot&apos;. &quot;#EC NOTEXT .
  class-data C_BORDER_MEDIUMDASHED type ZEXCEL_BORDER value &apos;mediumDashed&apos;. &quot;#EC NOTEXT .
  class-data C_BORDER_SLANTDASHDOT type ZEXCEL_BORDER value &apos;slantDashDot&apos;. &quot;#EC NOTEXT .
  class-data C_BORDER_THICK type ZEXCEL_BORDER value &apos;thick&apos;. &quot;#EC NOTEXT .
  class-data C_BORDER_THIN type ZEXCEL_BORDER value &apos;thin&apos;. &quot;#EC NOTEXT .

  methods CONSTRUCTOR .</publicSection>
  <protectedSection>*&quot;* protected components of class ZABAP_EXCEL_STYLE_FONT
*&quot;* do not include other source files here!!!
protected section.</protectedSection>
  <privateSection>*&quot;* private components of class ZCL_EXCEL_STYLE_BORDER
*&quot;* do not include other source files here!!!
private section.</privateSection>
  <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>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_BORDER" CMPNAME="BORDER_COLOR" VERSION="1" LANGU="E" DESCRIPT="Color ARGB" EXPOSURE="2" STATE="1" EDITORDER="2 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100705" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_STYLE_COLOR_ARGB" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_BORDER" CMPNAME="BORDER_STYLE" VERSION="1" LANGU="E" DESCRIPT="Border style" EXPOSURE="2" STATE="1" EDITORDER="1 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_BORDER" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_BORDER" CMPNAME="C_BORDER_DASHDOT" VERSION="1" LANGU="E" DESCRIPT="Border style" EXPOSURE="2" STATE="1" EDITORDER="4 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100706" ATTDECLTYP="1" ATTVALUE="&apos;dashDot&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_BORDER" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_BORDER" CMPNAME="C_BORDER_DASHDOTDOT" VERSION="1" LANGU="E" DESCRIPT="Border style" EXPOSURE="2" STATE="1" EDITORDER="5 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100706" ATTDECLTYP="1" ATTVALUE="&apos;dashDotDot&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_BORDER" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_BORDER" CMPNAME="C_BORDER_DASHED" VERSION="1" LANGU="E" DESCRIPT="Border style" EXPOSURE="2" STATE="1" EDITORDER="6 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100706" ATTDECLTYP="1" ATTVALUE="&apos;dashed&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_BORDER" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_BORDER" CMPNAME="C_BORDER_DOTTED" VERSION="1" LANGU="E" DESCRIPT="Border style" EXPOSURE="2" STATE="1" EDITORDER="7 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100706" ATTDECLTYP="1" ATTVALUE="&apos;dotted&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_BORDER" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_BORDER" CMPNAME="C_BORDER_DOUBLE" VERSION="1" LANGU="E" DESCRIPT="Border style" EXPOSURE="2" STATE="1" EDITORDER="8 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100706" ATTDECLTYP="1" ATTVALUE="&apos;double&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_BORDER" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_BORDER" CMPNAME="C_BORDER_HAIR" VERSION="1" LANGU="E" DESCRIPT="Border style" EXPOSURE="2" STATE="1" EDITORDER="9 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100706" ATTDECLTYP="1" ATTVALUE="&apos;hair&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_BORDER" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_BORDER" CMPNAME="C_BORDER_MEDIUM" VERSION="1" LANGU="E" DESCRIPT="Border style" EXPOSURE="2" STATE="1" EDITORDER="10 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100706" ATTDECLTYP="1" ATTVALUE="&apos;medium&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_BORDER" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_BORDER" CMPNAME="C_BORDER_MEDIUMDASHDOT" VERSION="1" LANGU="E" DESCRIPT="Border style" EXPOSURE="2" STATE="1" EDITORDER="11 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100706" ATTDECLTYP="1" ATTVALUE="&apos;mediumDashDot&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_BORDER" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_BORDER" CMPNAME="C_BORDER_MEDIUMDASHDOTDOT" VERSION="1" LANGU="E" DESCRIPT="Border style" EXPOSURE="2" STATE="1" EDITORDER="12 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100706" ATTDECLTYP="1" ATTVALUE="&apos;mediumDashDotDot&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_BORDER" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_BORDER" CMPNAME="C_BORDER_MEDIUMDASHED" VERSION="1" LANGU="E" DESCRIPT="Border style" EXPOSURE="2" STATE="1" EDITORDER="13 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100706" ATTDECLTYP="1" ATTVALUE="&apos;mediumDashed&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_BORDER" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_BORDER" CMPNAME="C_BORDER_NONE" VERSION="1" LANGU="E" DESCRIPT="Border style" EXPOSURE="2" STATE="1" EDITORDER="3 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100706" ATTDECLTYP="1" ATTVALUE="&apos;none&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_BORDER" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_BORDER" CMPNAME="C_BORDER_SLANTDASHDOT" VERSION="1" LANGU="E" DESCRIPT="Border style" EXPOSURE="2" STATE="1" EDITORDER="14 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100706" ATTDECLTYP="1" ATTVALUE="&apos;slantDashDot&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_BORDER" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_BORDER" CMPNAME="C_BORDER_THICK" VERSION="1" LANGU="E" DESCRIPT="Border style" EXPOSURE="2" STATE="1" EDITORDER="15 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100706" ATTDECLTYP="1" ATTVALUE="&apos;thick&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_BORDER" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_BORDER" CMPNAME="C_BORDER_THIN" VERSION="1" LANGU="E" DESCRIPT="Border style" EXPOSURE="2" STATE="1" EDITORDER="16 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100706" ATTDECLTYP="1" ATTVALUE="&apos;thin&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_BORDER" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <method CLSNAME="ZCL_EXCEL_STYLE_BORDER" CMPNAME="CONSTRUCTOR" VERSION="1" LANGU="E" DESCRIPT="CONSTRUCTOR" EXPOSURE="2" STATE="1" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100628" MTDTYPE="2" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <source>METHOD constructor.
  border_style = zcl_excel_style_border=&gt;c_border_none.
ENDMETHOD.</source>
  </method>
 </CLAS>
 <CLAS CLSNAME="ZCL_EXCEL_STYLE_BORDERS" VERSION="1" LANGU="E" DESCRIPT="Font Style" UUID="FFBF274C8A345F2DE1000000C0A8FA19" CATEGORY="00" EXPOSURE="2" STATE="1" RELEASE="0" AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" CHGDANYON="00000000" CLSFINAL="X" CLSCCINCL="X" FIXPT="X" UNICODE="X" R3RELEASE="701" CLSBCCAT="00" DURATION_TYPE="0 " RISK_LEVEL="0 ">
  <publicSection>class ZCL_EXCEL_STYLE_BORDERS definition
  public
  final
  create public .

*&quot;* public components of class ZCL_EXCEL_STYLE_BORDERS
*&quot;* do not include other source files here!!!
public section.

  data LEFT type ref to ZCL_EXCEL_STYLE_BORDER .
  data RIGHT type ref to ZCL_EXCEL_STYLE_BORDER .
  data TOP type ref to ZCL_EXCEL_STYLE_BORDER .
  data DOWN type ref to ZCL_EXCEL_STYLE_BORDER .
  data DIAGONAL type ref to ZCL_EXCEL_STYLE_BORDER .
  data ALLBORDERS type ref to ZCL_EXCEL_STYLE_BORDER .

  methods CONSTRUCTOR .
  methods GET_STRUCTURE
    returning
      value(ES_FILL) type ZEXCEL_S_STYLE_BORDER .</publicSection>
  <protectedSection>*&quot;* protected components of class ZABAP_EXCEL_STYLE_FONT
*&quot;* do not include other source files here!!!
protected section.</protectedSection>
  <privateSection>*&quot;* private components of class ZCL_EXCEL_STYLE_BORDERS
*&quot;* do not include other source files here!!!
private section.

  constants C_DIAGONAL_NONE type ZEXCEL_DIAGONAL value 0. &quot;#EC NOTEXT
  constants C_DIAGONAL_UP type ZEXCEL_DIAGONAL value 1. &quot;#EC NOTEXT
  constants C_DIAGONAL_DOWN type ZEXCEL_DIAGONAL value 2. &quot;#EC NOTEXT
  constants C_DIAGONAL_BOTH type ZEXCEL_DIAGONAL value 3. &quot;#EC NOTEXT</privateSection>
  <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>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_BORDERS" CMPNAME="ALLBORDERS" VERSION="1" LANGU="E" DESCRIPT="Diagonal" EXPOSURE="2" STATE="1" EDITORDER="6 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100628" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="3" TYPE="ZCL_EXCEL_STYLE_BORDER" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_BORDERS" CMPNAME="C_DIAGONAL_BOTH" VERSION="1" LANGU="E" DESCRIPT="Diagonal" EXPOSURE="0" STATE="1" EDITORDER="4 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" ATTDECLTYP="2" ATTVALUE="3" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_DIAGONAL" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_BORDERS" CMPNAME="C_DIAGONAL_DOWN" VERSION="1" LANGU="E" DESCRIPT="Diagonal" EXPOSURE="0" STATE="1" EDITORDER="3 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" ATTDECLTYP="2" ATTVALUE="2" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_DIAGONAL" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_BORDERS" CMPNAME="C_DIAGONAL_NONE" VERSION="1" LANGU="E" DESCRIPT="Diagonal" EXPOSURE="0" STATE="1" EDITORDER="1 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" ATTDECLTYP="2" ATTVALUE="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_DIAGONAL" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_BORDERS" CMPNAME="C_DIAGONAL_UP" VERSION="1" LANGU="E" DESCRIPT="Diagonal" EXPOSURE="0" STATE="1" EDITORDER="2 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" ATTDECLTYP="2" ATTVALUE="1" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_DIAGONAL" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_BORDERS" CMPNAME="DIAGONAL" VERSION="1" LANGU="E" DESCRIPT="Diagonal" EXPOSURE="2" STATE="1" EDITORDER="5 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100628" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="3" TYPE="ZCL_EXCEL_STYLE_BORDER" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_BORDERS" CMPNAME="DOWN" VERSION="1" LANGU="E" DESCRIPT="Diagonal" EXPOSURE="2" STATE="1" EDITORDER="4 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100628" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="3" TYPE="ZCL_EXCEL_STYLE_BORDER" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_BORDERS" CMPNAME="LEFT" VERSION="1" LANGU="E" DESCRIPT="Diagonal" EXPOSURE="2" STATE="1" EDITORDER="1 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100628" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="3" TYPE="ZCL_EXCEL_STYLE_BORDER" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_BORDERS" CMPNAME="RIGHT" VERSION="1" LANGU="E" DESCRIPT="Diagonal" EXPOSURE="2" STATE="1" EDITORDER="2 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100628" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="3" TYPE="ZCL_EXCEL_STYLE_BORDER" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_BORDERS" CMPNAME="TOP" VERSION="1" LANGU="E" DESCRIPT="Diagonal" EXPOSURE="2" STATE="1" EDITORDER="3 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100628" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="3" TYPE="ZCL_EXCEL_STYLE_BORDER" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <method CLSNAME="ZCL_EXCEL_STYLE_BORDERS" CMPNAME="CONSTRUCTOR" VERSION="1" LANGU="E" DESCRIPT="CONSTRUCTOR" EXPOSURE="2" STATE="1" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" MTDTYPE="2" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <source>method CONSTRUCTOR.
endmethod.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_STYLE_BORDERS" CMPNAME="GET_STRUCTURE" VERSION="1" LANGU="E" DESCRIPT="Get structure" EXPOSURE="2" STATE="1" EDITORDER="2 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100704" CHANGEDON="00000000" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_STYLE_BORDERS" CMPNAME="GET_STRUCTURE" SCONAME="ES_FILL" VERSION="1" LANGU="E" DESCRIPT="Single-Character Indicator" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100706" CHANGEDBY="FEMIA" CHANGEDON="20100706" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="ZEXCEL_S_STYLE_BORDER"/>
   <source>METHOD get_structure.

* Check if all borders is set otherwise check single border
  IF me-&gt;allborders IS BOUND.
    es_fill-left_color    = me-&gt;allborders-&gt;border_color.
    es_fill-left_style    = me-&gt;allborders-&gt;border_style.
    es_fill-right_color   = me-&gt;allborders-&gt;border_color.
    es_fill-right_style   = me-&gt;allborders-&gt;border_style.
    es_fill-top_color     = me-&gt;allborders-&gt;border_color.
    es_fill-top_style     = me-&gt;allborders-&gt;border_style.
    es_fill-bottom_color  = me-&gt;allborders-&gt;border_color.
    es_fill-bottom_style  = me-&gt;allborders-&gt;border_style.
  ELSE.
    IF me-&gt;left IS BOUND.
      es_fill-left_color = me-&gt;left-&gt;border_color.
      es_fill-left_style = me-&gt;left-&gt;border_style.
    ENDIF.
    IF me-&gt;right IS BOUND.
      es_fill-right_color = me-&gt;right-&gt;border_color.
      es_fill-right_style = me-&gt;right-&gt;border_style.
    ENDIF.
    IF me-&gt;top IS BOUND.
      es_fill-top_color = me-&gt;top-&gt;border_color.
      es_fill-top_style = me-&gt;top-&gt;border_style.
    ENDIF.
    IF me-&gt;down IS BOUND.
      es_fill-bottom_color = me-&gt;down-&gt;border_color.
      es_fill-bottom_style = me-&gt;down-&gt;border_style.
    ENDIF.
  ENDIF.

* Check if diagonal is set
  IF me-&gt;diagonal IS BOUND.
    es_fill-diagonal_color = me-&gt;diagonal-&gt;border_color.
    es_fill-diagonal_style = me-&gt;diagonal-&gt;border_style.
  ENDIF.

ENDMETHOD.                    &quot;get_structure</source>
  </method>
 </CLAS>
 <CLAS CLSNAME="ZCL_EXCEL_STYLE_COLOR" VERSION="1" LANGU="E" DESCRIPT="Excel Style Color" UUID="AE8C304C8769E92CE1000000C0A8FA19" CATEGORY="00" EXPOSURE="2" STATE="1" RELEASE="0" AUTHOR="FEMIA" CREATEDON="20100705" CHANGEDON="00000000" CHGDANYON="00000000" CLSFINAL="X" CLSCCINCL="X" FIXPT="X" UNICODE="X" R3RELEASE="701" CLSBCCAT="00" DURATION_TYPE="0 " RISK_LEVEL="0 ">
  <publicSection>class ZCL_EXCEL_STYLE_COLOR definition
  public
  final
  create public .

*&quot;* public components of class ZCL_EXCEL_STYLE_COLOR
*&quot;* do not include other source files here!!!
public section.

  class-data C_BLACK type ZEXCEL_STYLE_COLOR_ARGB value &apos;FF000000&apos;. &quot;#EC NOTEXT .
  class-data C_BLUE type ZEXCEL_STYLE_COLOR_ARGB value &apos;FF0000FF&apos;. &quot;#EC NOTEXT .
  class-data C_DARKBLUE type ZEXCEL_STYLE_COLOR_ARGB value &apos;FF000080&apos;. &quot;#EC NOTEXT .
  class-data C_DARKGREEN type ZEXCEL_STYLE_COLOR_ARGB value &apos;FF008000&apos;. &quot;#EC NOTEXT .
  class-data C_DARKRED type ZEXCEL_STYLE_COLOR_ARGB value &apos;FF800000&apos;. &quot;#EC NOTEXT .
  class-data C_DARKYELLOW type ZEXCEL_STYLE_COLOR_ARGB value &apos;FF808000&apos;. &quot;#EC NOTEXT .
  class-data C_GRAY type ZEXCEL_STYLE_COLOR_ARGB value &apos;FFCCCCCC&apos;. &quot;#EC NOTEXT .
  class-data C_GREEN type ZEXCEL_STYLE_COLOR_ARGB value &apos;FF00FF00&apos;. &quot;#EC NOTEXT .
  class-data C_RED type ZEXCEL_STYLE_COLOR_ARGB value &apos;FFFF0000&apos;. &quot;#EC NOTEXT .
  class-data C_WHITE type ZEXCEL_STYLE_COLOR_ARGB value &apos;FFFFFFFF&apos;. &quot;#EC NOTEXT .
  class-data C_YELLOW type ZEXCEL_STYLE_COLOR_ARGB value &apos;FFFFFF00&apos;. &quot;#EC NOTEXT .

  methods CONSTRUCTOR .
  class-methods CREATE_NEW_ARGB
    importing
      !IP_RED type ZEXCEL_STYLE_COLOR_COMPONENT
      !IP_GREEN type ZEXCEL_STYLE_COLOR_COMPONENT
      !IP_BLU type ZEXCEL_STYLE_COLOR_COMPONENT
    returning
      value(EP_COLOR_ARGB) type ZEXCEL_STYLE_COLOR_ARGB .</publicSection>
  <protectedSection>*&quot;* protected components of class ZCL_EXCEL_STYLE_COLOR
*&quot;* do not include other source files here!!!
protected section.</protectedSection>
  <privateSection>*&quot;* private components of class ZCL_EXCEL_STYLE_COLOR
*&quot;* do not include other source files here!!!
private section.

  class-data C_ALPHA type CHAR2 value &apos;FF&apos;. &quot;#EC NOTEXT .</privateSection>
  <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>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_COLOR" CMPNAME="C_ALPHA" VERSION="1" LANGU="E" DESCRIPT="Color Alpha" EXPOSURE="0" STATE="1" EDITORDER="1 " AUTHOR="FEMIA" CREATEDON="20100705" CHANGEDBY="FEMIA" CHANGEDON="20100709" ATTDECLTYP="1" ATTVALUE="&apos;FF&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="CHAR2" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_COLOR" CMPNAME="C_BLACK" VERSION="1" LANGU="E" DESCRIPT="Color ARGB" EXPOSURE="2" STATE="1" EDITORDER="2 " AUTHOR="FEMIA" CREATEDON="20100705" CHANGEDBY="FEMIA" CHANGEDON="20100709" ATTDECLTYP="1" ATTVALUE="&apos;FF000000&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_STYLE_COLOR_ARGB" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_COLOR" CMPNAME="C_BLUE" VERSION="1" LANGU="E" DESCRIPT="Color ARGB" EXPOSURE="2" STATE="1" EDITORDER="3 " AUTHOR="FEMIA" CREATEDON="20100705" CHANGEDBY="FEMIA" CHANGEDON="20100709" ATTDECLTYP="1" ATTVALUE="&apos;FF0000FF&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_STYLE_COLOR_ARGB" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_COLOR" CMPNAME="C_DARKBLUE" VERSION="1" LANGU="E" DESCRIPT="Color ARGB" EXPOSURE="2" STATE="1" EDITORDER="4 " AUTHOR="FEMIA" CREATEDON="20100705" CHANGEDBY="FEMIA" CHANGEDON="20100709" ATTDECLTYP="1" ATTVALUE="&apos;FF000080&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_STYLE_COLOR_ARGB" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_COLOR" CMPNAME="C_DARKGREEN" VERSION="1" LANGU="E" DESCRIPT="Color ARGB" EXPOSURE="2" STATE="1" EDITORDER="5 " AUTHOR="FEMIA" CREATEDON="20100705" CHANGEDBY="FEMIA" CHANGEDON="20100709" ATTDECLTYP="1" ATTVALUE="&apos;FF008000&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_STYLE_COLOR_ARGB" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_COLOR" CMPNAME="C_DARKRED" VERSION="1" LANGU="E" DESCRIPT="Color ARGB" EXPOSURE="2" STATE="1" EDITORDER="6 " AUTHOR="FEMIA" CREATEDON="20100705" CHANGEDBY="FEMIA" CHANGEDON="20100709" ATTDECLTYP="1" ATTVALUE="&apos;FF800000&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_STYLE_COLOR_ARGB" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_COLOR" CMPNAME="C_DARKYELLOW" VERSION="1" LANGU="E" DESCRIPT="Color ARGB" EXPOSURE="2" STATE="1" EDITORDER="7 " AUTHOR="FEMIA" CREATEDON="20100705" CHANGEDBY="FEMIA" CHANGEDON="20100709" ATTDECLTYP="1" ATTVALUE="&apos;FF808000&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_STYLE_COLOR_ARGB" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_COLOR" CMPNAME="C_GRAY" VERSION="1" LANGU="E" DESCRIPT="Color ARGB" EXPOSURE="2" STATE="1" EDITORDER="8 " AUTHOR="FEMIA" CREATEDON="20100709" CHANGEDBY="FEMIA" CHANGEDON="20100709" ATTDECLTYP="1" ATTVALUE="&apos;FFCCCCCC&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_STYLE_COLOR_ARGB" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_COLOR" CMPNAME="C_GREEN" VERSION="1" LANGU="E" DESCRIPT="Color ARGB" EXPOSURE="2" STATE="1" EDITORDER="9 " AUTHOR="FEMIA" CREATEDON="20100705" CHANGEDBY="FEMIA" CHANGEDON="20100709" ATTDECLTYP="1" ATTVALUE="&apos;FF00FF00&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_STYLE_COLOR_ARGB" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_COLOR" CMPNAME="C_RED" VERSION="1" LANGU="E" DESCRIPT="Color ARGB" EXPOSURE="2" STATE="1" EDITORDER="10 " AUTHOR="FEMIA" CREATEDON="20100705" CHANGEDBY="FEMIA" CHANGEDON="20100709" ATTDECLTYP="1" ATTVALUE="&apos;FFFF0000&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_STYLE_COLOR_ARGB" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_COLOR" CMPNAME="C_WHITE" VERSION="1" LANGU="E" DESCRIPT="Color ARGB" EXPOSURE="2" STATE="1" EDITORDER="11 " AUTHOR="FEMIA" CREATEDON="20100705" CHANGEDBY="FEMIA" CHANGEDON="20100709" ATTDECLTYP="1" ATTVALUE="&apos;FFFFFFFF&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_STYLE_COLOR_ARGB" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_COLOR" CMPNAME="C_YELLOW" VERSION="1" LANGU="E" DESCRIPT="Color ARGB" EXPOSURE="2" STATE="1" EDITORDER="12 " AUTHOR="FEMIA" CREATEDON="20100705" CHANGEDBY="FEMIA" CHANGEDON="20100709" ATTDECLTYP="1" ATTVALUE="&apos;FFFFFF00&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_STYLE_COLOR_ARGB" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <method CLSNAME="ZCL_EXCEL_STYLE_COLOR" CMPNAME="CONSTRUCTOR" VERSION="1" LANGU="E" DESCRIPT="CONSTRUCTOR" EXPOSURE="2" STATE="1" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100705" CHANGEDON="00000000" MTDTYPE="2" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <source>method CONSTRUCTOR.


endmethod.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_STYLE_COLOR" CMPNAME="CREATE_NEW_ARGB" VERSION="1" LANGU="E" DESCRIPT="Create a custom ARGB color from RGB" EXPOSURE="2" STATE="1" EDITORDER="2 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100705" CHANGEDBY="FEMIA" CHANGEDON="20100705" MTDTYPE="0" MTDDECLTYP="1" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_STYLE_COLOR" CMPNAME="CREATE_NEW_ARGB" SCONAME="IP_RED" VERSION="1" LANGU="E" DESCRIPT="Color Component" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100705" CHANGEDON="00000000" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_STYLE_COLOR_COMPONENT"/>
   <parameter CLSNAME="ZCL_EXCEL_STYLE_COLOR" CMPNAME="CREATE_NEW_ARGB" SCONAME="IP_GREEN" VERSION="1" LANGU="E" DESCRIPT="Color Component" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100705" CHANGEDON="00000000" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_STYLE_COLOR_COMPONENT"/>
   <parameter CLSNAME="ZCL_EXCEL_STYLE_COLOR" CMPNAME="CREATE_NEW_ARGB" SCONAME="IP_BLU" VERSION="1" LANGU="E" DESCRIPT="Color Component" CMPTYPE="1" MTDTYPE="0" EDITORDER="3 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100705" CHANGEDON="00000000" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_STYLE_COLOR_COMPONENT"/>
   <parameter CLSNAME="ZCL_EXCEL_STYLE_COLOR" CMPNAME="CREATE_NEW_ARGB" SCONAME="EP_COLOR_ARGB" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="4 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100705" CHANGEDBY="FEMIA" CHANGEDON="20100705" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="ZEXCEL_STYLE_COLOR_ARGB"/>
   <source>METHOD create_new_argb.


  CONCATENATE zcl_excel_style_color=&gt;c_alpha ip_red ip_green ip_blu INTO ep_color_argb.

ENDMETHOD.</source>
  </method>
 </CLAS>
 <CLAS CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" VERSION="1" LANGU="E" DESCRIPT="Font Style" UUID="25C0274C8A345F2DE1000000C0A8FA19" CATEGORY="00" EXPOSURE="2" STATE="1" RELEASE="0" AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" CHGDANYON="00000000" CLSFINAL="X" CLSCCINCL="X" FIXPT="X" UNICODE="X" R3RELEASE="701" CLSBCCAT="00" DURATION_TYPE="0 " RISK_LEVEL="0 ">
  <publicSection>class ZCL_EXCEL_STYLE_CONDITIONAL definition
  public
  final
  create public .

*&quot;* public components of class ZCL_EXCEL_STYLE_CONDITIONAL
*&quot;* do not include other source files here!!!
public section.

  class-data C_ICONSET_3ARROWS type ZEXCEL_CONDITION_RULE_ICONSET value &apos;3Arrows&apos;. &quot;#EC NOTEXT .
  class-data C_ICONSET_3ARROWSGRAY type ZEXCEL_CONDITION_RULE_ICONSET value &apos;3ArrowsGray&apos;. &quot;#EC NOTEXT .
  class-data C_ICONSET_3FLAGS type ZEXCEL_CONDITION_RULE_ICONSET value &apos;3Flags&apos;. &quot;#EC NOTEXT .
  class-data C_ICONSET_3SIGNS type ZEXCEL_CONDITION_RULE_ICONSET value &apos;3Signs&apos;. &quot;#EC NOTEXT .
  class-data C_ICONSET_3SYMBOLS type ZEXCEL_CONDITION_RULE_ICONSET value &apos;3Symbols&apos;. &quot;#EC NOTEXT .
  class-data C_ICONSET_3SYMBOLS2 type ZEXCEL_CONDITION_RULE_ICONSET value &apos;3Symbols2&apos;. &quot;#EC NOTEXT .
  class-data C_ICONSET_3TRAFFICLIGHTS type ZEXCEL_CONDITION_RULE_ICONSET value &apos;&apos;. &quot;#EC NOTEXT .
  class-data C_ICONSET_3TRAFFICLIGHTS2 type ZEXCEL_CONDITION_RULE_ICONSET value &apos;3TrafficLights2&apos;. &quot;#EC NOTEXT .
  class-data C_ICONSET_4ARROWS type ZEXCEL_CONDITION_RULE_ICONSET value &apos;4Arrows&apos;. &quot;#EC NOTEXT .
  class-data C_ICONSET_4ARROWSGRAY type ZEXCEL_CONDITION_RULE_ICONSET value &apos;4ArrowsGray&apos;. &quot;#EC NOTEXT .
  class-data C_ICONSET_4RATING type ZEXCEL_CONDITION_RULE_ICONSET value &apos;4Rating&apos;. &quot;#EC NOTEXT .
  class-data C_ICONSET_4REDTOBLACK type ZEXCEL_CONDITION_RULE_ICONSET value &apos;4RedToBlack&apos;. &quot;#EC NOTEXT .
  class-data C_ICONSET_4TRAFFICLIGHTS type ZEXCEL_CONDITION_RULE_ICONSET value &apos;4TrafficLights&apos;. &quot;#EC NOTEXT .
  class-data C_ICONSET_5ARROWS type ZEXCEL_CONDITION_RULE_ICONSET value &apos;5Arrows&apos;. &quot;#EC NOTEXT .
  class-data C_ICONSET_5ARROWSGRAY type ZEXCEL_CONDITION_RULE_ICONSET value &apos;5ArrowsGray&apos;. &quot;#EC NOTEXT .
  class-data C_ICONSET_5QUARTERS type ZEXCEL_CONDITION_RULE_ICONSET value &apos;5Quarters&apos;. &quot;#EC NOTEXT .
  class-data C_ICONSET_5RATING type ZEXCEL_CONDITION_RULE_ICONSET value &apos;5Rating&apos;. &quot;#EC NOTEXT .
  class-data C_OPERATOR_BEGINSWITH type ZEXCEL_CONDITION_OPERATOR value &apos;beginsWith&apos;. &quot;#EC NOTEXT .
  class-data C_OPERATOR_BETWEEN type ZEXCEL_CONDITION_OPERATOR value &apos;between&apos;. &quot;#EC NOTEXT .
  class-data C_OPERATOR_CONTAINSTEXT type ZEXCEL_CONDITION_OPERATOR value &apos;containsText&apos;. &quot;#EC NOTEXT .
  class-data C_OPERATOR_ENDSWITH type ZEXCEL_CONDITION_OPERATOR value &apos;endsWith&apos;. &quot;#EC NOTEXT .
  class-data C_OPERATOR_EQUAL type ZEXCEL_CONDITION_OPERATOR value &apos;equal&apos;. &quot;#EC NOTEXT .
  class-data C_OPERATOR_GREATERTHAN type ZEXCEL_CONDITION_OPERATOR value &apos;greaterThan&apos;. &quot;#EC NOTEXT .
  class-data C_OPERATOR_GREATERTHANOREQUAL type ZEXCEL_CONDITION_OPERATOR value &apos;greaterThanOrEqual&apos;. &quot;#EC NOTEXT .
  class-data C_OPERATOR_LESSTHAN type ZEXCEL_CONDITION_OPERATOR value &apos;lessThan&apos;. &quot;#EC NOTEXT .
  class-data C_OPERATOR_LESSTHANOREQUAL type ZEXCEL_CONDITION_OPERATOR value &apos;lessThanOrEqual&apos;. &quot;#EC NOTEXT .
  class-data C_OPERATOR_NONE type ZEXCEL_CONDITION_OPERATOR value &apos;&apos;. &quot;#EC NOTEXT .
  class-data C_OPERATOR_NOTCONTAINS type ZEXCEL_CONDITION_OPERATOR value &apos;notContains&apos;. &quot;#EC NOTEXT .
  class-data C_OPERATOR_NOTEQUAL type ZEXCEL_CONDITION_OPERATOR value &apos;notEqual&apos;. &quot;#EC NOTEXT .
  class-data C_RULE_CELLIS type ZEXCEL_CONDITION_RULE value &apos;cellIs&apos;. &quot;#EC NOTEXT .
  class-data C_RULE_CONTAINSTEXT type ZEXCEL_CONDITION_RULE value &apos;containsText&apos;. &quot;#EC NOTEXT .
  class-data C_RULE_EXPRESSION type ZEXCEL_CONDITION_RULE value &apos;expression&apos;. &quot;#EC NOTEXT .
  class-data C_RULE_ICONSET type ZEXCEL_CONDITION_RULE value &apos;iconSet&apos;. &quot;#EC NOTEXT .
  class-data C_RULE_NONE type ZEXCEL_CONDITION_RULE value &apos;none&apos;. &quot;#EC NOTEXT .
  data FORMULA type ZEXCEL_STYLE_FORMULA .
  data ICONSET type ZEXCEL_CONDITION_RULE_ICONSET .
  data OPERATOR type ZEXCEL_CONDITION_OPERATOR .
  data PRIORITY type ZEXCEL_STYLE_PRIORITY value 1. &quot;#EC NOTEXT .
  data RULE type ZEXCEL_CONDITION_RULE .

  methods CONSTRUCTOR .
  methods GET_DIMENSION_RANGE
    returning
      value(EP_DIMENSION_RANGE) type STRING .
  methods SET_RANGE
    importing
      !IP_START_ROW type ZEXCEL_CELL_ROW
      !IP_START_COLUMN type ZEXCEL_CELL_COLUMN_ALPHA
      !IP_STOP_ROW type ZEXCEL_CELL_ROW
      !IP_STOP_COLUMN type ZEXCEL_CELL_COLUMN_ALPHA .</publicSection>
  <protectedSection>*&quot;* protected components of class ZABAP_EXCEL_STYLE_FONT
*&quot;* do not include other source files here!!!
protected section.</protectedSection>
  <privateSection>*&quot;* private components of class ZCL_EXCEL_STYLE_CONDITIONAL
*&quot;* do not include other source files here!!!
private section.

  data START_CELL type ZEXCEL_S_CELL_DATA .
  data STOP_CELL type ZEXCEL_S_CELL_DATA .</privateSection>
  <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>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="C_ICONSET_3ARROWS" VERSION="1" LANGU="E" DESCRIPT="Condition rule iconset" EXPOSURE="2" STATE="1" EDITORDER="1 " AUTHOR="FEMIA" CREATEDON="20100710" CHANGEDBY="FEMIA" CHANGEDON="20100710" ATTDECLTYP="1" ATTVALUE="&apos;3Arrows&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_CONDITION_RULE_ICONSET" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="C_ICONSET_3ARROWSGRAY" VERSION="1" LANGU="E" DESCRIPT="Condition rule iconset" EXPOSURE="2" STATE="1" EDITORDER="2 " AUTHOR="FEMIA" CREATEDON="20100710" CHANGEDBY="FEMIA" CHANGEDON="20100710" ATTDECLTYP="1" ATTVALUE="&apos;3ArrowsGray&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_CONDITION_RULE_ICONSET" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="C_ICONSET_3FLAGS" VERSION="1" LANGU="E" DESCRIPT="Condition rule iconset" EXPOSURE="2" STATE="1" EDITORDER="3 " AUTHOR="FEMIA" CREATEDON="20100710" CHANGEDBY="FEMIA" CHANGEDON="20100710" ATTDECLTYP="1" ATTVALUE="&apos;3Flags&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_CONDITION_RULE_ICONSET" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="C_ICONSET_3SIGNS" VERSION="1" LANGU="E" DESCRIPT="Condition rule iconset" EXPOSURE="2" STATE="1" EDITORDER="4 " AUTHOR="FEMIA" CREATEDON="20100710" CHANGEDBY="FEMIA" CHANGEDON="20100710" ATTDECLTYP="1" ATTVALUE="&apos;3Signs&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_CONDITION_RULE_ICONSET" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="C_ICONSET_3SYMBOLS" VERSION="1" LANGU="E" DESCRIPT="Condition rule iconset" EXPOSURE="2" STATE="1" EDITORDER="5 " AUTHOR="FEMIA" CREATEDON="20100710" CHANGEDBY="FEMIA" CHANGEDON="20100710" ATTDECLTYP="1" ATTVALUE="&apos;3Symbols&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_CONDITION_RULE_ICONSET" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="C_ICONSET_3SYMBOLS2" VERSION="1" LANGU="E" DESCRIPT="Condition rule iconset" EXPOSURE="2" STATE="1" EDITORDER="6 " AUTHOR="FEMIA" CREATEDON="20100710" CHANGEDBY="FEMIA" CHANGEDON="20100710" ATTDECLTYP="1" ATTVALUE="&apos;3Symbols2&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_CONDITION_RULE_ICONSET" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="C_ICONSET_3TRAFFICLIGHTS" VERSION="1" LANGU="E" DESCRIPT="Condition rule iconset" EXPOSURE="2" STATE="1" EDITORDER="7 " AUTHOR="FEMIA" CREATEDON="20100710" CHANGEDBY="FEMIA" CHANGEDON="20100710" ATTDECLTYP="1" ATTVALUE="&apos;&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_CONDITION_RULE_ICONSET" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="C_ICONSET_3TRAFFICLIGHTS2" VERSION="1" LANGU="E" DESCRIPT="Condition rule iconset" EXPOSURE="2" STATE="1" EDITORDER="8 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDBY="FEMIA" CHANGEDON="20100710" ATTDECLTYP="1" ATTVALUE="&apos;3TrafficLights2&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_CONDITION_RULE_ICONSET" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="C_ICONSET_4ARROWS" VERSION="1" LANGU="E" DESCRIPT="Condition rule iconset" EXPOSURE="2" STATE="1" EDITORDER="9 " AUTHOR="FEMIA" CREATEDON="20100710" CHANGEDBY="FEMIA" CHANGEDON="20100710" ATTDECLTYP="1" ATTVALUE="&apos;4Arrows&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_CONDITION_RULE_ICONSET" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="C_ICONSET_4ARROWSGRAY" VERSION="1" LANGU="E" DESCRIPT="Condition rule iconset" EXPOSURE="2" STATE="1" EDITORDER="10 " AUTHOR="FEMIA" CREATEDON="20100710" CHANGEDBY="FEMIA" CHANGEDON="20100710" ATTDECLTYP="1" ATTVALUE="&apos;4ArrowsGray&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_CONDITION_RULE_ICONSET" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="C_ICONSET_4RATING" VERSION="1" LANGU="E" DESCRIPT="Condition rule iconset" EXPOSURE="2" STATE="1" EDITORDER="11 " AUTHOR="FEMIA" CREATEDON="20100710" CHANGEDBY="FEMIA" CHANGEDON="20100710" ATTDECLTYP="1" ATTVALUE="&apos;4Rating&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_CONDITION_RULE_ICONSET" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="C_ICONSET_4REDTOBLACK" VERSION="1" LANGU="E" DESCRIPT="Condition rule iconset" EXPOSURE="2" STATE="1" EDITORDER="12 " AUTHOR="FEMIA" CREATEDON="20100710" CHANGEDBY="FEMIA" CHANGEDON="20100710" ATTDECLTYP="1" ATTVALUE="&apos;4RedToBlack&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_CONDITION_RULE_ICONSET" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="C_ICONSET_4TRAFFICLIGHTS" VERSION="1" LANGU="E" DESCRIPT="Condition rule iconset" EXPOSURE="2" STATE="1" EDITORDER="13 " AUTHOR="FEMIA" CREATEDON="20100710" CHANGEDBY="FEMIA" CHANGEDON="20100710" ATTDECLTYP="1" ATTVALUE="&apos;4TrafficLights&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_CONDITION_RULE_ICONSET" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="C_ICONSET_5ARROWS" VERSION="1" LANGU="E" DESCRIPT="Condition rule iconset" EXPOSURE="2" STATE="1" EDITORDER="14 " AUTHOR="FEMIA" CREATEDON="20100710" CHANGEDBY="FEMIA" CHANGEDON="20100710" ATTDECLTYP="1" ATTVALUE="&apos;5Arrows&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_CONDITION_RULE_ICONSET" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="C_ICONSET_5ARROWSGRAY" VERSION="1" LANGU="E" DESCRIPT="Condition rule iconset" EXPOSURE="2" STATE="1" EDITORDER="15 " AUTHOR="FEMIA" CREATEDON="20100710" CHANGEDBY="FEMIA" CHANGEDON="20100710" ATTDECLTYP="1" ATTVALUE="&apos;5ArrowsGray&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_CONDITION_RULE_ICONSET" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="C_ICONSET_5QUARTERS" VERSION="1" LANGU="E" DESCRIPT="Condition rule iconset" EXPOSURE="2" STATE="1" EDITORDER="16 " AUTHOR="FEMIA" CREATEDON="20100710" CHANGEDBY="FEMIA" CHANGEDON="20100710" ATTDECLTYP="1" ATTVALUE="&apos;5Quarters&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_CONDITION_RULE_ICONSET" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="C_ICONSET_5RATING" VERSION="1" LANGU="E" DESCRIPT="Condition rule iconset" EXPOSURE="2" STATE="1" EDITORDER="17 " AUTHOR="FEMIA" CREATEDON="20100710" CHANGEDBY="FEMIA" CHANGEDON="20100710" ATTDECLTYP="1" ATTVALUE="&apos;5Rating&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_CONDITION_RULE_ICONSET" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="C_OPERATOR_BEGINSWITH" VERSION="1" LANGU="E" DESCRIPT="Condition operator" EXPOSURE="2" STATE="1" EDITORDER="18 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100710" ATTDECLTYP="1" ATTVALUE="&apos;beginsWith&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_CONDITION_OPERATOR" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="C_OPERATOR_BETWEEN" VERSION="1" LANGU="E" DESCRIPT="Condition operator" EXPOSURE="2" STATE="1" EDITORDER="19 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100710" ATTDECLTYP="1" ATTVALUE="&apos;between&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_CONDITION_OPERATOR" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="C_OPERATOR_CONTAINSTEXT" VERSION="1" LANGU="E" DESCRIPT="Condition operator" EXPOSURE="2" STATE="1" EDITORDER="20 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100710" ATTDECLTYP="1" ATTVALUE="&apos;containsText&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_CONDITION_OPERATOR" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="C_OPERATOR_ENDSWITH" VERSION="1" LANGU="E" DESCRIPT="Condition operator" EXPOSURE="2" STATE="1" EDITORDER="21 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100710" ATTDECLTYP="1" ATTVALUE="&apos;endsWith&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_CONDITION_OPERATOR" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="C_OPERATOR_EQUAL" VERSION="1" LANGU="E" DESCRIPT="Condition operator" EXPOSURE="2" STATE="1" EDITORDER="22 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100710" ATTDECLTYP="1" ATTVALUE="&apos;equal&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_CONDITION_OPERATOR" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="C_OPERATOR_GREATERTHAN" VERSION="1" LANGU="E" DESCRIPT="Condition operator" EXPOSURE="2" STATE="1" EDITORDER="23 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100710" ATTDECLTYP="1" ATTVALUE="&apos;greaterThan&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_CONDITION_OPERATOR" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="C_OPERATOR_GREATERTHANOREQUAL" VERSION="1" LANGU="E" DESCRIPT="Condition operator" EXPOSURE="2" STATE="1" EDITORDER="24 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100710" ATTDECLTYP="1" ATTVALUE="&apos;greaterThanOrEqual&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_CONDITION_OPERATOR" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="C_OPERATOR_LESSTHAN" VERSION="1" LANGU="E" DESCRIPT="Condition operator" EXPOSURE="2" STATE="1" EDITORDER="25 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100710" ATTDECLTYP="1" ATTVALUE="&apos;lessThan&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_CONDITION_OPERATOR" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="C_OPERATOR_LESSTHANOREQUAL" VERSION="1" LANGU="E" DESCRIPT="Condition operator" EXPOSURE="2" STATE="1" EDITORDER="26 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100710" ATTDECLTYP="1" ATTVALUE="&apos;lessThanOrEqual&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_CONDITION_OPERATOR" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="C_OPERATOR_NONE" VERSION="1" LANGU="E" DESCRIPT="Condition operator" EXPOSURE="2" STATE="1" EDITORDER="27 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100710" ATTDECLTYP="1" ATTVALUE="&apos;&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_CONDITION_OPERATOR" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" 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="28 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100710" ATTDECLTYP="1" ATTVALUE="&apos;notContains&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_CONDITION_OPERATOR" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" 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="29 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100710" ATTDECLTYP="1" ATTVALUE="&apos;notEqual&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_CONDITION_OPERATOR" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" 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="30 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDBY="FEMIA" CHANGEDON="20100710" ATTDECLTYP="1" ATTVALUE="&apos;cellIs&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_CONDITION_RULE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" 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="31 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDBY="FEMIA" CHANGEDON="20100710" ATTDECLTYP="1" ATTVALUE="&apos;containsText&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_CONDITION_RULE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="C_RULE_EXPRESSION" VERSION="1" LANGU="E" DESCRIPT="Condition rule" EXPOSURE="2" STATE="1" EDITORDER="32 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDBY="FEMIA" CHANGEDON="20100710" ATTDECLTYP="1" ATTVALUE="&apos;expression&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_CONDITION_RULE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" 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="33 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDBY="FEMIA" CHANGEDON="20100710" ATTDECLTYP="1" ATTVALUE="&apos;iconSet&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_CONDITION_RULE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" 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="34 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDBY="FEMIA" CHANGEDON="20100710" ATTDECLTYP="1" ATTVALUE="&apos;none&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_CONDITION_RULE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="FORMULA" VERSION="1" LANGU="E" DESCRIPT="Style formula" EXPOSURE="2" STATE="1" EDITORDER="35 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDBY="FEMIA" CHANGEDON="20100710" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_STYLE_FORMULA" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="ICONSET" VERSION="1" LANGU="E" DESCRIPT="Condition rule iconset" EXPOSURE="2" STATE="1" EDITORDER="36 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDBY="FEMIA" CHANGEDON="20100710" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_CONDITION_RULE_ICONSET" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="OPERATOR" VERSION="1" LANGU="E" DESCRIPT="Condition operator" EXPOSURE="2" STATE="1" EDITORDER="37 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100710" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_CONDITION_OPERATOR" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="PRIORITY" VERSION="1" LANGU="E" DESCRIPT="Style Priority" EXPOSURE="2" STATE="1" EDITORDER="38 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDBY="FEMIA" CHANGEDON="20100710" ATTDECLTYP="0" ATTVALUE="1" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_STYLE_PRIORITY" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="RULE" VERSION="1" LANGU="E" DESCRIPT="Condition rule" EXPOSURE="2" STATE="1" EDITORDER="39 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDBY="FEMIA" CHANGEDON="20100710" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_CONDITION_RULE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="START_CELL" VERSION="1" LANGU="E" DESCRIPT="Cell data" EXPOSURE="0" STATE="1" EDITORDER="40 " AUTHOR="FEMIA" CREATEDON="20100710" CHANGEDBY="FEMIA" CHANGEDON="20100710" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_S_CELL_DATA" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="STOP_CELL" VERSION="1" LANGU="E" DESCRIPT="Cell data" EXPOSURE="0" STATE="1" EDITORDER="41 " AUTHOR="FEMIA" CREATEDON="20100710" CHANGEDBY="FEMIA" CHANGEDON="20100710" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_S_CELL_DATA" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" 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 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" MTDTYPE="2" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <source>METHOD constructor.
  rule      = me-&gt;c_rule_none.
  operator  = me-&gt;c_operator_none.
* inizialize dimension range
  stop_cell-cell_row     = 1.
  stop_cell-cell_column  = 1.
  start_cell-cell_row     = 1.
  start_cell-cell_column  = 1.
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 " AUTHOR="FEMIA" CREATEDON="20100709" CHANGEDBY="FEMIA" CHANGEDON="20100709" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" 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 " AUTHOR="FEMIA" CREATEDON="20100709" CHANGEDON="00000000" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="STRING"/>
   <source>METHOD get_dimension_range.
  IF stop_cell EQ start_cell. &quot;only one cell
    ep_dimension_range = start_cell-cell_coords.
  ELSE.
    CONCATENATE start_cell-cell_coords &apos;:&apos; stop_cell-cell_coords INTO ep_dimension_range.
  ENDIF.
ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="SET_RANGE" VERSION="1" LANGU="E" DESCRIPT="Set range used in conditional formatting" EXPOSURE="2" STATE="1" EDITORDER="3 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100709" CHANGEDON="00000000" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="SET_RANGE" SCONAME="IP_START_ROW" VERSION="1" LANGU="E" DESCRIPT="Cell Row" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100710" CHANGEDON="00000000" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_CELL_ROW"/>
   <parameter CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="SET_RANGE" SCONAME="IP_START_COLUMN" VERSION="1" LANGU="E" DESCRIPT="Cell Column" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100710" CHANGEDON="00000000" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_CELL_COLUMN_ALPHA"/>
   <parameter CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="SET_RANGE" SCONAME="IP_STOP_ROW" VERSION="1" LANGU="E" DESCRIPT="Cell Row" CMPTYPE="1" MTDTYPE="0" EDITORDER="3 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100710" CHANGEDON="00000000" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_CELL_ROW"/>
   <parameter CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="SET_RANGE" SCONAME="IP_STOP_COLUMN" VERSION="1" LANGU="E" DESCRIPT="Cell Column" CMPTYPE="1" MTDTYPE="0" EDITORDER="4 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100710" CHANGEDON="00000000" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_CELL_COLUMN_ALPHA"/>
   <source>METHOD set_range.
  DATA: lv_column                 TYPE zexcel_cell_column,
        lv_row_alpha              TYPE string.

  lv_column = zcl_excel_common=&gt;convert_column2int( ip_stop_column ).
  stop_cell-cell_row     = 1.
  stop_cell-cell_column  = lv_column.
  lv_row_alpha = ip_stop_row.
  SHIFT lv_row_alpha RIGHT DELETING TRAILING space.
  SHIFT lv_row_alpha LEFT DELETING LEADING space.
  CONCATENATE ip_stop_column lv_row_alpha INTO stop_cell-cell_coords.

  lv_column = zcl_excel_common=&gt;convert_column2int( ip_start_column ).
  start_cell-cell_row     = 1.
  start_cell-cell_column  = lv_column.
  lv_row_alpha = ip_start_row.
  SHIFT lv_row_alpha RIGHT DELETING TRAILING space.
  SHIFT lv_row_alpha LEFT DELETING LEADING space.
  CONCATENATE ip_start_column lv_row_alpha INTO start_cell-cell_coords.
ENDMETHOD.</source>
  </method>
 </CLAS>
 <CLAS CLSNAME="ZCL_EXCEL_STYLE_FILL" VERSION="1" LANGU="E" DESCRIPT="Font Style" UUID="44C0274C8A345F2DE1000000C0A8FA19" CATEGORY="00" EXPOSURE="2" STATE="1" RELEASE="0" AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" CHGDANYON="00000000" CLSFINAL="X" CLSCCINCL="X" FIXPT="X" UNICODE="X" R3RELEASE="701" CLSBCCAT="00" DURATION_TYPE="0 " RISK_LEVEL="0 ">
  <publicSection>class ZCL_EXCEL_STYLE_FILL definition
  public
  final
  create public .

*&quot;* public components of class ZCL_EXCEL_STYLE_FILL
*&quot;* do not include other source files here!!!
public section.

  class-data C_FILL_NONE type ZEXCEL_FILL_TYPE value &apos;none&apos;. &quot;#EC NOTEXT .
  class-data C_FILL_SOLID type ZEXCEL_FILL_TYPE value &apos;solid&apos;. &quot;#EC NOTEXT .
  class-data C_FILL_GRADIENT_LINEAR type ZEXCEL_FILL_TYPE value &apos;linear&apos;. &quot;#EC NOTEXT .
  class-data C_FILL_GRADIENT_PATH type ZEXCEL_FILL_TYPE value &apos;path&apos;. &quot;#EC NOTEXT .
  class-data C_FILL_PATTERN_DARKDOWN type ZEXCEL_FILL_TYPE value &apos;darkDown&apos;. &quot;#EC NOTEXT .
  class-data C_FILL_PATTERN_DARKGRAY type ZEXCEL_FILL_TYPE value &apos;darkGray&apos;. &quot;#EC NOTEXT .
  class-data C_FILL_PATTERN_DARKGRID type ZEXCEL_FILL_TYPE value &apos;darkGrid&apos;. &quot;#EC NOTEXT .
  class-data C_FILL_PATTERN_DARKHORIZONTAL type ZEXCEL_FILL_TYPE value &apos;darkHorizontal&apos;. &quot;#EC NOTEXT .
  class-data C_FILL_PATTERN_DARKTRELLIS type ZEXCEL_FILL_TYPE value &apos;darkTrellis&apos;. &quot;#EC NOTEXT .
  class-data C_FILL_PATTERN_DARKUP type ZEXCEL_FILL_TYPE value &apos;darkUp&apos;. &quot;#EC NOTEXT .
  class-data C_FILL_PATTERN_DARKVERTICAL type ZEXCEL_FILL_TYPE value &apos;darkVertical&apos;. &quot;#EC NOTEXT .
  class-data C_FILL_PATTERN_GRAY0625 type ZEXCEL_FILL_TYPE value &apos;gray0625&apos;. &quot;#EC NOTEXT .
  class-data C_FILL_PATTERN_GRAY125 type ZEXCEL_FILL_TYPE value &apos;gray125&apos;. &quot;#EC NOTEXT .
  class-data C_FILL_PATTERN_LIGHTDOWN type ZEXCEL_FILL_TYPE value &apos;lightDown&apos;. &quot;#EC NOTEXT .
  class-data C_FILL_PATTERN_LIGHTGRAY type ZEXCEL_FILL_TYPE value &apos;lightGray&apos;. &quot;#EC NOTEXT .
  class-data C_FILL_PATTERN_LIGHTGRID type ZEXCEL_FILL_TYPE value &apos;lightGrid&apos;. &quot;#EC NOTEXT .
  class-data C_FILL_PATTERN_LIGHTHORIZONTAL type ZEXCEL_FILL_TYPE value &apos;lightHorizontal&apos;. &quot;#EC NOTEXT .
  class-data C_FILL_PATTERN_LIGHTTRELLIS type ZEXCEL_FILL_TYPE value &apos;lightTrellis&apos;. &quot;#EC NOTEXT .
  class-data C_FILL_PATTERN_LIGHTUP type ZEXCEL_FILL_TYPE value &apos;lightUp&apos;. &quot;#EC NOTEXT .
  class-data C_FILL_PATTERN_LIGHTVERTICAL type ZEXCEL_FILL_TYPE value &apos;lightVertical&apos;. &quot;#EC NOTEXT .
  class-data C_FILL_PATTERN_MEDIUMGRAY type ZEXCEL_FILL_TYPE value &apos;mediumGray&apos;. &quot;#EC NOTEXT .
  data FILLTYPE type ZEXCEL_FILL_TYPE .
  data ROTATION type ZEXCEL_ROTATION .
  data FGCOLOR type ZEXCEL_STYLE_COLOR_ARGB .
  data BGCOLOR type ZEXCEL_STYLE_COLOR_ARGB value &apos;64&apos;. &quot;#EC NOTEXT .

  methods CONSTRUCTOR .
  methods GET_STRUCTURE
    returning
      value(ES_FILL) type ZEXCEL_S_STYLE_FILL .</publicSection>
  <protectedSection>*&quot;* protected components of class ZABAP_EXCEL_STYLE_FONT
*&quot;* do not include other source files here!!!
protected section.</protectedSection>
  <privateSection>*&quot;* private components of class ZCL_EXCEL_STYLE_FILL
*&quot;* do not include other source files here!!!
private section.</privateSection>
  <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>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_FILL" CMPNAME="BGCOLOR" VERSION="1" LANGU="E" DESCRIPT="Color ARGB" EXPOSURE="2" STATE="1" EDITORDER="25 " AUTHOR="FEMIA" CREATEDON="20100705" CHANGEDBY="FEMIA" CHANGEDON="20100706" ATTDECLTYP="0" ATTVALUE="&apos;64&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_STYLE_COLOR_ARGB" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_FILL" CMPNAME="C_FILL_GRADIENT_LINEAR" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="3 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100705" ATTDECLTYP="1" ATTVALUE="&apos;linear&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_FILL_TYPE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_FILL" CMPNAME="C_FILL_GRADIENT_PATH" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="4 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100705" ATTDECLTYP="1" ATTVALUE="&apos;path&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_FILL_TYPE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_FILL" CMPNAME="C_FILL_NONE" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="1 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100705" ATTDECLTYP="1" ATTVALUE="&apos;none&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_FILL_TYPE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_FILL" CMPNAME="C_FILL_PATTERN_DARKDOWN" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="5 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100705" ATTDECLTYP="1" ATTVALUE="&apos;darkDown&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_FILL_TYPE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_FILL" CMPNAME="C_FILL_PATTERN_DARKGRAY" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="6 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100705" ATTDECLTYP="1" ATTVALUE="&apos;darkGray&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_FILL_TYPE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_FILL" CMPNAME="C_FILL_PATTERN_DARKGRID" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="7 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100705" ATTDECLTYP="1" ATTVALUE="&apos;darkGrid&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_FILL_TYPE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_FILL" CMPNAME="C_FILL_PATTERN_DARKHORIZONTAL" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="8 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100705" ATTDECLTYP="1" ATTVALUE="&apos;darkHorizontal&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_FILL_TYPE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_FILL" CMPNAME="C_FILL_PATTERN_DARKTRELLIS" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="9 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100705" ATTDECLTYP="1" ATTVALUE="&apos;darkTrellis&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_FILL_TYPE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_FILL" CMPNAME="C_FILL_PATTERN_DARKUP" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="10 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100705" ATTDECLTYP="1" ATTVALUE="&apos;darkUp&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_FILL_TYPE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_FILL" CMPNAME="C_FILL_PATTERN_DARKVERTICAL" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="11 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100705" ATTDECLTYP="1" ATTVALUE="&apos;darkVertical&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_FILL_TYPE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_FILL" CMPNAME="C_FILL_PATTERN_GRAY0625" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="12 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100705" ATTDECLTYP="1" ATTVALUE="&apos;gray0625&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_FILL_TYPE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_FILL" CMPNAME="C_FILL_PATTERN_GRAY125" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="13 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100705" ATTDECLTYP="1" ATTVALUE="&apos;gray125&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_FILL_TYPE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_FILL" CMPNAME="C_FILL_PATTERN_LIGHTDOWN" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="14 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100705" ATTDECLTYP="1" ATTVALUE="&apos;lightDown&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_FILL_TYPE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_FILL" CMPNAME="C_FILL_PATTERN_LIGHTGRAY" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="15 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100705" ATTDECLTYP="1" ATTVALUE="&apos;lightGray&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_FILL_TYPE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_FILL" CMPNAME="C_FILL_PATTERN_LIGHTGRID" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="16 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100705" ATTDECLTYP="1" ATTVALUE="&apos;lightGrid&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_FILL_TYPE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_FILL" CMPNAME="C_FILL_PATTERN_LIGHTHORIZONTAL" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="17 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100705" ATTDECLTYP="1" ATTVALUE="&apos;lightHorizontal&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_FILL_TYPE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_FILL" CMPNAME="C_FILL_PATTERN_LIGHTTRELLIS" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="18 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100705" ATTDECLTYP="1" ATTVALUE="&apos;lightTrellis&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_FILL_TYPE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_FILL" CMPNAME="C_FILL_PATTERN_LIGHTUP" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="19 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100705" ATTDECLTYP="1" ATTVALUE="&apos;lightUp&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_FILL_TYPE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_FILL" CMPNAME="C_FILL_PATTERN_LIGHTVERTICAL" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="20 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100705" ATTDECLTYP="1" ATTVALUE="&apos;lightVertical&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_FILL_TYPE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_FILL" CMPNAME="C_FILL_PATTERN_MEDIUMGRAY" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="21 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100705" ATTDECLTYP="1" ATTVALUE="&apos;mediumGray&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_FILL_TYPE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_FILL" CMPNAME="C_FILL_SOLID" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="2 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100705" ATTDECLTYP="1" ATTVALUE="&apos;solid&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_FILL_TYPE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_FILL" CMPNAME="FGCOLOR" VERSION="1" LANGU="E" DESCRIPT="Color ARGB" EXPOSURE="2" STATE="1" EDITORDER="24 " AUTHOR="FEMIA" CREATEDON="20100705" CHANGEDON="00000000" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_STYLE_COLOR_ARGB" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_FILL" CMPNAME="FILLTYPE" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="22 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_FILL_TYPE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_FILL" CMPNAME="ROTATION" VERSION="1" LANGU="E" DESCRIPT="Rotation" EXPOSURE="2" STATE="1" EDITORDER="23 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_ROTATION" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <method CLSNAME="ZCL_EXCEL_STYLE_FILL" CMPNAME="CONSTRUCTOR" VERSION="1" LANGU="E" DESCRIPT="CONSTRUCTOR" EXPOSURE="2" STATE="1" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" MTDTYPE="2" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <source>METHOD constructor.
  filltype = zcl_excel_style_fill=&gt;c_fill_none.
  rotation = 0.
ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_STYLE_FILL" CMPNAME="GET_STRUCTURE" VERSION="1" LANGU="E" DESCRIPT="Get structure" EXPOSURE="2" STATE="1" EDITORDER="2 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100704" CHANGEDON="00000000" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_STYLE_FILL" CMPNAME="GET_STRUCTURE" SCONAME="ES_FILL" VERSION="1" LANGU="E" DESCRIPT="Cell Fill" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100704" CHANGEDON="00000000" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="ZEXCEL_S_STYLE_FILL"/>
   <source>METHOD get_structure.
  es_fill-rotation  = me-&gt;rotation.
  es_fill-filltype  = me-&gt;filltype.
  es_fill-fgColor   = me-&gt;fgColor.
  es_fill-bgColor   = me-&gt;bgColor.
ENDMETHOD.</source>
  </method>
 </CLAS>
 <CLAS CLSNAME="ZCL_EXCEL_STYLE_FONT" VERSION="1" LANGU="E" DESCRIPT="Font Style" UUID="5BC0274C8A345F2DE1000000C0A8FA19" CATEGORY="00" EXPOSURE="2" STATE="1" RELEASE="0" AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" CHGDANYON="00000000" CLSFINAL="X" CLSCCINCL="X" FIXPT="X" UNICODE="X" R3RELEASE="701" CLSBCCAT="00" DURATION_TYPE="0 " RISK_LEVEL="0 ">
  <publicSection>class ZCL_EXCEL_STYLE_FONT definition
  public
  final
  create public .

*&quot;* public components of class ZCL_EXCEL_STYLE_FONT
*&quot;* do not include other source files here!!!
public section.
  type-pools ABAP .

  data BOLD type FLAG .
  data COLOR type ZEXCEL_STYLE_COLOR_ARGB .
  class-data C_SCHEME_MAJOR type ZEXCEL_STYLE_FONT_SCHEME value &apos;major&apos;. &quot;#EC NOTEXT .
  class-data C_SCHEME_MINOR type ZEXCEL_STYLE_FONT_SCHEME value &apos;minor&apos;. &quot;#EC NOTEXT .
  class-data C_UNDERLINE_DOUBLE type CHAR20 value &apos;double&apos;. &quot;#EC NOTEXT .
  class-data C_UNDERLINE_DOUBLEACCOUNTING type CHAR20 value &apos;doubleAccounting&apos;. &quot;#EC NOTEXT .
  class-data C_UNDERLINE_NONE type CHAR20 value &apos;none&apos;. &quot;#EC NOTEXT .
  class-data C_UNDERLINE_SINGLE type CHAR20 value &apos;single&apos;. &quot;#EC NOTEXT .
  class-data C_UNDERLINE_SINGLEACCOUNTING type CHAR20 value &apos;singleAccounting&apos;. &quot;#EC NOTEXT .
  data FAMILY type INT1 value 2. &quot;#EC NOTEXT .
  data ITALIC type FLAG .
  data NAME type CHAR255 value &apos;Calibri&apos;. &quot;#EC NOTEXT .
  data SCHEME type ZEXCEL_STYLE_FONT_SCHEME .
  data SIZE type INT1 value 11. &quot;#EC NOTEXT .
  data STRIKETHROUGH type FLAG .
  data UNDERLINE type FLAG .
  data UNDERLINE_MODE type CHAR20 .

  methods CONSTRUCTOR .
  methods GET_STRUCTURE
    returning
      value(ES_FONT) type ZEXCEL_S_STYLE_FONT .</publicSection>
  <protectedSection>*&quot;* protected components of class ZABAP_EXCEL_STYLE_FONT
*&quot;* do not include other source files here!!!
protected section.</protectedSection>
  <privateSection>*&quot;* private components of class ZCL_EXCEL_STYLE_FONT
*&quot;* do not include other source files here!!!
private section.</privateSection>
  <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_STYLE_FONT" TYPEGROUP="ABAP" VERSION="1" TPUTYPE="0" EXPLICIT="X"/>
  <forwardDeclaration>ABAP</forwardDeclaration>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_FONT" CMPNAME="BOLD" VERSION="1" LANGU="E" DESCRIPT="Bold" EXPOSURE="2" STATE="1" EDITORDER="1 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100704" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="FLAG" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_FONT" CMPNAME="COLOR" VERSION="1" LANGU="E" DESCRIPT="Color ARGB" EXPOSURE="2" STATE="1" EDITORDER="2 " AUTHOR="FEMIA" CREATEDON="20100704" CHANGEDBY="FEMIA" CHANGEDON="20100705" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_STYLE_COLOR_ARGB" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_FONT" CMPNAME="C_SCHEME_MAJOR" VERSION="1" LANGU="E" DESCRIPT="Char255" EXPOSURE="2" STATE="1" EDITORDER="3 " AUTHOR="FEMIA" CREATEDON="20100704" CHANGEDBY="FEMIA" CHANGEDON="20100705" ATTDECLTYP="1" ATTVALUE="&apos;major&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_STYLE_FONT_SCHEME" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_FONT" CMPNAME="C_SCHEME_MINOR" VERSION="1" LANGU="E" DESCRIPT="Char255" EXPOSURE="2" STATE="1" EDITORDER="4 " AUTHOR="FEMIA" CREATEDON="20100704" CHANGEDBY="FEMIA" CHANGEDON="20100705" ATTDECLTYP="1" ATTVALUE="&apos;minor&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_STYLE_FONT_SCHEME" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_FONT" CMPNAME="C_UNDERLINE_DOUBLE" VERSION="1" LANGU="E" EXPOSURE="2" STATE="1" EDITORDER="5 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100705" ATTDECLTYP="1" ATTVALUE="&apos;double&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="CHAR20" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_FONT" CMPNAME="C_UNDERLINE_DOUBLEACCOUNTING" VERSION="1" LANGU="E" EXPOSURE="2" STATE="1" EDITORDER="6 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100705" ATTDECLTYP="1" ATTVALUE="&apos;doubleAccounting&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="CHAR20" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_FONT" CMPNAME="C_UNDERLINE_NONE" VERSION="1" LANGU="E" EXPOSURE="2" STATE="1" EDITORDER="7 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100705" ATTDECLTYP="1" ATTVALUE="&apos;none&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="CHAR20" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_FONT" CMPNAME="C_UNDERLINE_SINGLE" VERSION="1" LANGU="E" EXPOSURE="2" STATE="1" EDITORDER="8 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100705" ATTDECLTYP="1" ATTVALUE="&apos;single&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="CHAR20" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_FONT" CMPNAME="C_UNDERLINE_SINGLEACCOUNTING" VERSION="1" LANGU="E" EXPOSURE="2" STATE="1" EDITORDER="9 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100705" ATTDECLTYP="1" ATTVALUE="&apos;singleAccounting&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="CHAR20" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_FONT" CMPNAME="FAMILY" VERSION="1" LANGU="E" DESCRIPT="Family code" EXPOSURE="2" STATE="1" EDITORDER="10 " AUTHOR="FEMIA" CREATEDON="20100704" CHANGEDBY="FEMIA" CHANGEDON="20100705" ATTDECLTYP="0" ATTVALUE="2" ATTEXPVIRT="0" TYPTYPE="1" TYPE="INT1" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_FONT" CMPNAME="ITALIC" VERSION="1" LANGU="E" DESCRIPT="Italic" EXPOSURE="2" STATE="1" EDITORDER="11 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100704" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="FLAG" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_FONT" CMPNAME="NAME" VERSION="1" LANGU="E" DESCRIPT="Name" EXPOSURE="2" STATE="1" EDITORDER="12 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100704" ATTDECLTYP="0" ATTVALUE="&apos;Calibri&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="CHAR255" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_FONT" CMPNAME="SCHEME" VERSION="1" LANGU="E" DESCRIPT="Scheme code" EXPOSURE="2" STATE="1" EDITORDER="13 " AUTHOR="FEMIA" CREATEDON="20100704" CHANGEDBY="FEMIA" CHANGEDON="20100704" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_STYLE_FONT_SCHEME" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_FONT" CMPNAME="SIZE" VERSION="1" LANGU="E" DESCRIPT="Size" EXPOSURE="2" STATE="1" EDITORDER="14 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100704" ATTDECLTYP="0" ATTVALUE="11" ATTEXPVIRT="0" TYPTYPE="1" TYPE="INT1" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_FONT" CMPNAME="STRIKETHROUGH" VERSION="1" LANGU="E" DESCRIPT="Strikethrough" EXPOSURE="2" STATE="1" EDITORDER="15 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100704" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="FLAG" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_FONT" CMPNAME="UNDERLINE" VERSION="1" LANGU="E" DESCRIPT="Underline" EXPOSURE="2" STATE="1" EDITORDER="16 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100704" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="FLAG" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_FONT" CMPNAME="UNDERLINE_MODE" VERSION="1" LANGU="E" DESCRIPT="Underline mode" EXPOSURE="2" STATE="1" EDITORDER="17 " AUTHOR="FEMIA" CREATEDON="20100705" CHANGEDON="00000000" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="CHAR20" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <method CLSNAME="ZCL_EXCEL_STYLE_FONT" CMPNAME="CONSTRUCTOR" VERSION="1" LANGU="E" DESCRIPT="CONSTRUCTOR" EXPOSURE="2" STATE="1" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" MTDTYPE="2" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <source>METHOD constructor.


  me-&gt;color           = zcl_excel_style_color=&gt;c_black.
  me-&gt;scheme          = zcl_excel_style_font=&gt;c_scheme_minor.
  me-&gt;underline_mode  = zcl_excel_style_font=&gt;c_underline_single.
ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_STYLE_FONT" CMPNAME="GET_STRUCTURE" VERSION="1" LANGU="E" DESCRIPT="Get class as a structure" EXPOSURE="2" STATE="1" EDITORDER="2 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100704" CHANGEDON="00000000" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_STYLE_FONT" CMPNAME="GET_STRUCTURE" SCONAME="ES_FONT" VERSION="1" LANGU="E" DESCRIPT="Cell Font" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100704" CHANGEDON="00000000" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="ZEXCEL_S_STYLE_FONT"/>
   <source>METHOD get_structure.


  es_font-bold            = me-&gt;bold.
  es_font-italic          = me-&gt;italic.
  es_font-underline       = me-&gt;underline.
  es_font-underline_mode  = me-&gt;underline_mode.
  es_font-strikethrough   = me-&gt;strikethrough.
  es_font-size            = me-&gt;size.
  es_font-color           = me-&gt;color.
  es_font-name            = me-&gt;name.
  es_font-family          = me-&gt;family.
  es_font-scheme          = me-&gt;scheme.

ENDMETHOD.</source>
  </method>
 </CLAS>
 <CLAS CLSNAME="ZCL_EXCEL_STYLE_NUMBER_FORMAT" VERSION="1" LANGU="E" DESCRIPT="Font Style" UUID="7FC0274C8A345F2DE1000000C0A8FA19" CATEGORY="00" EXPOSURE="2" STATE="1" RELEASE="0" AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" CHGDANYON="00000000" CLSFINAL="X" CLSCCINCL="X" FIXPT="X" UNICODE="X" R3RELEASE="701" CLSBCCAT="00" DURATION_TYPE="0 " RISK_LEVEL="0 ">
  <publicSection>class ZCL_EXCEL_STYLE_NUMBER_FORMAT definition
  public
  final
  create public .

*&quot;* public components of class ZCL_EXCEL_STYLE_NUMBER_FORMAT
*&quot;* do not include other source files here!!!
public section.

  class-data C_FORMAT_NUMBER type ZEXCEL_NUMBER_FORMAT value &apos;0&apos;. &quot;#EC NOTEXT .
  class-data C_FORMAT_NUMBER_00 type ZEXCEL_NUMBER_FORMAT value &apos;0.00&apos;. &quot;#EC NOTEXT .
  class-data C_FORMAT_NUMBER_COMMA_SEP1 type ZEXCEL_NUMBER_FORMAT value &apos;#,##0.00&apos;. &quot;#EC NOTEXT .
  class-data C_FORMAT_NUMBER_COMMA_SEP2 type ZEXCEL_NUMBER_FORMAT value &apos;#,##0.00_-&apos;. &quot;#EC NOTEXT .
  class-data C_FORMAT_PERCENTAGE type ZEXCEL_NUMBER_FORMAT value &apos;0%&apos;. &quot;#EC NOTEXT .
  class-data C_FORMAT_PERCENTAGE_00 type ZEXCEL_NUMBER_FORMAT value &apos;0.00%&apos;. &quot;#EC NOTEXT .
  class-data C_FORMAT_DATE_YYYYMMDD2 type ZEXCEL_NUMBER_FORMAT value &apos;yyyy-mm-dd&apos;. &quot;#EC NOTEXT .
  class-data C_FORMAT_DATE_YYYYMMDD type ZEXCEL_NUMBER_FORMAT value &apos;yy-mm-dd&apos;. &quot;#EC NOTEXT .
  class-data C_FORMAT_DATE_DDMMYYYY type ZEXCEL_NUMBER_FORMAT value &apos;dd/mm/yy&apos;. &quot;#EC NOTEXT .
  class-data C_FORMAT_DATE_DMYSLASH type ZEXCEL_NUMBER_FORMAT value &apos;d/m/y&apos;. &quot;#EC NOTEXT .
  class-data C_FORMAT_DATE_DMYMINUS type ZEXCEL_NUMBER_FORMAT value &apos;d-m-y&apos;. &quot;#EC NOTEXT .
  class-data C_FORMAT_DATE_DMMINUS type ZEXCEL_NUMBER_FORMAT value &apos;d-m&apos;. &quot;#EC NOTEXT .
  class-data C_FORMAT_DATE_MYMINUS type ZEXCEL_NUMBER_FORMAT value &apos;m-y&apos;. &quot;#EC NOTEXT .
  class-data C_FORMAT_DATE_XLSX14 type ZEXCEL_NUMBER_FORMAT value &apos;mm-dd-yy&apos;. &quot;#EC NOTEXT .
  class-data C_FORMAT_DATE_XLSX15 type ZEXCEL_NUMBER_FORMAT value &apos;d-mmm-yy&apos;. &quot;#EC NOTEXT .
  class-data C_FORMAT_DATE_XLSX16 type ZEXCEL_NUMBER_FORMAT value &apos;d-mmm&apos;. &quot;#EC NOTEXT .
  class-data C_FORMAT_DATE_XLSX17 type ZEXCEL_NUMBER_FORMAT value &apos;mmm-yy&apos;. &quot;#EC NOTEXT .
  class-data C_FORMAT_DATE_XLSX22 type ZEXCEL_NUMBER_FORMAT value &apos;m/d/yy h:mm&apos;. &quot;#EC NOTEXT .
  class-data C_FORMAT_DATE_DATETIME type ZEXCEL_NUMBER_FORMAT value &apos;d/m/y h:mm&apos;. &quot;#EC NOTEXT .
  class-data C_FORMAT_DATE_TIME1 type ZEXCEL_NUMBER_FORMAT value &apos;h:mm AM/PM&apos;. &quot;#EC NOTEXT .
  class-data C_FORMAT_DATE_TIME2 type ZEXCEL_NUMBER_FORMAT value &apos;h:mm:ss AM/PM&apos;. &quot;#EC NOTEXT .
  class-data C_FORMAT_DATE_TIME3 type ZEXCEL_NUMBER_FORMAT value &apos;h:mm&apos;. &quot;#EC NOTEXT .
  class-data C_FORMAT_DATE_TIME4 type ZEXCEL_NUMBER_FORMAT value &apos;h:mm:ss&apos;. &quot;#EC NOTEXT .
  class-data C_FORMAT_DATE_TIME5 type ZEXCEL_NUMBER_FORMAT value &apos;mm:ss&apos;. &quot;#EC NOTEXT .
  class-data C_FORMAT_DATE_TIME6 type ZEXCEL_NUMBER_FORMAT value &apos;h:mm:ss&apos;. &quot;#EC NOTEXT .
  class-data C_FORMAT_DATE_TIME7 type ZEXCEL_NUMBER_FORMAT value &apos;i:s.S&apos;. &quot;#EC NOTEXT .
  class-data C_FORMAT_DATE_TIME8 type ZEXCEL_NUMBER_FORMAT value &apos;h:mm:ss@&apos;. &quot;#EC NOTEXT .
  class-data C_FORMAT_DATE_YYYYMMDDSLASH type ZEXCEL_NUMBER_FORMAT value &apos;yy/mm/dd@&apos;. &quot;#EC NOTEXT .
  class-data C_FORMAT_CURRENCY_USD_SIMPLE type ZEXCEL_NUMBER_FORMAT value &apos;&quot;$&quot;#,##0.00_-&apos;. &quot;#EC NOTEXT .
  class-data C_FORMAT_CURRENCY_USD type ZEXCEL_NUMBER_FORMAT value &apos;$#,##0_-&apos;. &quot;#EC NOTEXT .
  class-data C_FORMAT_CURRENCY_EUR_SIMPLE type ZEXCEL_NUMBER_FORMAT value &apos;[$EUR ]#,##0.00_-&apos;. &quot;#EC NOTEXT .
  data FORMAT_CODE type ZEXCEL_NUMBER_FORMAT .

  methods CONSTRUCTOR .
  methods GET_STRUCTURE
    returning
      value(EP_NUMBER_FORMAT) type ZEXCEL_NUMBER_FORMAT .</publicSection>
  <protectedSection>*&quot;* protected components of class ZABAP_EXCEL_STYLE_FONT
*&quot;* do not include other source files here!!!
protected section.</protectedSection>
  <privateSection>*&quot;* private components of class ZCL_EXCEL_STYLE_NUMBER_FORMAT
*&quot;* do not include other source files here!!!
private section.

  class-data C_FORMAT_GENERAL type ZEXCEL_NUMBER_FORMAT value &apos;&apos;. &quot;#EC NOTEXT .
  class-data C_FORMAT_TEXT type ZEXCEL_NUMBER_FORMAT value &apos;@&apos;. &quot;#EC NOTEXT .</privateSection>
  <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>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_NUMBER_FORMAT" CMPNAME="C_FORMAT_CURRENCY_EUR_SIMPLE" VERSION="1" LANGU="E" DESCRIPT="Number format" EXPOSURE="2" STATE="1" EDITORDER="33 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100708" ATTDECLTYP="1" ATTVALUE="&apos;[$EUR ]#,##0.00_-&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_NUMBER_FORMAT" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_NUMBER_FORMAT" CMPNAME="C_FORMAT_CURRENCY_USD" VERSION="1" LANGU="E" DESCRIPT="Number format" EXPOSURE="2" STATE="1" EDITORDER="32 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100708" ATTDECLTYP="1" ATTVALUE="&apos;$#,##0_-&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_NUMBER_FORMAT" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_NUMBER_FORMAT" CMPNAME="C_FORMAT_CURRENCY_USD_SIMPLE" VERSION="1" LANGU="E" DESCRIPT="Number format" EXPOSURE="2" STATE="1" EDITORDER="31 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100708" ATTDECLTYP="1" ATTVALUE="&apos;&quot;$&quot;#,##0.00_-&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_NUMBER_FORMAT" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_NUMBER_FORMAT" CMPNAME="C_FORMAT_DATE_DATETIME" VERSION="1" LANGU="E" DESCRIPT="Number format" EXPOSURE="2" STATE="1" EDITORDER="21 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100708" ATTDECLTYP="1" ATTVALUE="&apos;d/m/y h:mm&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_NUMBER_FORMAT" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_NUMBER_FORMAT" CMPNAME="C_FORMAT_DATE_DDMMYYYY" VERSION="1" LANGU="E" DESCRIPT="Number format" EXPOSURE="2" STATE="1" EDITORDER="11 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100708" ATTDECLTYP="1" ATTVALUE="&apos;dd/mm/yy&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_NUMBER_FORMAT" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_NUMBER_FORMAT" CMPNAME="C_FORMAT_DATE_DMMINUS" VERSION="1" LANGU="E" DESCRIPT="Number format" EXPOSURE="2" STATE="1" EDITORDER="14 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100708" ATTDECLTYP="1" ATTVALUE="&apos;d-m&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_NUMBER_FORMAT" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_NUMBER_FORMAT" CMPNAME="C_FORMAT_DATE_DMYMINUS" VERSION="1" LANGU="E" DESCRIPT="Number format" EXPOSURE="2" STATE="1" EDITORDER="13 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100708" ATTDECLTYP="1" ATTVALUE="&apos;d-m-y&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_NUMBER_FORMAT" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_NUMBER_FORMAT" CMPNAME="C_FORMAT_DATE_DMYSLASH" VERSION="1" LANGU="E" DESCRIPT="Number format" EXPOSURE="2" STATE="1" EDITORDER="12 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100708" ATTDECLTYP="1" ATTVALUE="&apos;d/m/y&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_NUMBER_FORMAT" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_NUMBER_FORMAT" CMPNAME="C_FORMAT_DATE_MYMINUS" VERSION="1" LANGU="E" DESCRIPT="Number format" EXPOSURE="2" STATE="1" EDITORDER="15 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100708" ATTDECLTYP="1" ATTVALUE="&apos;m-y&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_NUMBER_FORMAT" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_NUMBER_FORMAT" CMPNAME="C_FORMAT_DATE_TIME1" VERSION="1" LANGU="E" DESCRIPT="Number format" EXPOSURE="2" STATE="1" EDITORDER="22 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100708" ATTDECLTYP="1" ATTVALUE="&apos;h:mm AM/PM&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_NUMBER_FORMAT" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_NUMBER_FORMAT" CMPNAME="C_FORMAT_DATE_TIME2" VERSION="1" LANGU="E" DESCRIPT="Number format" EXPOSURE="2" STATE="1" EDITORDER="23 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100708" ATTDECLTYP="1" ATTVALUE="&apos;h:mm:ss AM/PM&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_NUMBER_FORMAT" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_NUMBER_FORMAT" CMPNAME="C_FORMAT_DATE_TIME3" VERSION="1" LANGU="E" DESCRIPT="Number format" EXPOSURE="2" STATE="1" EDITORDER="24 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100708" ATTDECLTYP="1" ATTVALUE="&apos;h:mm&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_NUMBER_FORMAT" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_NUMBER_FORMAT" CMPNAME="C_FORMAT_DATE_TIME4" VERSION="1" LANGU="E" DESCRIPT="Number format" EXPOSURE="2" STATE="1" EDITORDER="25 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100708" ATTDECLTYP="1" ATTVALUE="&apos;h:mm:ss&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_NUMBER_FORMAT" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_NUMBER_FORMAT" CMPNAME="C_FORMAT_DATE_TIME5" VERSION="1" LANGU="E" DESCRIPT="Number format" EXPOSURE="2" STATE="1" EDITORDER="26 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100708" ATTDECLTYP="1" ATTVALUE="&apos;mm:ss&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_NUMBER_FORMAT" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_NUMBER_FORMAT" CMPNAME="C_FORMAT_DATE_TIME6" VERSION="1" LANGU="E" DESCRIPT="Number format" EXPOSURE="2" STATE="1" EDITORDER="27 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100708" ATTDECLTYP="1" ATTVALUE="&apos;h:mm:ss&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_NUMBER_FORMAT" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_NUMBER_FORMAT" CMPNAME="C_FORMAT_DATE_TIME7" VERSION="1" LANGU="E" DESCRIPT="Number format" EXPOSURE="2" STATE="1" EDITORDER="28 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100708" ATTDECLTYP="1" ATTVALUE="&apos;i:s.S&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_NUMBER_FORMAT" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_NUMBER_FORMAT" CMPNAME="C_FORMAT_DATE_TIME8" VERSION="1" LANGU="E" DESCRIPT="Number format" EXPOSURE="2" STATE="1" EDITORDER="29 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100708" ATTDECLTYP="1" ATTVALUE="&apos;h:mm:ss@&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_NUMBER_FORMAT" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_NUMBER_FORMAT" CMPNAME="C_FORMAT_DATE_XLSX14" VERSION="1" LANGU="E" DESCRIPT="Number format" EXPOSURE="2" STATE="1" EDITORDER="16 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100708" ATTDECLTYP="1" ATTVALUE="&apos;mm-dd-yy&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_NUMBER_FORMAT" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_NUMBER_FORMAT" CMPNAME="C_FORMAT_DATE_XLSX15" VERSION="1" LANGU="E" DESCRIPT="Number format" EXPOSURE="2" STATE="1" EDITORDER="17 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100708" ATTDECLTYP="1" ATTVALUE="&apos;d-mmm-yy&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_NUMBER_FORMAT" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_NUMBER_FORMAT" CMPNAME="C_FORMAT_DATE_XLSX16" VERSION="1" LANGU="E" DESCRIPT="Number format" EXPOSURE="2" STATE="1" EDITORDER="18 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100708" ATTDECLTYP="1" ATTVALUE="&apos;d-mmm&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_NUMBER_FORMAT" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_NUMBER_FORMAT" CMPNAME="C_FORMAT_DATE_XLSX17" VERSION="1" LANGU="E" DESCRIPT="Number format" EXPOSURE="2" STATE="1" EDITORDER="19 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100708" ATTDECLTYP="1" ATTVALUE="&apos;mmm-yy&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_NUMBER_FORMAT" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_NUMBER_FORMAT" CMPNAME="C_FORMAT_DATE_XLSX22" VERSION="1" LANGU="E" DESCRIPT="Number format" EXPOSURE="2" STATE="1" EDITORDER="20 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100708" ATTDECLTYP="1" ATTVALUE="&apos;m/d/yy h:mm&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_NUMBER_FORMAT" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_NUMBER_FORMAT" CMPNAME="C_FORMAT_DATE_YYYYMMDD" VERSION="1" LANGU="E" DESCRIPT="Number format" EXPOSURE="2" STATE="1" EDITORDER="10 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100708" ATTDECLTYP="1" ATTVALUE="&apos;yy-mm-dd&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_NUMBER_FORMAT" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_NUMBER_FORMAT" CMPNAME="C_FORMAT_DATE_YYYYMMDD2" VERSION="1" LANGU="E" DESCRIPT="Number format" EXPOSURE="2" STATE="1" EDITORDER="9 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100708" ATTDECLTYP="1" ATTVALUE="&apos;yyyy-mm-dd&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_NUMBER_FORMAT" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_NUMBER_FORMAT" CMPNAME="C_FORMAT_DATE_YYYYMMDDSLASH" VERSION="1" LANGU="E" DESCRIPT="Number format" EXPOSURE="2" STATE="1" EDITORDER="30 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100708" ATTDECLTYP="1" ATTVALUE="&apos;yy/mm/dd@&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_NUMBER_FORMAT" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_NUMBER_FORMAT" CMPNAME="C_FORMAT_GENERAL" VERSION="1" LANGU="E" DESCRIPT="Number format" EXPOSURE="0" STATE="1" EDITORDER="1 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100708" ATTDECLTYP="1" ATTVALUE="&apos;&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_NUMBER_FORMAT" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_NUMBER_FORMAT" CMPNAME="C_FORMAT_NUMBER" VERSION="1" LANGU="E" DESCRIPT="Number format" EXPOSURE="2" STATE="1" EDITORDER="3 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100708" ATTDECLTYP="1" ATTVALUE="&apos;0&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_NUMBER_FORMAT" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_NUMBER_FORMAT" CMPNAME="C_FORMAT_NUMBER_00" VERSION="1" LANGU="E" DESCRIPT="Number format" EXPOSURE="2" STATE="1" EDITORDER="4 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100708" ATTDECLTYP="1" ATTVALUE="&apos;0.00&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_NUMBER_FORMAT" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_NUMBER_FORMAT" CMPNAME="C_FORMAT_NUMBER_COMMA_SEP1" VERSION="1" LANGU="E" DESCRIPT="Number format" EXPOSURE="2" STATE="1" EDITORDER="5 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100708" ATTDECLTYP="1" ATTVALUE="&apos;#,##0.00&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_NUMBER_FORMAT" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_NUMBER_FORMAT" CMPNAME="C_FORMAT_NUMBER_COMMA_SEP2" VERSION="1" LANGU="E" DESCRIPT="Number format" EXPOSURE="2" STATE="1" EDITORDER="6 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100708" ATTDECLTYP="1" ATTVALUE="&apos;#,##0.00_-&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_NUMBER_FORMAT" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_NUMBER_FORMAT" CMPNAME="C_FORMAT_PERCENTAGE" VERSION="1" LANGU="E" DESCRIPT="Number format" EXPOSURE="2" STATE="1" EDITORDER="7 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100708" ATTDECLTYP="1" ATTVALUE="&apos;0%&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_NUMBER_FORMAT" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_NUMBER_FORMAT" CMPNAME="C_FORMAT_PERCENTAGE_00" VERSION="1" LANGU="E" DESCRIPT="Number format" EXPOSURE="2" STATE="1" EDITORDER="8 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100708" ATTDECLTYP="1" ATTVALUE="&apos;0.00%&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_NUMBER_FORMAT" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_NUMBER_FORMAT" CMPNAME="C_FORMAT_TEXT" VERSION="1" LANGU="E" DESCRIPT="Number format" EXPOSURE="0" STATE="1" EDITORDER="2 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100708" ATTDECLTYP="1" ATTVALUE="&apos;@&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_NUMBER_FORMAT" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_NUMBER_FORMAT" CMPNAME="FORMAT_CODE" VERSION="1" LANGU="E" DESCRIPT="Number format" EXPOSURE="2" STATE="1" EDITORDER="34 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_NUMBER_FORMAT" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <method CLSNAME="ZCL_EXCEL_STYLE_NUMBER_FORMAT" CMPNAME="CONSTRUCTOR" VERSION="1" LANGU="E" DESCRIPT="CONSTRUCTOR" EXPOSURE="2" STATE="1" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" MTDTYPE="2" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <source>METHOD constructor.
  format_code = me-&gt;c_format_general.
ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_STYLE_NUMBER_FORMAT" CMPNAME="GET_STRUCTURE" VERSION="1" LANGU="E" EXPOSURE="2" STATE="1" EDITORDER="2 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDON="00000000" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_STYLE_NUMBER_FORMAT" CMPNAME="GET_STRUCTURE" SCONAME="EP_NUMBER_FORMAT" VERSION="1" LANGU="E" DESCRIPT="Number format" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDON="00000000" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="ZEXCEL_NUMBER_FORMAT"/>
   <source>METHOD get_structure.
  ep_number_format = me-&gt;format_code.
ENDMETHOD.</source>
  </method>
 </CLAS>
 <CLAS CLSNAME="ZCL_EXCEL_STYLE_PROTECTION" VERSION="1" LANGU="E" DESCRIPT="Font Style" UUID="96C0274C8A345F2DE1000000C0A8FA19" CATEGORY="00" EXPOSURE="2" STATE="1" RELEASE="0" AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" CHGDANYON="00000000" CLSFINAL="X" CLSCCINCL="X" FIXPT="X" UNICODE="X" R3RELEASE="701" CLSBCCAT="00" DURATION_TYPE="0 " RISK_LEVEL="0 ">
  <publicSection>class ZCL_EXCEL_STYLE_PROTECTION definition
  public
  final
  create public .

*&quot;* public components of class ZCL_EXCEL_STYLE_PROTECTION
*&quot;* do not include other source files here!!!
public section.

  constants C_PROTECTION_INHERIT type ZEXCEL_PROTECTION value &apos;inherit&apos;. &quot;#EC NOTEXT
  constants C_PROTECTION_PROTECTED type ZEXCEL_PROTECTION value &apos;protected&apos;. &quot;#EC NOTEXT
  constants C_PROTECTION_UNPROTECTED type ZEXCEL_PROTECTION value &apos;unprotected&apos;. &quot;#EC NOTEXT
  data LOCKED type ZEXCEL_PROTECTION .
  data HIDDEN type ZEXCEL_PROTECTION .

  methods CONSTRUCTOR .</publicSection>
  <protectedSection>*&quot;* protected components of class ZABAP_EXCEL_STYLE_FONT
*&quot;* do not include other source files here!!!
protected section.</protectedSection>
  <privateSection>*&quot;* private components of class ZCL_EXCEL_STYLE_PROTECTION
*&quot;* do not include other source files here!!!
private section.</privateSection>
  <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>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_PROTECTION" CMPNAME="C_PROTECTION_INHERIT" VERSION="1" LANGU="E" DESCRIPT="Protection" EXPOSURE="2" STATE="1" EDITORDER="1 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" ATTDECLTYP="2" ATTVALUE="&apos;inherit&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_PROTECTION" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_PROTECTION" CMPNAME="C_PROTECTION_PROTECTED" VERSION="1" LANGU="E" DESCRIPT="Protection" EXPOSURE="2" STATE="1" EDITORDER="2 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" ATTDECLTYP="2" ATTVALUE="&apos;protected&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_PROTECTION" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_PROTECTION" CMPNAME="C_PROTECTION_UNPROTECTED" VERSION="1" LANGU="E" DESCRIPT="Protection" EXPOSURE="2" STATE="1" EDITORDER="3 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" ATTDECLTYP="2" ATTVALUE="&apos;unprotected&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_PROTECTION" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_PROTECTION" CMPNAME="HIDDEN" VERSION="1" LANGU="E" DESCRIPT="Protection" EXPOSURE="2" STATE="1" EDITORDER="5 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_PROTECTION" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_PROTECTION" CMPNAME="LOCKED" VERSION="1" LANGU="E" DESCRIPT="Protection" EXPOSURE="2" STATE="1" EDITORDER="4 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_PROTECTION" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <method CLSNAME="ZCL_EXCEL_STYLE_PROTECTION" CMPNAME="CONSTRUCTOR" VERSION="1" LANGU="E" DESCRIPT="CONSTRUCTOR" EXPOSURE="2" STATE="1" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" MTDTYPE="2" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <source>METHOD constructor.
  locked = me-&gt;c_protection_inherit.
  hidden = me-&gt;c_protection_inherit.
ENDMETHOD.</source>
  </method>
 </CLAS>
 <CLAS CLSNAME="ZCL_EXCEL_WORKSHEET" VERSION="1" LANGU="E" DESCRIPT="Worksheet" UUID="C1BF274C8A345F2DE1000000C0A8FA19" CATEGORY="00" EXPOSURE="2" STATE="1" RELEASE="0" AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" CHGDANYON="00000000" CLSFINAL="X" CLSCCINCL="X" FIXPT="X" UNICODE="X" R3RELEASE="701" CLSBCCAT="00" DURATION_TYPE="0 " RISK_LEVEL="0 ">
  <publicSection>class ZCL_EXCEL_WORKSHEET definition
  public
  final
  create public .

*&quot;* public components of class ZCL_EXCEL_WORKSHEET
*&quot;* do not include other source files here!!!
public section.
  type-pools ABAP .

  class-data C_BREAK_COLUMN type ZEXCEL_BREAK value 2. &quot;#EC NOTEXT .
  class-data C_BREAK_NONE type ZEXCEL_BREAK value 0. &quot;#EC NOTEXT .
  class-data C_BREAK_ROW type ZEXCEL_BREAK value 1. &quot;#EC NOTEXT .
  class-data C_SHEET_STATE_HIDDEN type ZEXCEL_SHEET_STATE value &apos;hidden&apos;. &quot;#EC NOTEXT .
  class-data C_SHEET_STATE_VERYHIDDEN type ZEXCEL_SHEET_STATE value &apos;veryHidden&apos;. &quot;#EC NOTEXT .
  class-data C_SHEET_STATE_VISIBLE type ZEXCEL_SHEET_STATE value &apos;visible&apos;. &quot;#EC NOTEXT .
  data DEFAULTROWHEIGHT type INT1 value 15. &quot;#EC NOTEXT .
  data SHEET_CONTENT type ZEXCEL_T_CELL_DATA .
  data SHEET_SETUP type ref to ZCL_EXCEL_SHEET_SETUP .
  data SHEET_STATE type ZEXCEL_SHEET_STATE .
  data TITLE type ZEXCEL_SHEET_TITLE value &apos;Worksheet&apos;. &quot;#EC NOTEXT .

  methods CONSTRUCTOR
    importing
      !IP_TITLE type ZEXCEL_SHEET_TITLE optional .
  methods GET_ACTIVE_CELL
    returning
      value(EP_ACTIVE_CELL) type STRING .
  methods GET_CELL
    importing
      !IP_COLUMN type ZEXCEL_CELL_COLUMN_ALPHA
      !IP_ROW type ZEXCEL_CELL_ROW
    exporting
      !EP_VALUE type ZEXCEL_CELL_VALUE
      !EP_RC type SYSUBRC .
  methods GET_DIMENSION_RANGE
    returning
      value(EP_DIMENSION_RANGE) type STRING .
  methods GET_GUID
    returning
      value(EP_GUID) type GUID_16 .
  methods SET_CELL
    importing
      !IP_COLUMN type ZEXCEL_CELL_COLUMN_ALPHA
      !IP_ROW type ZEXCEL_CELL_ROW
      !IP_VALUE type ZEXCEL_CELL_VALUE
      !IP_FORMULA type ZEXCEL_CELL_FORMULA optional
      !IP_STYLE type ZEXCEL_CELL_STYLE optional .
  methods SET_TABLE
    importing
      !IP_TABLE type STANDARD TABLE
      !IP_HDR_STYLE type ZEXCEL_CELL_STYLE optional
      !IP_BODY_STYLE type ZEXCEL_CELL_STYLE optional
      !IP_TABLE_TITLE type STRING optional
      !IP_TOP_LEFT_COLUMN type ZEXCEL_CELL_COLUMN_ALPHA default &apos;B&apos;
      !IP_TOP_LEFT_ROW type ZEXCEL_CELL_ROW default 3 .
  methods ADD_NEW_CONDITIONAL_STYLE
    returning
      value(EO_CONDITIONAL_STYLE) type ref to ZCL_EXCEL_STYLE_CONDITIONAL .
  methods GET_COND_STYLES_ITERATOR
    returning
      value(EO_ITERATOR) type ref to CL_OBJECT_COLLECTION_ITERATOR .</publicSection>
  <protectedSection>*&quot;* protected components of class ZABAP_EXCEL_WORKSHEET
*&quot;* do not include other source files here!!!
protected section.</protectedSection>
  <privateSection>*&quot;* private components of class ZCL_EXCEL_WORKSHEET
*&quot;* do not include other source files here!!!
private section.

  data ACTIVE_CELL type ZEXCEL_S_CELL_DATA .
  data CONDITIONAL_STYLES type ref to ZCL_EXCEL_STYLES_CONDITIONAL .
  data GUID type GUID_16 .
  data LOWER_CELL type ZEXCEL_S_CELL_DATA .
  data UPPER_CELL type ZEXCEL_S_CELL_DATA .

  methods UPDATE_DIMENSION_RANGE .</privateSection>
  <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_WORKSHEET" TYPEGROUP="ABAP" VERSION="1" TPUTYPE="0" EXPLICIT="X"/>
  <forwardDeclaration>ABAP</forwardDeclaration>
  <attribute CLSNAME="ZCL_EXCEL_WORKSHEET" CMPNAME="ACTIVE_CELL" VERSION="1" LANGU="E" DESCRIPT="Version Number Component" EXPOSURE="0" STATE="1" EDITORDER="1 " AUTHOR="FEMIA" CREATEDON="20100702" CHANGEDBY="FEMIA" CHANGEDON="20100704" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_S_CELL_DATA" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_WORKSHEET" CMPNAME="CONDITIONAL_STYLES" VERSION="1" LANGU="E" DESCRIPT="Styles conditional collection" EXPOSURE="0" STATE="1" EDITORDER="2 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDBY="FEMIA" CHANGEDON="20100710" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="3" TYPE="ZCL_EXCEL_STYLES_CONDITIONAL" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_WORKSHEET" CMPNAME="C_BREAK_COLUMN" VERSION="1" LANGU="E" DESCRIPT="Worksheet Break" EXPOSURE="2" STATE="1" EDITORDER="3 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100708" ATTDECLTYP="1" ATTVALUE="2" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_BREAK" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_WORKSHEET" CMPNAME="C_BREAK_NONE" VERSION="1" LANGU="E" DESCRIPT="Worksheet Break" EXPOSURE="2" STATE="1" EDITORDER="4 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100708" ATTDECLTYP="1" ATTVALUE="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_BREAK" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_WORKSHEET" CMPNAME="C_BREAK_ROW" VERSION="1" LANGU="E" DESCRIPT="Worksheet Break" EXPOSURE="2" STATE="1" EDITORDER="5 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100708" ATTDECLTYP="1" ATTVALUE="1" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_BREAK" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_WORKSHEET" CMPNAME="C_SHEET_STATE_HIDDEN" VERSION="1" LANGU="E" DESCRIPT="Sheet state" EXPOSURE="2" STATE="1" EDITORDER="6 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100710" ATTDECLTYP="1" ATTVALUE="&apos;hidden&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_STATE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_WORKSHEET" CMPNAME="C_SHEET_STATE_VERYHIDDEN" VERSION="1" LANGU="E" DESCRIPT="Sheet state" EXPOSURE="2" STATE="1" EDITORDER="7 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100710" ATTDECLTYP="1" ATTVALUE="&apos;veryHidden&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_STATE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_WORKSHEET" CMPNAME="C_SHEET_STATE_VISIBLE" VERSION="1" LANGU="E" DESCRIPT="Sheet state" EXPOSURE="2" STATE="1" EDITORDER="8 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100710" ATTDECLTYP="1" ATTVALUE="&apos;visible&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_STATE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_WORKSHEET" CMPNAME="DEFAULTROWHEIGHT" VERSION="1" LANGU="E" DESCRIPT="Default row height" EXPOSURE="2" STATE="1" EDITORDER="9 " AUTHOR="FEMIA" CREATEDON="20100702" CHANGEDBY="FEMIA" CHANGEDON="20100710" ATTDECLTYP="0" ATTVALUE="15" ATTEXPVIRT="0" TYPTYPE="1" TYPE="INT1" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_WORKSHEET" CMPNAME="GUID" VERSION="1" LANGU="E" DESCRIPT="GUID in &apos;RAW&apos; format" EXPOSURE="0" STATE="1" EDITORDER="10 " AUTHOR="FEMIA" CREATEDON="20100704" CHANGEDBY="FEMIA" CHANGEDON="20100710" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="GUID_16" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_WORKSHEET" CMPNAME="LOWER_CELL" VERSION="1" LANGU="E" DESCRIPT="Bottom right range cell" EXPOSURE="0" STATE="1" EDITORDER="11 " AUTHOR="FEMIA" CREATEDON="20100704" CHANGEDBY="FEMIA" CHANGEDON="20100710" 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_WORKSHEET" CMPNAME="SHEET_CONTENT" VERSION="1" LANGU="E" DESCRIPT="Excel worksheet content" EXPOSURE="2" STATE="1" EDITORDER="12 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100710" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_T_CELL_DATA" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_WORKSHEET" CMPNAME="SHEET_SETUP" VERSION="1" LANGU="E" DESCRIPT="Sheet setup" EXPOSURE="2" STATE="1" EDITORDER="13 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100710" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="3" TYPE="ZCL_EXCEL_SHEET_SETUP" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_WORKSHEET" CMPNAME="SHEET_STATE" VERSION="1" LANGU="E" DESCRIPT="Sheet state" EXPOSURE="2" STATE="1" EDITORDER="14 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100710" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_STATE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_WORKSHEET" CMPNAME="TITLE" VERSION="1" LANGU="E" DESCRIPT="Title" EXPOSURE="2" STATE="1" EDITORDER="15 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100710" ATTDECLTYP="0" ATTVALUE="&apos;Worksheet&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_TITLE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_WORKSHEET" CMPNAME="UPPER_CELL" VERSION="1" LANGU="E" DESCRIPT="Top left range cell" EXPOSURE="0" STATE="1" EDITORDER="16 " AUTHOR="FEMIA" CREATEDON="20100704" CHANGEDBY="FEMIA" CHANGEDON="20100710" 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_WORKSHEET" CMPNAME="ADD_NEW_CONDITIONAL_STYLE" VERSION="1" LANGU="E" DESCRIPT="Creates a new conditional formatting" EXPOSURE="2" STATE="1" EDITORDER="9 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100710" CHANGEDON="00000000" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_WORKSHEET" CMPNAME="ADD_NEW_CONDITIONAL_STYLE" SCONAME="EO_CONDITIONAL_STYLE" VERSION="1" LANGU="E" DESCRIPT="Font Style" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100710" CHANGEDON="00000000" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="3" TYPE="ZCL_EXCEL_STYLE_CONDITIONAL"/>
   <source>METHOD add_new_conditional_style.


  CREATE OBJECT eo_conditional_style.
  conditional_styles-&gt;add( eo_conditional_style ).
ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_WORKSHEET" CMPNAME="CONSTRUCTOR" VERSION="1" LANGU="E" DESCRIPT="CONSTRUCTOR" EXPOSURE="2" STATE="1" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" MTDTYPE="2" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_WORKSHEET" CMPNAME="CONSTRUCTOR" SCONAME="IP_TITLE" VERSION="1" LANGU="E" DESCRIPT="Title" CMPTYPE="1" MTDTYPE="2" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDON="00000000" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_SHEET_TITLE" PAROPTIONL="X"/>
   <source>METHOD constructor.


  CALL FUNCTION &apos;GUID_CREATE&apos;
    IMPORTING
      ev_guid_16 = me-&gt;guid.

  IF ip_title IS NOT INITIAL.
    title = ip_title.
  ELSE.
    title = me-&gt;guid.
  ENDIF.

  sheet_state = me-&gt;c_sheet_state_visible.

  CREATE OBJECT sheet_setup.
  CREATE OBJECT conditional_styles.

* initialize active cell coordinates
  active_cell-cell_row = 1.
  active_cell-cell_column = 1.

* inizialize dimension range
  lower_cell-cell_row     = 1.
  lower_cell-cell_column  = 1.
  upper_cell-cell_row     = 1.
  upper_cell-cell_column  = 1.
ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_WORKSHEET" CMPNAME="GET_ACTIVE_CELL" VERSION="1" LANGU="E" DESCRIPT="Get used range dimension" EXPOSURE="2" STATE="1" EDITORDER="2 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100704" CHANGEDBY="FEMIA" CHANGEDON="20100710" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_WORKSHEET" CMPNAME="GET_ACTIVE_CELL" SCONAME="EP_ACTIVE_CELL" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100704" CHANGEDON="00000000" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="STRING"/>
   <source>METHOD get_active_cell.


  DATA: lv_active_column TYPE zexcel_cell_column_alpha,
        lv_active_row    TYPE string.

  lv_active_column = zcl_excel_common=&gt;convert_column2alpha( active_cell-cell_column ).
  lv_active_row    = active_cell-cell_row.
  SHIFT lv_active_row RIGHT DELETING TRAILING space.
  SHIFT lv_active_row LEFT DELETING LEADING space.
  CONCATENATE lv_active_column lv_active_row INTO ep_active_cell.

ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_WORKSHEET" CMPNAME="GET_CELL" VERSION="1" LANGU="E" DESCRIPT="Get cell value" EXPOSURE="2" STATE="1" EDITORDER="3 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100710" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_WORKSHEET" CMPNAME="GET_CELL" SCONAME="IP_COLUMN" VERSION="1" LANGU="E" DESCRIPT="Cell Column" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDON="00000000" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_CELL_COLUMN_ALPHA"/>
   <parameter CLSNAME="ZCL_EXCEL_WORKSHEET" CMPNAME="GET_CELL" SCONAME="IP_ROW" VERSION="1" LANGU="E" DESCRIPT="Cell Row" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDON="00000000" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_CELL_ROW"/>
   <parameter CLSNAME="ZCL_EXCEL_WORKSHEET" CMPNAME="GET_CELL" SCONAME="EP_VALUE" VERSION="1" LANGU="E" DESCRIPT="Cell Value" CMPTYPE="1" MTDTYPE="0" EDITORDER="3 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" PARDECLTYP="1" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_CELL_VALUE"/>
   <parameter CLSNAME="ZCL_EXCEL_WORKSHEET" CMPNAME="GET_CELL" SCONAME="EP_RC" VERSION="1" LANGU="E" DESCRIPT="Return Value of ABAP Statements" CMPTYPE="1" MTDTYPE="0" EDITORDER="4 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDON="00000000" PARDECLTYP="1" PARPASSTYP="1" TYPTYPE="1" TYPE="SYSUBRC"/>
   <source>METHOD get_cell.


  DATA: lv_column         TYPE zexcel_cell_column,
        ls_sheet_content  TYPE zexcel_s_cell_data.

  FIELD-SYMBOLS: &lt;fs_sheet_content&gt; TYPE zexcel_s_cell_data.

  lv_column = zcl_excel_common=&gt;convert_column2int( ip_column ).

  READ TABLE sheet_content INTO ls_sheet_content WITH TABLE KEY cell_row     = ip_row
                                                                cell_column  = lv_column.

  ep_rc = sy-subrc.
  ep_value = ls_sheet_content-cell_value.
ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_WORKSHEET" CMPNAME="GET_COND_STYLES_ITERATOR" VERSION="1" LANGU="E" DESCRIPT="Get conditional styles iterator" EXPOSURE="2" STATE="1" EDITORDER="10 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100710" CHANGEDBY="FEMIA" CHANGEDON="20100710" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_WORKSHEET" CMPNAME="GET_COND_STYLES_ITERATOR" SCONAME="EO_ITERATOR" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100710" CHANGEDON="00000000" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="3" TYPE="CL_OBJECT_COLLECTION_ITERATOR"/>
   <source>method GET_COND_STYLES_ITERATOR.


  eo_iterator = me-&gt;conditional_styles-&gt;get_iterator( ).
endmethod.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_WORKSHEET" CMPNAME="GET_DIMENSION_RANGE" VERSION="1" LANGU="E" DESCRIPT="Get used range dimension" EXPOSURE="2" STATE="1" EDITORDER="4 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100704" CHANGEDBY="FEMIA" CHANGEDON="20100710" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_WORKSHEET" CMPNAME="GET_DIMENSION_RANGE" SCONAME="EP_DIMENSION_RANGE" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100704" CHANGEDON="00000000" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="STRING"/>
   <source>METHOD get_dimension_range.


  me-&gt;update_dimension_range( ).
  IF upper_cell EQ lower_cell. &quot;only one cell
    ep_dimension_range = upper_cell-cell_coords.
  ELSE.
    CONCATENATE upper_cell-cell_coords &apos;:&apos; lower_cell-cell_coords INTO ep_dimension_range.
  ENDIF.

ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_WORKSHEET" CMPNAME="GET_GUID" VERSION="1" LANGU="E" DESCRIPT="Get sheet guid" EXPOSURE="2" STATE="1" EDITORDER="5 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100704" CHANGEDBY="FEMIA" CHANGEDON="20100710" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_WORKSHEET" CMPNAME="GET_GUID" SCONAME="EP_GUID" VERSION="1" LANGU="E" DESCRIPT="GUID in &apos;RAW&apos; format" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100704" CHANGEDON="00000000" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="GUID_16"/>
   <source>method GET_GUID.


  ep_guid = me-&gt;guid.

endmethod.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_WORKSHEET" CMPNAME="SET_CELL" VERSION="1" LANGU="E" DESCRIPT="Set cell value" EXPOSURE="2" STATE="1" EDITORDER="6 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100710" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_WORKSHEET" CMPNAME="SET_CELL" SCONAME="IP_COLUMN" VERSION="1" LANGU="E" DESCRIPT="Cell Column" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDON="00000000" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_CELL_COLUMN_ALPHA"/>
   <parameter CLSNAME="ZCL_EXCEL_WORKSHEET" CMPNAME="SET_CELL" SCONAME="IP_ROW" VERSION="1" LANGU="E" DESCRIPT="Cell Row" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_CELL_ROW"/>
   <parameter CLSNAME="ZCL_EXCEL_WORKSHEET" CMPNAME="SET_CELL" SCONAME="IP_VALUE" VERSION="1" LANGU="E" DESCRIPT="Cell Value" CMPTYPE="1" MTDTYPE="0" EDITORDER="3 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_CELL_VALUE"/>
   <parameter CLSNAME="ZCL_EXCEL_WORKSHEET" CMPNAME="SET_CELL" SCONAME="IP_FORMULA" VERSION="1" LANGU="E" DESCRIPT="Cell Formula" CMPTYPE="1" MTDTYPE="0" EDITORDER="4 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100710" CHANGEDON="00000000" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_CELL_FORMULA" PAROPTIONL="X"/>
   <parameter CLSNAME="ZCL_EXCEL_WORKSHEET" CMPNAME="SET_CELL" SCONAME="IP_STYLE" VERSION="1" LANGU="E" DESCRIPT="Single-Character Indicator" CMPTYPE="1" MTDTYPE="0" EDITORDER="5 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100705" CHANGEDBY="FEMIA" CHANGEDON="20100710" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_CELL_STYLE" PAROPTIONL="X"/>
   <source>METHOD set_cell.


  DATA: lv_column                 TYPE zexcel_cell_column,
        ls_sheet_content          TYPE zexcel_s_cell_data,
        lv_row_alpha              TYPE string.

  FIELD-SYMBOLS: &lt;fs_sheet_content&gt; TYPE zexcel_s_cell_data.

  lv_column = ZCL_EXCEL_COMMON=&gt;convert_column2int( ip_column ).

  READ TABLE sheet_content ASSIGNING &lt;fs_sheet_content&gt; WITH KEY cell_row    = ip_row
                                                                 cell_column = lv_column.

  IF sy-subrc EQ 0.
    &lt;fs_sheet_content&gt;-cell_value   = ip_value.
    &lt;fs_sheet_content&gt;-cell_formula = ip_formula.
    &lt;fs_sheet_content&gt;-cell_style   = ip_style.
  ELSE.
    ls_sheet_content-cell_row     = ip_row.
    ls_sheet_content-cell_column  = lv_column.
    ls_sheet_content-cell_value   = ip_value.
    ls_sheet_content-cell_formula = ip_formula.
    ls_sheet_content-cell_style   = ip_style.
    lv_row_alpha = ip_row.
    SHIFT lv_row_alpha RIGHT DELETING TRAILING space.
    SHIFT lv_row_alpha LEFT DELETING LEADING space.
    CONCATENATE ip_column lv_row_alpha INTO ls_sheet_content-cell_coords.
    APPEND ls_sheet_content TO sheet_content.
    SORT sheet_content BY cell_row cell_column.
*    me-&gt;update_dimension_range( ).

  ENDIF.

ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_WORKSHEET" CMPNAME="SET_TABLE" VERSION="1" LANGU="E" DESCRIPT="Set cell value from a table" EXPOSURE="2" STATE="1" EDITORDER="7 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100706" CHANGEDBY="FEMIA" CHANGEDON="20100710" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_WORKSHEET" CMPNAME="SET_TABLE" SCONAME="IP_TABLE" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100706" CHANGEDBY="FEMIA" CHANGEDON="20100706" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="STANDARD TABLE"/>
   <parameter CLSNAME="ZCL_EXCEL_WORKSHEET" CMPNAME="SET_TABLE" SCONAME="IP_HDR_STYLE" VERSION="1" LANGU="E" DESCRIPT="Style identifier" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100706" CHANGEDBY="FEMIA" CHANGEDON="20100706" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_CELL_STYLE" PAROPTIONL="X"/>
   <parameter CLSNAME="ZCL_EXCEL_WORKSHEET" CMPNAME="SET_TABLE" SCONAME="IP_BODY_STYLE" VERSION="1" LANGU="E" DESCRIPT="Style identifier" CMPTYPE="1" MTDTYPE="0" EDITORDER="3 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100706" CHANGEDBY="FEMIA" CHANGEDON="20100706" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_CELL_STYLE" PAROPTIONL="X"/>
   <parameter CLSNAME="ZCL_EXCEL_WORKSHEET" CMPNAME="SET_TABLE" SCONAME="IP_TABLE_TITLE" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="4 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100706" CHANGEDBY="FEMIA" CHANGEDON="20100706" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="STRING" PAROPTIONL="X"/>
   <parameter CLSNAME="ZCL_EXCEL_WORKSHEET" CMPNAME="SET_TABLE" SCONAME="IP_TOP_LEFT_COLUMN" VERSION="1" LANGU="E" DESCRIPT="Cell Column" CMPTYPE="1" MTDTYPE="0" EDITORDER="5 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100707" CHANGEDON="00000000" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_CELL_COLUMN_ALPHA" PARVALUE="&apos;B&apos;"/>
   <parameter CLSNAME="ZCL_EXCEL_WORKSHEET" CMPNAME="SET_TABLE" SCONAME="IP_TOP_LEFT_ROW" VERSION="1" LANGU="E" DESCRIPT="Cell Row" CMPTYPE="1" MTDTYPE="0" EDITORDER="6 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100707" CHANGEDON="00000000" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_CELL_ROW" PARVALUE="3"/>
   <source>METHOD set_table.


  DATA: lo_tabdescr     TYPE REF TO cl_abap_structdescr,
        lr_data         TYPE REF TO data,
        ls_newline      TYPE REF TO data,
        ls_header       TYPE x030l,
        lt_dfies        TYPE ddfields,
        lv_row_header   TYPE zexcel_cell_row VALUE &apos;2&apos;,
        lv_col_header   TYPE zexcel_cell_column_alpha VALUE &apos;B&apos;,
        lv_row_int      TYPE zexcel_cell_row,
        lv_column_int   TYPE zexcel_cell_column,
        lv_column_alpha TYPE zexcel_cell_column_alpha,
        lv_cell_value   TYPE zexcel_cell_value.


  FIELD-SYMBOLS: &lt;fs_table_line&gt;  TYPE ANY,
                 &lt;fs_fldval&gt;      TYPE ANY,
                 &lt;fs_dfies&gt;       TYPE dfies,
                 &lt;fs_cell_value&gt;  TYPE zexcel_cell_value.

  lv_column_int = zcl_excel_common=&gt;convert_column2int( ip_top_left_column ).
  lv_row_int    = ip_top_left_row.

  CREATE DATA lr_data LIKE LINE OF ip_table.

  lo_tabdescr ?= cl_abap_structdescr=&gt;describe_by_data_ref( lr_data ).

  ls_header = lo_tabdescr-&gt;get_ddic_header( ).

  lt_dfies = lo_tabdescr-&gt;get_ddic_field_list( ).

* It is better to loop column by column
  LOOP AT lt_dfies ASSIGNING &lt;fs_dfies&gt;.
    lv_column_alpha = zcl_excel_common=&gt;convert_column2alpha( lv_column_int ).
    &quot; First of all write column header
    lv_cell_value = &lt;fs_dfies&gt;-scrtext_m.
    me-&gt;set_cell( ip_column = lv_column_alpha
                  ip_row    = lv_row_int
                  ip_value  = lv_cell_value
                  ip_style  = ip_hdr_style ).
    ADD 1 TO lv_row_int.
    LOOP AT ip_table ASSIGNING &lt;fs_table_line&gt;.
      ASSIGN COMPONENT &lt;fs_dfies&gt;-fieldname OF STRUCTURE &lt;fs_table_line&gt; TO &lt;fs_fldval&gt;.
      MOVE &lt;fs_fldval&gt; TO lv_cell_value.
      me-&gt;set_cell( ip_column = lv_column_alpha
                    ip_row    = lv_row_int
                    ip_value  = lv_cell_value
                    ip_style  = ip_body_style ).
      ADD 1 TO lv_row_int.
    ENDLOOP.
    lv_row_int = ip_top_left_row.
    ADD 1 TO lv_column_int.
  ENDLOOP.

ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_WORKSHEET" CMPNAME="UPDATE_DIMENSION_RANGE" VERSION="1" LANGU="E" DESCRIPT="Update dimension range" EXPOSURE="0" STATE="1" EDITORDER="8 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100704" CHANGEDBY="FEMIA" CHANGEDON="20100710" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <source>METHOD update_dimension_range.


  DATA: ls_sheet_content TYPE zexcel_s_cell_data,
        lt_sheet_content TYPE zexcel_t_cell_data_unsorted,
        lv_row_alpha     TYPE string,
        lv_column_alpha  TYPE zexcel_cell_column_alpha.

* update dimension range
  lt_sheet_content = sheet_content.
  &quot;upper left corner
  SORT lt_sheet_content BY cell_row.
  READ TABLE lt_sheet_content INDEX 1 INTO ls_sheet_content.
  upper_cell-cell_row = ls_sheet_content-cell_row.
  SORT lt_sheet_content BY cell_column.
  READ TABLE lt_sheet_content INDEX 1 INTO ls_sheet_content.
  upper_cell-cell_column = ls_sheet_content-cell_column.

  lv_row_alpha = upper_cell-cell_row.
  lv_column_alpha = zcl_excel_common=&gt;convert_column2alpha( upper_cell-cell_column ).
  SHIFT lv_row_alpha RIGHT DELETING TRAILING space.
  SHIFT lv_row_alpha LEFT DELETING LEADING space.
  CONCATENATE lv_column_alpha lv_row_alpha INTO upper_cell-cell_coords.

  &quot;bottom right corner
  SORT lt_sheet_content BY cell_row DESCENDING.
  READ TABLE lt_sheet_content INDEX 1 INTO ls_sheet_content.
  lower_cell-cell_row = ls_sheet_content-cell_row.
  SORT lt_sheet_content BY cell_column DESCENDING.
  READ TABLE lt_sheet_content INDEX 1 INTO ls_sheet_content.
  lower_cell-cell_column = ls_sheet_content-cell_column.

  lv_row_alpha = lower_cell-cell_row.
  lv_column_alpha = zcl_excel_common=&gt;convert_column2alpha( lower_cell-cell_column ).
  SHIFT lv_row_alpha RIGHT DELETING TRAILING space.
  SHIFT lv_row_alpha LEFT DELETING LEADING space.
  CONCATENATE lv_column_alpha lv_row_alpha INTO lower_cell-cell_coords.

ENDMETHOD.</source>
  </method>
 </CLAS>
 <CLAS CLSNAME="ZCL_EXCEL_WORKSHEETS" VERSION="1" LANGU="E" DESCRIPT="Worksheets collection" UUID="89AF284C304B5E2DE1000000C0A8FA19" CATEGORY="00" EXPOSURE="2" STATE="1" RELEASE="0" AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" CHGDANYON="00000000" CLSFINAL="X" CLSCCINCL="X" FIXPT="X" UNICODE="X" R3RELEASE="701" CLSBCCAT="00" DURATION_TYPE="0 " RISK_LEVEL="0 ">
  <publicSection>class ZCL_EXCEL_WORKSHEETS definition
  public
  final
  create public .

*&quot;* public components of class ZCL_EXCEL_WORKSHEETS
*&quot;* do not include other source files here!!!
public section.

  data ACTIVE_WORKSHEET type ZEXCEL_ACTIVE_WORKSHEET value 1. &quot;#EC NOTEXT .
  data NAME type ZEXCEL_WORKSHEETS_NAME value &apos;Worksheets&apos;. &quot;#EC NOTEXT .

  methods ADD
    importing
      !IP_WORKSHEET type ref to ZCL_EXCEL_WORKSHEET .
  methods CLEAR .
  methods CONSTRUCTOR .
  methods GET
    importing
      !IP_INDEX type ZEXCEL_ACTIVE_WORKSHEET
    returning
      value(EO_WORKSHEET) type ref to ZCL_EXCEL_WORKSHEET .
  methods GET_ITERATOR
    returning
      value(EO_ITERATOR) type ref to CL_OBJECT_COLLECTION_ITERATOR .
  methods IS_EMPTY
    returning
      value(IS_EMPTY) type FLAG .
  methods REMOVE
    importing
      !IP_WORKSHEET type ref to ZCL_EXCEL_WORKSHEET .
  methods SIZE
    returning
      value(EP_SIZE) type I .</publicSection>
  <protectedSection>*&quot;* protected components of class ZABAP_EXCEL_WORKSHEETS
*&quot;* do not include other source files here!!!
protected section.</protectedSection>
  <privateSection>*&quot;* private components of class ZCL_EXCEL_WORKSHEETS
*&quot;* do not include other source files here!!!
private section.

  data WORKSHEETS type ref to CL_OBJECT_COLLECTION .</privateSection>
  <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>
  <attribute CLSNAME="ZCL_EXCEL_WORKSHEETS" CMPNAME="ACTIVE_WORKSHEET" VERSION="1" LANGU="E" DESCRIPT="Active Worksheet" EXPOSURE="2" STATE="1" EDITORDER="1 " AUTHOR="FEMIA" CREATEDON="20100702" CHANGEDON="00000000" ATTDECLTYP="0" ATTVALUE="1" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_ACTIVE_WORKSHEET" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_WORKSHEETS" CMPNAME="NAME" VERSION="1" LANGU="E" DESCRIPT="Worksheets name" EXPOSURE="2" STATE="1" EDITORDER="2 " AUTHOR="FEMIA" CREATEDON="20100701" CHANGEDON="00000000" ATTDECLTYP="0" ATTVALUE="&apos;Worksheets&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_WORKSHEETS_NAME" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_WORKSHEETS" CMPNAME="WORKSHEETS" VERSION="1" LANGU="E" EXPOSURE="0" STATE="1" EDITORDER="3 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100702" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="3" TYPE="CL_OBJECT_COLLECTION" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <method CLSNAME="ZCL_EXCEL_WORKSHEETS" CMPNAME="ADD" VERSION="1" LANGU="E" DESCRIPT="Adds an Element to the Collection" EXPOSURE="2" STATE="1" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_WORKSHEETS" CMPNAME="ADD" SCONAME="IP_WORKSHEET" VERSION="1" LANGU="E" DESCRIPT="Worksheet" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100628" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="3" TYPE="ZCL_EXCEL_WORKSHEET"/>
   <source>METHOD ADD.


  worksheets-&gt;add( ip_worksheet ).
ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_WORKSHEETS" CMPNAME="CLEAR" VERSION="1" LANGU="E" DESCRIPT="Initializes the Collection" EXPOSURE="2" STATE="1" EDITORDER="2 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <source>METHOD clear.


  worksheets-&gt;clear( ).
ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_WORKSHEETS" CMPNAME="CONSTRUCTOR" VERSION="1" LANGU="E" DESCRIPT="CONSTRUCTOR" EXPOSURE="2" STATE="1" EDITORDER="3 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" MTDTYPE="2" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <source>METHOD constructor.


  CREATE OBJECT worksheets.

ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_WORKSHEETS" CMPNAME="GET" VERSION="1" LANGU="E" DESCRIPT="Gets Element" EXPOSURE="2" STATE="1" EDITORDER="4 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100704" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_WORKSHEETS" CMPNAME="GET" SCONAME="IP_INDEX" VERSION="1" LANGU="E" DESCRIPT="Active Worksheet" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100704" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_ACTIVE_WORKSHEET"/>
   <parameter CLSNAME="ZCL_EXCEL_WORKSHEETS" CMPNAME="GET" SCONAME="EO_WORKSHEET" VERSION="1" LANGU="E" DESCRIPT="Worksheet" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100628" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="3" TYPE="ZCL_EXCEL_WORKSHEET"/>
   <source>METHOD get.


  DATA lv_index TYPE i.
  lv_index = ip_index.
  eo_worksheet ?= worksheets-&gt;if_object_collection~get( lv_index ).
ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_WORKSHEETS" CMPNAME="GET_ITERATOR" VERSION="1" LANGU="E" DESCRIPT="Returns an iterator" EXPOSURE="2" STATE="1" EDITORDER="5 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_WORKSHEETS" CMPNAME="GET_ITERATOR" SCONAME="EO_ITERATOR" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="3" TYPE="CL_OBJECT_COLLECTION_ITERATOR"/>
   <source>METHOD get_iterator.


  eo_iterator ?= worksheets-&gt;if_object_collection~get_iterator( ).
ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_WORKSHEETS" CMPNAME="IS_EMPTY" VERSION="1" LANGU="E" DESCRIPT="Checks whether elements are contained" EXPOSURE="2" STATE="1" EDITORDER="6 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_WORKSHEETS" CMPNAME="IS_EMPTY" SCONAME="IS_EMPTY" VERSION="1" LANGU="E" DESCRIPT="General Flag" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="FLAG"/>
   <source>METHOD is_empty.


  is_empty = worksheets-&gt;if_object_collection~is_empty( ).
ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_WORKSHEETS" CMPNAME="REMOVE" VERSION="1" LANGU="E" DESCRIPT="Deletes an Element from the Collection" EXPOSURE="2" STATE="1" EDITORDER="7 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_WORKSHEETS" CMPNAME="REMOVE" SCONAME="IP_WORKSHEET" VERSION="1" LANGU="E" DESCRIPT="Worksheet" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100628" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="3" TYPE="ZCL_EXCEL_WORKSHEET"/>
   <source>METHOD remove.


  worksheets-&gt;remove( ip_worksheet ).
ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_WORKSHEETS" CMPNAME="SIZE" VERSION="1" LANGU="E" DESCRIPT="Specifies number of contained elements" EXPOSURE="2" STATE="1" EDITORDER="8 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_WORKSHEETS" CMPNAME="SIZE" SCONAME="EP_SIZE" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="I"/>
   <source>METHOD size.


  ep_size = worksheets-&gt;if_object_collection~size( ).
ENDMETHOD.</source>
  </method>
 </CLAS>
 <CLAS CLSNAME="ZCL_EXCEL_WRITER_2007" VERSION="1" LANGU="E" DESCRIPT="Excel writer 2007" UUID="B9BE2C4C98855D2DE1000000C0A8FA19" CATEGORY="00" EXPOSURE="2" STATE="1" RELEASE="0" AUTHOR="FEMIA" CREATEDON="20100701" CHANGEDON="00000000" CHGDANYON="00000000" CLSFINAL="X" CLSCCINCL="X" FIXPT="X" UNICODE="X" R3RELEASE="701" CLSBCCAT="00" DURATION_TYPE="0 " RISK_LEVEL="0 ">
  <publicSection>class ZCL_EXCEL_WRITER_2007 definition
  public
  final
  create public .

*&quot;* public components of class ZCL_EXCEL_WRITER_2007
*&quot;* do not include other source files here!!!
public section.

  methods CONSTRUCTOR
    importing
      !IO_EXCEL type ref to ZCL_EXCEL .
  methods CREATE
    returning
      value(EP_EXCEL) type XSTRING .</publicSection>
  <protectedSection>*&quot;* protected components of class ZCL_EXCEL_WRITER_2007
*&quot;* do not include other source files here!!!
protected section.</protectedSection>
  <privateSection>*&quot;* private components of class ZCL_EXCEL_WRITER_2007
*&quot;* do not include other source files here!!!
private section.

  constants C_CONTENT_TYPES type STRING value &apos;[Content_Types].xml&apos;. &quot;#EC NOTEXT
  constants C_DOCPROPS_APP type STRING value &apos;docProps/app.xml&apos;. &quot;#EC NOTEXT
  constants C_DOCPROPS_CORE type STRING value &apos;docProps/core.xml&apos;. &quot;#EC NOTEXT
  constants C_RELATIONSHIPS type STRING value &apos;_rels/.rels&apos;. &quot;#EC NOTEXT
  constants C_XL_CALCCHAIN type STRING value &apos;xl/calcChain.xml&apos;. &quot;#EC NOTEXT
  constants C_XL_RELATIONSHIPS type STRING value &apos;xl/_rels/workbook.xml.rels&apos;. &quot;#EC NOTEXT
  constants C_XL_SHAREDSTRINGS type STRING value &apos;xl/sharedStrings.xml&apos;. &quot;#EC NOTEXT
  constants C_XL_SHEET type STRING value &apos;xl/worksheets/sheet#.xml&apos;. &quot;#EC NOTEXT
  constants C_XL_SHEET_RELS type STRING value &apos;xl/worksheets/_rels/sheet#.xml.rels&apos;. &quot;#EC NOTEXT
  constants C_XL_STYLES type STRING value &apos;xl/styles.xml&apos;. &quot;#EC NOTEXT
  constants C_XL_THEME type STRING value &apos;xl/theme/theme1.xml&apos;. &quot;#EC NOTEXT
  constants C_XL_WORKBOOK type STRING value &apos;xl/workbook.xml&apos;. &quot;#EC NOTEXT
  data EXCEL type ref to ZCL_EXCEL .
  data SHARED_STRINGS type ZEXCEL_T_SHARED_STRING .
  data STYLES_MAPPING type ZEXCEL_T_STYLES_MAPPING .

  methods CREATE_CONTENT_TYPES
    returning
      value(EP_CONTENT) type XSTRING .
  methods CREATE_DOCPROPS_APP
    returning
      value(EP_CONTENT) type XSTRING .
  methods CREATE_DOCPROPS_CORE
    returning
      value(EP_CONTENT) type XSTRING .
  methods CREATE_RELATIONSHIPS
    returning
      value(EP_CONTENT) type XSTRING .
  methods CREATE_XL_CALCCHAIN
    returning
      value(EP_CONTENT) type XSTRING .
  methods CREATE_XL_RELATIONSHIPS
    returning
      value(EP_CONTENT) type XSTRING .
  methods CREATE_XL_SHAREDSTRINGS
    returning
      value(EP_CONTENT) type XSTRING .
  methods CREATE_XL_SHEET
    importing
      !IO_WORKSHEET type ref to ZCL_EXCEL_WORKSHEET
      !IV_ACTIVE type FLAG default &apos;&apos;
    returning
      value(EP_CONTENT) type XSTRING .
  methods CREATE_XL_SHEET_RELS
    returning
      value(EP_CONTENT) type XSTRING .
  methods CREATE_XL_STYLES
    returning
      value(EP_CONTENT) type XSTRING .
  methods CREATE_XL_THEME
    returning
      value(EP_CONTENT) type XSTRING .
  methods CREATE_XL_WORKBOOK
    returning
      value(EP_CONTENT) type XSTRING .
  methods FLAG2BOOL
    importing
      !IP_FLAG type FLAG
    returning
      value(EP_BOOLEAN) type CHAR5 .
  methods GET_SHARED_STRING_INDEX
    importing
      !IP_CELL_VALUE type ZEXCEL_CELL_VALUE
    returning
      value(EP_INDEX) type INT4 .</privateSection>
  <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>
  <attribute CLSNAME="ZCL_EXCEL_WRITER_2007" CMPNAME="C_CONTENT_TYPES" VERSION="1" LANGU="E" DESCRIPT="Content Type XML File Name" EXPOSURE="0" STATE="1" EDITORDER="1 " AUTHOR="FEMIA" CREATEDON="20100701" CHANGEDBY="FEMIA" CHANGEDON="20100702" ATTDECLTYP="2" ATTVALUE="&apos;[Content_Types].xml&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="STRING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_WRITER_2007" CMPNAME="C_DOCPROPS_APP" VERSION="1" LANGU="E" DESCRIPT="App XML File Name" EXPOSURE="0" STATE="1" EDITORDER="2 " AUTHOR="FEMIA" CREATEDON="20100701" CHANGEDBY="FEMIA" CHANGEDON="20100702" ATTDECLTYP="2" ATTVALUE="&apos;docProps/app.xml&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="STRING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_WRITER_2007" CMPNAME="C_DOCPROPS_CORE" VERSION="1" LANGU="E" DESCRIPT="Core XML File Name" EXPOSURE="0" STATE="1" EDITORDER="3 " AUTHOR="FEMIA" CREATEDON="20100701" CHANGEDBY="FEMIA" CHANGEDON="20100702" ATTDECLTYP="2" ATTVALUE="&apos;docProps/core.xml&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="STRING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_WRITER_2007" CMPNAME="C_RELATIONSHIPS" VERSION="1" LANGU="E" DESCRIPT="Rels XML File Name" EXPOSURE="0" STATE="1" EDITORDER="4 " AUTHOR="FEMIA" CREATEDON="20100701" CHANGEDBY="FEMIA" CHANGEDON="20100702" ATTDECLTYP="2" ATTVALUE="&apos;_rels/.rels&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="STRING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_WRITER_2007" CMPNAME="C_XL_CALCCHAIN" VERSION="1" LANGU="E" DESCRIPT="xlCalcChain XML File Name" EXPOSURE="0" STATE="1" EDITORDER="5 " AUTHOR="FEMIA" CREATEDON="20100710" CHANGEDON="00000000" ATTDECLTYP="2" ATTVALUE="&apos;xl/calcChain.xml&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="STRING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_WRITER_2007" CMPNAME="C_XL_RELATIONSHIPS" VERSION="1" LANGU="E" DESCRIPT="xlRels XML File Name" EXPOSURE="0" STATE="1" EDITORDER="6 " AUTHOR="FEMIA" CREATEDON="20100702" CHANGEDBY="FEMIA" CHANGEDON="20100710" ATTDECLTYP="2" ATTVALUE="&apos;xl/_rels/workbook.xml.rels&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="STRING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_WRITER_2007" CMPNAME="C_XL_SHAREDSTRINGS" VERSION="1" LANGU="E" DESCRIPT="xlSharedStrings XML File Name" EXPOSURE="0" STATE="1" EDITORDER="7 " AUTHOR="FEMIA" CREATEDON="20100702" CHANGEDBY="FEMIA" CHANGEDON="20100710" ATTDECLTYP="2" ATTVALUE="&apos;xl/sharedStrings.xml&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="STRING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_WRITER_2007" CMPNAME="C_XL_SHEET" VERSION="1" LANGU="E" DESCRIPT="xlSheet XML File Name Template" EXPOSURE="0" STATE="1" EDITORDER="8 " AUTHOR="FEMIA" CREATEDON="20100702" CHANGEDBY="FEMIA" CHANGEDON="20100710" ATTDECLTYP="2" ATTVALUE="&apos;xl/worksheets/sheet#.xml&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="STRING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_WRITER_2007" CMPNAME="C_XL_SHEET_RELS" VERSION="1" LANGU="E" DESCRIPT="xlSheetRels XML File Name Template" EXPOSURE="0" STATE="1" EDITORDER="9 " AUTHOR="FEMIA" CREATEDON="20100705" CHANGEDBY="FEMIA" CHANGEDON="20100710" ATTDECLTYP="2" ATTVALUE="&apos;xl/worksheets/_rels/sheet#.xml.rels&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="STRING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_WRITER_2007" CMPNAME="C_XL_STYLES" VERSION="1" LANGU="E" DESCRIPT="xlStyles XML File Name" EXPOSURE="0" STATE="1" EDITORDER="10 " AUTHOR="FEMIA" CREATEDON="20100702" CHANGEDBY="FEMIA" CHANGEDON="20100710" ATTDECLTYP="2" ATTVALUE="&apos;xl/styles.xml&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="STRING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_WRITER_2007" CMPNAME="C_XL_THEME" VERSION="1" LANGU="E" DESCRIPT="xlTheme XML File Name" EXPOSURE="0" STATE="1" EDITORDER="11 " AUTHOR="FEMIA" CREATEDON="20100702" CHANGEDBY="FEMIA" CHANGEDON="20100710" ATTDECLTYP="2" ATTVALUE="&apos;xl/theme/theme1.xml&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="STRING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_WRITER_2007" CMPNAME="C_XL_WORKBOOK" VERSION="1" LANGU="E" DESCRIPT="xlWorkbook XML File Name" EXPOSURE="0" STATE="1" EDITORDER="12 " AUTHOR="FEMIA" CREATEDON="20100702" CHANGEDBY="FEMIA" CHANGEDON="20100710" ATTDECLTYP="2" ATTVALUE="&apos;xl/workbook.xml&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="STRING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_WRITER_2007" CMPNAME="EXCEL" VERSION="1" LANGU="E" DESCRIPT="Excel creator" EXPOSURE="0" STATE="1" EDITORDER="13 " AUTHOR="FEMIA" CREATEDON="20100701" CHANGEDBY="FEMIA" CHANGEDON="20100710" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="3" TYPE="ZCL_EXCEL" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_WRITER_2007" CMPNAME="SHARED_STRINGS" VERSION="1" LANGU="E" DESCRIPT="Shared Strings" EXPOSURE="0" STATE="1" EDITORDER="14 " AUTHOR="FEMIA" CREATEDON="20100702" CHANGEDBY="FEMIA" CHANGEDON="20100710" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_T_SHARED_STRING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_WRITER_2007" CMPNAME="STYLES_MAPPING" VERSION="1" LANGU="E" DESCRIPT="Styles mapping" EXPOSURE="0" STATE="1" EDITORDER="15 " AUTHOR="FEMIA" CREATEDON="20100704" CHANGEDBY="FEMIA" CHANGEDON="20100710" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_T_STYLES_MAPPING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <method CLSNAME="ZCL_EXCEL_WRITER_2007" CMPNAME="CONSTRUCTOR" VERSION="1" LANGU="E" DESCRIPT="CONSTRUCTOR" EXPOSURE="2" STATE="1" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100701" CHANGEDBY="FEMIA" CHANGEDON="20100704" MTDTYPE="2" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_WRITER_2007" CMPNAME="CONSTRUCTOR" SCONAME="IO_EXCEL" VERSION="1" LANGU="E" DESCRIPT="Excel creator" CMPTYPE="1" MTDTYPE="2" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100701" CHANGEDON="00000000" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="3" TYPE="ZCL_EXCEL"/>
   <source>METHOD constructor.


  me-&gt;excel = io_excel.
ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_WRITER_2007" CMPNAME="CREATE" VERSION="1" LANGU="E" DESCRIPT="Create Excel" EXPOSURE="2" STATE="1" EDITORDER="2 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100701" CHANGEDBY="FEMIA" CHANGEDON="20100704" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_WRITER_2007" CMPNAME="CREATE" SCONAME="EP_EXCEL" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100701" CHANGEDON="00000000" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="XSTRING"/>
   <source>METHOD create.


* Office 2007 file format is a cab of several xml files with extension .xlsx

  DATA: lo_zip              TYPE REF TO cl_abap_zip,
        lo_worksheet        TYPE REF TO zcl_excel_worksheet,
        lo_active_worksheet TYPE REF TO zcl_excel_worksheet,
        lo_iterator         TYPE REF TO cl_object_collection_iterator.

  DATA: lv_content        TYPE xstring,
        lv_active         TYPE flag,
        lv_xl_sheet       TYPE string,
        lv_xl_sheet_rels  TYPE string,
        lv_syindex        TYPE string.


**********************************************************************
* STEP 1: Create archive object file (ZIP)
  CREATE OBJECT lo_zip.

**********************************************************************
* STEP 2: Add [Content_Types].xml to zip
  lv_content = me-&gt;create_content_types( ).
  lo_zip-&gt;add( name    = me-&gt;c_content_types
               content = lv_content ).

**********************************************************************
* STEP 3: Add _rels/.rels to zip
  lv_content = me-&gt;create_relationships( ).
  lo_zip-&gt;add( name    = me-&gt;c_relationships
               content = lv_content ).

**********************************************************************
* STEP 4: Add docProps/app.xml to zip
  lv_content = me-&gt;create_docprops_app( ).
  lo_zip-&gt;add( name    = me-&gt;c_docprops_app
               content = lv_content ).

**********************************************************************
* STEP 5: Add docProps/core.xml to zip
  lv_content = me-&gt;create_docprops_core( ).
  lo_zip-&gt;add( name    = me-&gt;c_docprops_core
               content = lv_content ).

**********************************************************************
* STEP 6: Add xl/_rels/workbook.xml.rels to zip
  lv_content = me-&gt;create_xl_relationships( ).
  lo_zip-&gt;add( name    = me-&gt;c_xl_relationships
               content = lv_content ).

**********************************************************************
* STEP 6: Add xl/_rels/workbook.xml.rels to zip
  lv_content = me-&gt;create_xl_theme( ).
  lo_zip-&gt;add( name    = me-&gt;c_xl_theme
               content = lv_content ).

**********************************************************************
* STEP 7: Add xl/workbook.xml to zip
  lv_content = me-&gt;create_xl_workbook( ).
  lo_zip-&gt;add( name    = me-&gt;c_xl_workbook
               content = lv_content ).

**********************************************************************
* STEP 8: Add xl/workbook.xml to zip
*  lv_content = me-&gt;create_xl_styles_static( ).
  lv_content = me-&gt;create_xl_styles( ).
  lo_zip-&gt;add( name    = me-&gt;c_xl_styles
               content = lv_content ).

**********************************************************************
* STEP 9: Add sharedStrings.xml to zip
  lv_content = me-&gt;create_xl_sharedstrings( ).
  lo_zip-&gt;add( name    = me-&gt;c_xl_sharedstrings
               content = lv_content ).

**********************************************************************
* STEP 10: Add sharedStrings.xml to zip
  lv_content = me-&gt;create_xl_calcchain( ).
  lo_zip-&gt;add( name    = me-&gt;c_xl_calcchain
               content = lv_content ).

**********************************************************************
* STEP 11: Add sheet#.xml to zip
  lo_iterator = me-&gt;excel-&gt;get_worksheets_iterator( ).
  lo_active_worksheet = me-&gt;excel-&gt;get_active_worksheet( ).

  WHILE lo_iterator-&gt;if_object_collection_iterator~has_next( ) EQ abap_true.
    lo_worksheet ?= lo_iterator-&gt;if_object_collection_iterator~get_next( ).
    IF lo_active_worksheet-&gt;get_guid( ) EQ lo_worksheet-&gt;get_guid( ).
      lv_active = abap_true.
    ELSE.
      lv_active = abap_true.
    ENDIF.

    lv_content = me-&gt;create_xl_sheet( io_worksheet = lo_worksheet
                                      iv_active    = lv_active ).
    lv_xl_sheet = me-&gt;c_xl_sheet.
    MOVE sy-index TO lv_syindex.
    SHIFT lv_syindex RIGHT DELETING TRAILING space.
    SHIFT lv_syindex LEFT DELETING LEADING space.
    REPLACE ALL OCCURRENCES OF &apos;#&apos; IN lv_xl_sheet WITH lv_syindex.
    lo_zip-&gt;add( name    = lv_xl_sheet
                 content = lv_content ).

    lv_xl_sheet_rels = me-&gt;c_xl_sheet_rels.
    lv_content = me-&gt;create_xl_sheet_rels( ).
    REPLACE ALL OCCURRENCES OF &apos;#&apos; IN lv_xl_sheet_rels WITH lv_syindex.
    lo_zip-&gt;add( name    = lv_xl_sheet_rels
                 content = lv_content ).
  ENDWHILE.

**********************************************************************
* STEP 11: Create the final zip
  ep_excel = lo_zip-&gt;save( ).

ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_WRITER_2007" CMPNAME="CREATE_CONTENT_TYPES" VERSION="1" LANGU="E" DESCRIPT="Create &apos;[Content_Types].xml&apos;" EXPOSURE="0" STATE="1" EDITORDER="3 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100701" CHANGEDBY="FEMIA" CHANGEDON="20100704" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_WRITER_2007" CMPNAME="CREATE_CONTENT_TYPES" SCONAME="EP_CONTENT" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100701" CHANGEDON="00000000" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="XSTRING"/>
   <source>METHOD create_content_types.


** Constant node name
  DATA: lc_xml_node_types         TYPE string VALUE &apos;Types&apos;,
        lc_xml_node_override      TYPE string VALUE &apos;Override&apos;,
        lc_xml_node_default       TYPE string VALUE &apos;Default&apos;,
        &quot; Node attributes
        lc_xml_attr_partname      TYPE string VALUE &apos;PartName&apos;,
        lc_xml_attr_extension     TYPE string VALUE &apos;Extension&apos;,
        lc_xml_attr_contenttype   TYPE string VALUE &apos;ContentType&apos;,
        &quot; Node namespace
        lc_xml_node_types_ns      TYPE string VALUE &apos;http://schemas.openxmlformats.org/package/2006/content-types&apos;,
        &quot; Node extension
        lc_xml_node_rels_ext      TYPE string VALUE &apos;rels&apos;,
        lc_xml_node_xml_ext       TYPE string VALUE &apos;xml&apos;,
        &quot; Node partnumber
        lc_xml_node_theme_pn      TYPE string VALUE &apos;/xl/theme/theme1.xml&apos;,
        lc_xml_node_styles_pn     TYPE string VALUE &apos;/xl/styles.xml&apos;,
        lc_xml_node_workb_pn      TYPE string VALUE &apos;/xl/workbook.xml&apos;,
        lc_xml_node_props_pn      TYPE string VALUE &apos;/docProps/app.xml&apos;,
        lc_xml_node_worksheet_pn  TYPE string VALUE &apos;/xl/worksheets/sheet#.xml&apos;,
        lc_xml_node_strings_pn    TYPE string VALUE &apos;/xl/sharedStrings.xml&apos;,
        lc_xml_node_core_pn       TYPE string VALUE &apos;/docProps/core.xml&apos;,
        &quot; Node contentType
        lc_xml_node_theme_ct      TYPE string VALUE &apos;application/vnd.openxmlformats-officedocument.theme+xml&apos;,
        lc_xml_node_styles_ct     TYPE string VALUE &apos;application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml&apos;,
        lc_xml_node_workb_ct      TYPE string VALUE &apos;application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml&apos;,
        lc_xml_node_rels_ct       TYPE string VALUE &apos;application/vnd.openxmlformats-package.relationships+xml&apos;,
        lc_xml_node_xml_ct        TYPE string VALUE &apos;application/xml&apos;,
        lc_xml_node_props_ct      TYPE string VALUE &apos;application/vnd.openxmlformats-officedocument.extended-properties+xml&apos;,
        lc_xml_node_worksheet_ct  TYPE string VALUE &apos;application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml&apos;,
        lc_xml_node_strings_ct    TYPE string VALUE &apos;application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml&apos;,
        lc_xml_node_core_ct       TYPE string VALUE &apos;application/vnd.openxmlformats-package.core-properties+xml&apos;.

  DATA: lo_ixml           TYPE REF TO if_ixml,
        lo_document       TYPE REF TO if_ixml_document,
        lo_element_root   TYPE REF TO if_ixml_element,
        lo_element        TYPE REF TO if_ixml_element,
        lo_encoding       TYPE REF TO if_ixml_encoding,
        lo_streamfactory  TYPE REF TO if_ixml_stream_factory,
        lo_ostream        TYPE REF TO if_ixml_ostream,
        lo_renderer       TYPE REF TO if_ixml_renderer.

  DATA: lv_worksheets_num         TYPE i,
        lv_worksheets_numc        TYPE numc3,
        lv_xml_node_worksheet_pn  TYPE string,
        lv_xml_size               TYPE i.

**********************************************************************
* STEP 1: Create [Content_Types].xml into the root of the ZIP
  lo_ixml = cl_ixml=&gt;create( ).

**********************************************************************
* STEP 2: Set document attributes
  lo_encoding = lo_ixml-&gt;create_encoding( byte_order = if_ixml_encoding=&gt;co_platform_endian
                                          character_set = &apos;UTF-8&apos; ).
  lo_document = lo_ixml-&gt;create_document( ).
  lo_document-&gt;set_encoding( lo_encoding ).
  lo_document-&gt;set_standalone( abap_true ).

**********************************************************************
* STEP 3: Create main node types
  lo_element_root  = lo_document-&gt;create_simple_element( name   = lc_xml_node_types
                                                         parent = lo_document ).
  lo_element_root-&gt;set_attribute_ns( name  = &apos;xmlns&apos;
  value = lc_xml_node_types_ns ).

**********************************************************************
* STEP 4: Create subnodes
  &quot; Theme node
  lo_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_override
                                                   parent = lo_document ).
  lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_partname
                                value = lc_xml_node_theme_pn ).
  lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_contenttype
                                value = lc_xml_node_theme_ct ).
  lo_element_root-&gt;append_child( lo_element ).

  &quot; Styles node
  lo_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_override
                                                   parent = lo_document ).
  lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_partname
                                value = lc_xml_node_styles_pn ).
  lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_contenttype
                                value = lc_xml_node_styles_ct ).
  lo_element_root-&gt;append_child( lo_element ).

  &quot; rels node
  lo_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_default
                                                   parent = lo_document ).
  lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_extension
                                value = lc_xml_node_rels_ext ).
  lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_contenttype
                                value = lc_xml_node_rels_ct ).
  lo_element_root-&gt;append_child( lo_element ).

  &quot; extension node
  lo_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_default
                                                   parent = lo_document ).
  lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_extension
                                value = lc_xml_node_xml_ext ).
  lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_contenttype
                                value = lc_xml_node_xml_ct ).
  lo_element_root-&gt;append_child( lo_element ).

  &quot; Workbook node
  lo_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_override
                                                   parent = lo_document ).
  lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_partname
                                value = lc_xml_node_workb_pn ).
  lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_contenttype
                                value = lc_xml_node_workb_ct ).
  lo_element_root-&gt;append_child( lo_element ).

  &quot; Properties node
  lo_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_override
                                                   parent = lo_document ).
  lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_partname
                                value = lc_xml_node_props_pn ).
  lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_contenttype
                                value = lc_xml_node_props_ct ).
  lo_element_root-&gt;append_child( lo_element ).

  &quot; Worksheet node
  lv_worksheets_num = excel-&gt;get_worksheets_size( ).
  DO lv_worksheets_num TIMES.
    lo_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_override
                                                     parent = lo_document ).

    MOVE sy-index TO lv_worksheets_numc.
    SHIFT lv_worksheets_numc LEFT DELETING LEADING &apos;0&apos;.
    lv_xml_node_worksheet_pn = lc_xml_node_worksheet_pn.
    REPLACE ALL OCCURRENCES OF &apos;#&apos; IN lv_xml_node_worksheet_pn WITH lv_worksheets_numc.
    lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_partname
                                  value = lv_xml_node_worksheet_pn ).
    lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_contenttype
                                  value = lv_xml_node_worksheet_pn ).
    lo_element_root-&gt;append_child( lo_element ).
  ENDDO.

  &quot; Strings node
  lo_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_override
                                                   parent = lo_document ).
  lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_partname
                                value = lc_xml_node_strings_pn ).
  lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_contenttype
                                value = lc_xml_node_strings_ct ).
  lo_element_root-&gt;append_child( lo_element ).

  &quot; Strings node
  lo_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_override
                                                   parent = lo_document ).
  lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_partname
                                value = lc_xml_node_core_pn ).
  lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_contenttype
                                value = lc_xml_node_core_ct ).
  lo_element_root-&gt;append_child( lo_element ).

**********************************************************************
* STEP 5: Create xstring stream
  lo_streamfactory = lo_ixml-&gt;create_stream_factory( ).
  lo_ostream = lo_streamfactory-&gt;create_ostream_xstring( string = ep_content ).
  lo_renderer = lo_ixml-&gt;create_renderer( ostream  = lo_ostream document = lo_document ).
  lo_renderer-&gt;render( ).

ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_WRITER_2007" CMPNAME="CREATE_DOCPROPS_APP" VERSION="1" LANGU="E" DESCRIPT="Create &apos;docProps/app.xml&apos;" EXPOSURE="0" STATE="1" EDITORDER="4 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100701" CHANGEDBY="FEMIA" CHANGEDON="20100704" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_WRITER_2007" CMPNAME="CREATE_DOCPROPS_APP" SCONAME="EP_CONTENT" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100701" CHANGEDON="00000000" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="XSTRING"/>
   <source>METHOD create_docprops_app.


** Constant node name
  DATA: lc_xml_node_properties        TYPE string VALUE &apos;Properties&apos;,
        lc_xml_node_application       TYPE string VALUE &apos;Application&apos;,
        lc_xml_node_docsecurity       TYPE string VALUE &apos;DocSecurity&apos;,
        lc_xml_node_scalecrop         TYPE string VALUE &apos;ScaleCrop&apos;,
        lc_xml_node_headingpairs      TYPE string VALUE &apos;HeadingPairs&apos;,
        lc_xml_node_vector            TYPE string VALUE &apos;vector&apos;,
        lc_xml_node_variant           TYPE string VALUE &apos;variant&apos;,
        lc_xml_node_lpstr             TYPE string VALUE &apos;lpstr&apos;,
        lc_xml_node_i4                TYPE string VALUE &apos;i4&apos;,
        lc_xml_node_titlesofparts     TYPE string VALUE &apos;TitlesOfParts&apos;,
        lc_xml_node_company           TYPE string VALUE &apos;Company&apos;,
        lc_xml_node_linksuptodate     TYPE string VALUE &apos;LinksUpToDate&apos;,
        lc_xml_node_shareddoc         TYPE string VALUE &apos;SharedDoc&apos;,
        lc_xml_node_hyperlinkschanged TYPE string VALUE &apos;HyperlinksChanged&apos;,
        lc_xml_node_appversion        TYPE string VALUE &apos;AppVersion&apos;,
        &quot; Namespace prefix
        lc_vt_ns                      TYPE string VALUE &apos;vt&apos;,
        lc_xml_node_props_ns          TYPE string VALUE &apos;http://schemas.openxmlformats.org/officeDocument/2006/extended-properties&apos;,
        lc_xml_node_props_vt_ns       TYPE string VALUE &apos;http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes&apos;,
        &quot; Node attributes
        lc_xml_attr_size              TYPE string VALUE &apos;size&apos;,
        lc_xml_attr_basetype          TYPE string VALUE &apos;baseType&apos;.

  DATA: lo_ixml                 TYPE REF TO if_ixml,
        lo_document             TYPE REF TO if_ixml_document,
        lo_element_root         TYPE REF TO if_ixml_element,
        lo_element              TYPE REF TO if_ixml_element,
        lo_sub_element_vector   TYPE REF TO if_ixml_element,
        lo_sub_element_variant  TYPE REF TO if_ixml_element,
        lo_sub_element_lpstr    TYPE REF TO if_ixml_element,
        lo_sub_element_i4       TYPE REF TO if_ixml_element,
        lo_encoding             TYPE REF TO if_ixml_encoding,
        lo_streamfactory        TYPE REF TO if_ixml_stream_factory,
        lo_ostream              TYPE REF TO if_ixml_ostream,
        lo_renderer             TYPE REF TO if_ixml_renderer,
        lo_iterator             TYPE REF TO cl_object_collection_iterator,
        lo_worksheet            TYPE REF TO zcl_excel_worksheet.

  DATA: lv_value                TYPE string.

**********************************************************************
* STEP 1: Create [Content_Types].xml into the root of the ZIP
  lo_ixml = cl_ixml=&gt;create( ).

**********************************************************************
* STEP 2: Set document attributes
  lo_encoding = lo_ixml-&gt;create_encoding( byte_order = if_ixml_encoding=&gt;co_platform_endian
                                          character_set = &apos;utf-8&apos; ).
  lo_document = lo_ixml-&gt;create_document( ).
  lo_document-&gt;set_encoding( lo_encoding ).
  lo_document-&gt;set_standalone( abap_true ).

**********************************************************************
* STEP 3: Create main node properties
  lo_element_root  = lo_document-&gt;create_simple_element( name   = lc_xml_node_properties
                                                         parent = lo_document ).
  lo_element_root-&gt;set_attribute_ns( name  = &apos;xmlns&apos;
                                     value = lc_xml_node_props_ns ).
  lo_element_root-&gt;set_attribute_ns( name  = &apos;xmlns:vt&apos;
                                     value = lc_xml_node_props_vt_ns ).

**********************************************************************
* STEP 4: Create subnodes
  &quot; Application
  lo_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_application
                                                   parent = lo_document ).
  lv_value = excel-&gt;properties-&gt;application.
  lo_element-&gt;set_value( lv_value ).
  lo_element_root-&gt;append_child( lo_element ).

  &quot; DocSecurity
  lo_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_docsecurity
                                                            parent = lo_document ).
  lv_value = excel-&gt;properties-&gt;docsecurity.
  lo_element-&gt;set_value( lv_value ).
  lo_element_root-&gt;append_child( lo_element ).

  &quot; ScaleCrop
  lo_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_scalecrop
                                                   parent = lo_document ).
  lv_value = me-&gt;flag2bool( excel-&gt;properties-&gt;scalecrop ).
  lo_element-&gt;set_value( lv_value ).
  lo_element_root-&gt;append_child( lo_element ).

  &quot; HeadingPairs
  lo_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_headingpairs
                                                   parent = lo_document ).


  &quot; * vector node
  lo_sub_element_vector = lo_document-&gt;create_simple_element_ns( name   = lc_xml_node_vector
                                                                 prefix = lc_vt_ns
                                                                 parent = lo_document ).
  lo_sub_element_vector-&gt;set_attribute_ns( name    = lc_xml_attr_size
                                           value   = &apos;2&apos; ).
  lo_sub_element_vector-&gt;set_attribute_ns( name    = lc_xml_attr_basetype
                                           value   = lc_xml_node_variant ).

  &quot; ** variant node
  lo_sub_element_variant = lo_document-&gt;create_simple_element_ns( name   = lc_xml_node_variant
                                                                  prefix = lc_vt_ns
                                                                  parent = lo_document ).

  &quot; *** lpstr node
  lo_sub_element_lpstr = lo_document-&gt;create_simple_element_ns( name   = lc_xml_node_lpstr
                                                                prefix = lc_vt_ns
                                                                parent = lo_document ).
  lv_value = excel-&gt;get_worksheets_name( ).
  lo_sub_element_lpstr-&gt;set_value( lv_value ).
  lo_sub_element_variant-&gt;append_child( lo_sub_element_lpstr ). &quot; lpstr node

  lo_sub_element_vector-&gt;append_child( lo_sub_element_variant ). &quot; variant node

  &quot; ** variant node
  lo_sub_element_variant = lo_document-&gt;create_simple_element_ns( name   = lc_xml_node_variant
                                                                  prefix = lc_vt_ns
                                                                  parent = lo_document ).

  &quot; *** i4 node
  lo_sub_element_i4 = lo_document-&gt;create_simple_element_ns( name   = lc_xml_node_i4
                                                             prefix = lc_vt_ns
                                                             parent = lo_document ).
  lv_value = excel-&gt;get_worksheets_size( ).
  SHIFT lv_value RIGHT DELETING TRAILING space.
  SHIFT lv_value LEFT DELETING LEADING space.
  lo_sub_element_i4-&gt;set_value( lv_value ).
  lo_sub_element_variant-&gt;append_child( lo_sub_element_i4 ). &quot; lpstr node

  lo_sub_element_vector-&gt;append_child( lo_sub_element_variant ). &quot; variant node

  lo_element-&gt;append_child( lo_sub_element_vector ). &quot; vector node

  lo_element_root-&gt;append_child( lo_element ). &quot; HeadingPairs


  &quot; TitlesOfParts
  lo_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_titlesofparts
                                                   parent = lo_document ).


  &quot; * vector node
  lo_sub_element_vector = lo_document-&gt;create_simple_element_ns( name   = lc_xml_node_vector
                                                                 prefix = lc_vt_ns
                                                                 parent = lo_document ).
  lv_value = excel-&gt;get_worksheets_size( ).
  SHIFT lv_value RIGHT DELETING TRAILING space.
  SHIFT lv_value LEFT DELETING LEADING space.
  lo_sub_element_vector-&gt;set_attribute_ns( name    = lc_xml_attr_size
                                           value   = lv_value ).
  lo_sub_element_vector-&gt;set_attribute_ns( name    = lc_xml_attr_basetype
                                           value   = lc_xml_node_lpstr ).

  lo_iterator = excel-&gt;get_worksheets_iterator( ).

  WHILE lo_iterator-&gt;if_object_collection_iterator~has_next( ) EQ abap_true.
    &quot; ** lpstr node
    lo_sub_element_lpstr = lo_document-&gt;create_simple_element_ns( name   = lc_xml_node_lpstr
                                                                  prefix = lc_vt_ns
                                                                  parent = lo_document ).
    lo_worksheet ?= lo_iterator-&gt;if_object_collection_iterator~get_next( ).
    lv_value = lo_worksheet-&gt;title.
    lo_sub_element_lpstr-&gt;set_value( lv_value ).
    lo_sub_element_vector-&gt;append_child( lo_sub_element_lpstr ). &quot; lpstr node
  ENDWHILE.

  lo_element-&gt;append_child( lo_sub_element_vector ). &quot; vector node

  lo_element_root-&gt;append_child( lo_element ). &quot; TitlesOfParts



  &quot; Company
  lo_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_company
                                                   parent = lo_document ).
  lv_value = excel-&gt;properties-&gt;company.
  lo_element-&gt;set_value( lv_value ).
  lo_element_root-&gt;append_child( lo_element ).

  &quot; LinksUpToDate
  lo_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_linksuptodate
                                                   parent = lo_document ).
  lv_value = me-&gt;flag2bool( excel-&gt;properties-&gt;linksuptodate ).
  lo_element-&gt;set_value( lv_value ).
  lo_element_root-&gt;append_child( lo_element ).

  &quot; SharedDoc
  lo_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_shareddoc
                                                   parent = lo_document ).
  lv_value = me-&gt;flag2bool( excel-&gt;properties-&gt;shareddoc ).
  lo_element-&gt;set_value( lv_value ).
  lo_element_root-&gt;append_child( lo_element ).

  &quot; HyperlinksChanged
  lo_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_hyperlinkschanged
                                                   parent = lo_document ).
  lv_value = me-&gt;flag2bool( excel-&gt;properties-&gt;hyperlinkschanged ).
  lo_element-&gt;set_value( lv_value ).
  lo_element_root-&gt;append_child( lo_element ).

  &quot; AppVersion
  lo_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_appversion
                                                   parent = lo_document ).
  lv_value = excel-&gt;properties-&gt;appversion.
  lo_element-&gt;set_value( lv_value ).
  lo_element_root-&gt;append_child( lo_element ).

**********************************************************************
* STEP 5: Create xstring stream
  lo_streamfactory = lo_ixml-&gt;create_stream_factory( ).
  lo_ostream = lo_streamfactory-&gt;create_ostream_xstring( string = ep_content ).
  lo_renderer = lo_ixml-&gt;create_renderer( ostream  = lo_ostream document = lo_document ).
  lo_renderer-&gt;render( ).

ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_WRITER_2007" CMPNAME="CREATE_DOCPROPS_CORE" VERSION="1" LANGU="E" DESCRIPT="Create &apos;docProps/core.xml&apos;" EXPOSURE="0" STATE="1" EDITORDER="5 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100701" CHANGEDBY="FEMIA" CHANGEDON="20100704" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_WRITER_2007" CMPNAME="CREATE_DOCPROPS_CORE" SCONAME="EP_CONTENT" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100701" CHANGEDON="00000000" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="XSTRING"/>
   <source>METHOD create_docprops_core.


** Constant node name
  DATA: lc_xml_node_coreproperties  TYPE string VALUE &apos;coreProperties&apos;,
        lc_xml_node_creator         TYPE string VALUE &apos;creator&apos;,
        lc_xml_node_lastmodifiedby  TYPE string VALUE &apos;lastModifiedBy&apos;,
        lc_xml_node_created         TYPE string VALUE &apos;created&apos;,
        lc_xml_node_modified        TYPE string VALUE &apos;modified&apos;,
        &quot; Node attributes
        lc_xml_attr_type            TYPE string VALUE &apos;type&apos;,
        lc_xml_attr_target          TYPE string VALUE &apos;dcterms:W3CDTF&apos;,
        &quot; Node namespace
        lc_cp_ns                    TYPE string VALUE &apos;cp&apos;,
        lc_dc_ns                    TYPE string VALUE &apos;dc&apos;,
        lc_dcterms_ns               TYPE string VALUE &apos;dcterms&apos;,
        lc_dcmitype_ns              TYPE string VALUE &apos;dcmitype&apos;,
        lc_xsi_ns                   TYPE string VALUE &apos;xsi&apos;,
        lc_xml_node_cp_ns           TYPE string VALUE &apos;http://schemas.openxmlformats.org/package/2006/metadata/core-properties&apos;,
        lc_xml_node_dc_ns           TYPE string VALUE &apos;http://purl.org/dc/elements/1.1/&apos;,
        lc_xml_node_dcterms_ns      TYPE string VALUE &apos;http://purl.org/dc/terms/&apos;,
        lc_xml_node_dcmitype_ns     TYPE string VALUE &apos;http://purl.org/dc/dcmitype/&apos;,
        lc_xml_node_xsi_ns          TYPE string VALUE &apos;http://www.w3.org/2001/XMLSchema-instance&apos;.

  DATA: lo_ixml           TYPE REF TO if_ixml,
        lo_document       TYPE REF TO if_ixml_document,
        lo_element_root   TYPE REF TO if_ixml_element,
        lo_element        TYPE REF TO if_ixml_element,
        lo_encoding       TYPE REF TO if_ixml_encoding,
        lo_streamfactory  TYPE REF TO if_ixml_stream_factory,
        lo_ostream        TYPE REF TO if_ixml_ostream,
        lo_renderer       TYPE REF TO if_ixml_renderer.

  DATA: lv_value          TYPE string.

**********************************************************************
* STEP 1: Create [Content_Types].xml into the root of the ZIP
  lo_ixml = cl_ixml=&gt;create( ).

**********************************************************************
* STEP 2: Set document attributes
  lo_encoding = lo_ixml-&gt;create_encoding( byte_order = if_ixml_encoding=&gt;co_platform_endian
                                          character_set = &apos;utf-8&apos; ).
  lo_document = lo_ixml-&gt;create_document( ).
  lo_document-&gt;set_encoding( lo_encoding ).
  lo_document-&gt;set_standalone( abap_true ).

**********************************************************************
* STEP 3: Create main node coreProperties
  lo_element_root  = lo_document-&gt;create_simple_element_ns( name   = lc_xml_node_coreproperties
                                                            prefix = lc_cp_ns
                                                            parent = lo_document ).
  lo_element_root-&gt;set_attribute_ns( name  = &apos;xmlns:cp&apos;
                                     value = lc_xml_node_cp_ns ).
  lo_element_root-&gt;set_attribute_ns( name  = &apos;xmlns:dc&apos;
                                     value = lc_xml_node_dc_ns ).
  lo_element_root-&gt;set_attribute_ns( name  = &apos;xmlns:dcterms&apos;
                                     value = lc_xml_node_dcterms_ns ).
  lo_element_root-&gt;set_attribute_ns( name  = &apos;xmlns:dcmitype&apos;
                                     value = lc_xml_node_dcmitype_ns ).
  lo_element_root-&gt;set_attribute_ns( name  = &apos;xmlns:xsi&apos;
                                     value = lc_xml_node_xsi_ns ).

**********************************************************************
* STEP 4: Create subnodes
  &quot; Creator node
  lo_element = lo_document-&gt;create_simple_element_ns( name   = lc_xml_node_creator
                                                      prefix = lc_dc_ns
                                                      parent = lo_document ).
  lv_value = excel-&gt;properties-&gt;creator.
  lo_element-&gt;set_value( lv_value ).
  lo_element_root-&gt;append_child( lo_element ).

  &quot; lastModifiedBy node
  lo_element = lo_document-&gt;create_simple_element_ns( name   = lc_xml_node_lastmodifiedby
                                                      prefix = lc_cp_ns
                                                      parent = lo_document ).
  lv_value = excel-&gt;properties-&gt;lastmodifiedby.
  lo_element-&gt;set_value( lv_value ).
  lo_element_root-&gt;append_child( lo_element ).

  &quot; Created node
  lo_element = lo_document-&gt;create_simple_element_ns( name   = lc_xml_node_created
                                                      prefix = lc_dcterms_ns
                                                      parent = lo_document ).
  lo_element-&gt;set_attribute_ns( name    = lc_xml_attr_type
                                prefix  = lc_xsi_ns
                                value   = lc_xml_attr_target ).
  lv_value = excel-&gt;properties-&gt;created.
  lv_value = &apos;2010-07-04T14:58:53Z&apos;.
  lo_element-&gt;set_value( lv_value ).
  lo_element_root-&gt;append_child( lo_element ).

  &quot; Modified node
  lo_element = lo_document-&gt;create_simple_element_ns( name   = lc_xml_node_modified
                                                      prefix = lc_dcterms_ns
                                                      parent = lo_document ).
  lo_element-&gt;set_attribute_ns( name    = lc_xml_attr_type
                                prefix  = lc_xsi_ns
                                value   = lc_xml_attr_target ).
  lv_value = excel-&gt;properties-&gt;modified.
  lv_value = &apos;2010-07-04T14:58:53Z&apos;.
  lo_element-&gt;set_value( lv_value ).
  lo_element_root-&gt;append_child( lo_element ).

**********************************************************************
* STEP 5: Create xstring stream
  lo_streamfactory = lo_ixml-&gt;create_stream_factory( ).
  lo_ostream = lo_streamfactory-&gt;create_ostream_xstring( string = ep_content ).
  lo_renderer = lo_ixml-&gt;create_renderer( ostream  = lo_ostream document = lo_document ).
  lo_renderer-&gt;render( ).

ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_WRITER_2007" CMPNAME="CREATE_RELATIONSHIPS" VERSION="1" LANGU="E" DESCRIPT="Create &apos;_rels/.rels&apos;" EXPOSURE="0" STATE="1" EDITORDER="6 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100701" CHANGEDBY="FEMIA" CHANGEDON="20100704" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_WRITER_2007" CMPNAME="CREATE_RELATIONSHIPS" SCONAME="EP_CONTENT" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100701" CHANGEDON="00000000" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="XSTRING"/>
   <source>METHOD CREATE_RELATIONSHIPS.


** Constant node name
  DATA: lc_xml_node_relationships TYPE string VALUE &apos;Relationships&apos;,
        lc_xml_node_relationship  TYPE string VALUE &apos;Relationship&apos;,
        &quot; Node attributes
        lc_xml_attr_id            TYPE string VALUE &apos;Id&apos;,
        lc_xml_attr_type          TYPE string VALUE &apos;Type&apos;,
        lc_xml_attr_target        TYPE string VALUE &apos;Target&apos;,
        &quot; Node namespace
        lc_xml_node_rels_ns       TYPE string VALUE &apos;http://schemas.openxmlformats.org/package/2006/relationships&apos;,
        &quot; Node id
        lc_xml_node_rId1_id       TYPE string VALUE &apos;rId1&apos;,
        lc_xml_node_rId2_id       TYPE string VALUE &apos;rId2&apos;,
        lc_xml_node_rId3_id       TYPE string VALUE &apos;rId3&apos;,
        &quot; Node type
        lc_xml_node_rId1_tp       TYPE string VALUE &apos;http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument&apos;,
        lc_xml_node_rId2_tp       TYPE string VALUE &apos;http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties&apos;,
        lc_xml_node_rId3_tp       TYPE string VALUE &apos;http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties&apos;,
        &quot; Node target
        lc_xml_node_rId1_tg       TYPE string VALUE &apos;xl/workbook.xml&apos;,
        lc_xml_node_rId2_tg       TYPE string VALUE &apos;docProps/core.xml&apos;,
        lc_xml_node_rId3_tg       TYPE string VALUE &apos;docProps/app.xml&apos;.

  DATA: lo_ixml           TYPE REF TO if_ixml,
        lo_document       TYPE REF TO if_ixml_document,
        lo_element_root   TYPE REF TO if_ixml_element,
        lo_element        TYPE REF TO if_ixml_element,
        lo_encoding       TYPE REF TO if_ixml_encoding,
        lo_streamfactory  TYPE REF TO if_ixml_stream_factory,
        lo_ostream        TYPE REF TO if_ixml_ostream,
        lo_renderer       TYPE REF TO if_ixml_renderer.

**********************************************************************
* STEP 1: Create [Content_Types].xml into the root of the ZIP
  lo_ixml = cl_ixml=&gt;create( ).

**********************************************************************
* STEP 2: Set document attributes
  lo_encoding = lo_ixml-&gt;create_encoding( byte_order = if_ixml_encoding=&gt;co_platform_endian
                                          character_set = &apos;utf-8&apos; ).
  lo_document = lo_ixml-&gt;create_document( ).
  lo_document-&gt;set_encoding( lo_encoding ).
  lo_document-&gt;set_standalone( abap_true ).

**********************************************************************
* STEP 3: Create main node relationships
  lo_element_root  = lo_document-&gt;create_simple_element( name   = lc_xml_node_relationships
                                                         parent = lo_document ).
  lo_element_root-&gt;set_attribute_ns( name  = &apos;xmlns&apos;
                                     value = lc_xml_node_rels_ns ).

**********************************************************************
* STEP 4: Create subnodes
  &quot; Theme node
  lo_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_relationship
                                                   parent = lo_document ).
  lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_id
                                value = lc_xml_node_rId3_id ).
  lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_type
                                value = lc_xml_node_rId3_tp ).
  lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_target
                                value = lc_xml_node_rId3_tg ).
  lo_element_root-&gt;append_child( lo_element ).

  &quot; Styles node
  lo_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_relationship
                                                   parent = lo_document ).
  lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_id
                                value = lc_xml_node_rId2_id ).
  lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_type
                                value = lc_xml_node_rId2_tp ).
  lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_target
                                value = lc_xml_node_rId2_tg ).
  lo_element_root-&gt;append_child( lo_element ).

  &quot; rels node
  lo_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_relationship
                                                   parent = lo_document ).
  lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_id
                                value = lc_xml_node_rId1_id ).
  lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_type
                                value = lc_xml_node_rId1_tp ).
  lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_target
                                value = lc_xml_node_rId1_tg ).
  lo_element_root-&gt;append_child( lo_element ).

**********************************************************************
* STEP 5: Create xstring stream
  lo_streamfactory = lo_ixml-&gt;create_stream_factory( ).
  lo_ostream = lo_streamfactory-&gt;create_ostream_xstring( string = ep_content ).
  lo_renderer = lo_ixml-&gt;create_renderer( ostream  = lo_ostream document = lo_document ).
  lo_renderer-&gt;render( ).

ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_WRITER_2007" CMPNAME="CREATE_XL_CALCCHAIN" VERSION="1" LANGU="E" DESCRIPT="Create &apos;xl/calcChain.xml&apos;" EXPOSURE="0" STATE="1" EDITORDER="7 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100710" CHANGEDBY="FEMIA" CHANGEDON="20100710" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_WRITER_2007" CMPNAME="CREATE_XL_CALCCHAIN" SCONAME="EP_CONTENT" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100710" CHANGEDON="00000000" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="XSTRING"/>
   <source>METHOD create_xl_calcchain.


** Constant node name
  DATA: lc_xml_node_calcchain     TYPE string VALUE &apos;calcChain&apos;,
        lc_xml_node_c             TYPE string VALUE &apos;c&apos;,
        &quot; Node attributes
        lc_xml_attr_r             TYPE string VALUE &apos;r&apos;,
        lc_xml_attr_i             TYPE string VALUE &apos;i&apos;,
        &quot; Node namespace
        lc_xml_node_ns            TYPE string VALUE &apos;http://schemas.openxmlformats.org/spreadsheetml/2006/main&apos;.

  DATA: lo_ixml           TYPE REF TO if_ixml,
        lo_document       TYPE REF TO if_ixml_document,
        lo_element_root   TYPE REF TO if_ixml_element,
        lo_element        TYPE REF TO if_ixml_element,
        lo_encoding       TYPE REF TO if_ixml_encoding,
        lo_streamfactory  TYPE REF TO if_ixml_stream_factory,
        lo_ostream        TYPE REF TO if_ixml_ostream,
        lo_renderer       TYPE REF TO if_ixml_renderer,
        lo_iterator       TYPE REF TO cl_object_collection_iterator,
        lo_worksheet      TYPE REF TO zcl_excel_worksheet.

  DATA: lv_value            TYPE string,
        lv_value_i          TYPE string,
        lv_sheets_count     TYPE i.

  FIELD-SYMBOLS: &lt;ls_sheet_content&gt; TYPE zexcel_s_cell_data.

**********************************************************************
* STEP 1: Create xl/calcChain.xml
  lo_ixml = cl_ixml=&gt;create( ).

**********************************************************************
* STEP 2: Set document attributes
  lo_encoding = lo_ixml-&gt;create_encoding( byte_order = if_ixml_encoding=&gt;co_platform_endian
                                          character_set = &apos;UTF-8&apos; ).
  lo_document = lo_ixml-&gt;create_document( ).
  lo_document-&gt;set_encoding( lo_encoding ).
  lo_document-&gt;set_standalone( abap_true ).

**********************************************************************
* STEP 3: Create main node calcChain
  lo_element_root  = lo_document-&gt;create_simple_element( name   = lc_xml_node_calcchain
                                                         parent = lo_document ).
  lo_element_root-&gt;set_attribute_ns( name  = &apos;xmlns&apos;
                                     value = lc_xml_node_ns ).

**********************************************************************
* STEP 4: Create subnodes
  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( ).
    ADD 1 TO lv_sheets_count.
    MOVE lv_sheets_count TO lv_value_i.
    SHIFT lv_value_i RIGHT DELETING TRAILING space.
    SHIFT lv_value_i LEFT DELETING LEADING space.
    LOOP AT lo_worksheet-&gt;sheet_content ASSIGNING &lt;ls_sheet_content&gt; WHERE cell_formula IS NOT INITIAL.
      &quot; formula chain node
      lo_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_c
                                                       parent = lo_document ).
      lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_r
                                    value = lv_value ).
      lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_i
                                    value = lv_value_i ).
      lo_element_root-&gt;append_child( lo_element ).
    ENDLOOP.
  ENDWHILE.

**********************************************************************
* STEP 5: Create xstring stream
  lo_streamfactory = lo_ixml-&gt;create_stream_factory( ).
  lo_ostream = lo_streamfactory-&gt;create_ostream_xstring( string = ep_content ).
  lo_renderer = lo_ixml-&gt;create_renderer( ostream  = lo_ostream document = lo_document ).
  lo_renderer-&gt;render( ).

ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_WRITER_2007" CMPNAME="CREATE_XL_RELATIONSHIPS" VERSION="1" LANGU="E" DESCRIPT="Create &apos;xl/_rels/workbook.xml.rels&apos;" EXPOSURE="0" STATE="1" EDITORDER="8 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100702" CHANGEDBY="FEMIA" CHANGEDON="20100710" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_WRITER_2007" CMPNAME="CREATE_XL_RELATIONSHIPS" SCONAME="EP_CONTENT" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100702" CHANGEDON="00000000" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="XSTRING"/>
   <source>METHOD create_xl_relationships.


** Constant node name
  DATA: lc_xml_node_relationships TYPE string VALUE &apos;Relationships&apos;,
        lc_xml_node_relationship  TYPE string VALUE &apos;Relationship&apos;,
        &quot; Node attributes
        lc_xml_attr_id            TYPE string VALUE &apos;Id&apos;,
        lc_xml_attr_type          TYPE string VALUE &apos;Type&apos;,
        lc_xml_attr_target        TYPE string VALUE &apos;Target&apos;,
        &quot; Node namespace
        lc_xml_node_rels_ns       TYPE string VALUE &apos;http://schemas.openxmlformats.org/package/2006/relationships&apos;,
        &quot; Node id
        lc_xml_node_ridx_id       TYPE string VALUE &apos;rId#&apos;,
        &quot; Node type
        lc_xml_node_rid_sheet_tp      TYPE string VALUE &apos;http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet&apos;,
        lc_xml_node_rid_theme_tp      TYPE string VALUE &apos;http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme&apos;,
        lc_xml_node_rid_styles_tp     TYPE string VALUE &apos;http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles&apos;,
        lc_xml_node_rid_shared_tp     TYPE string VALUE &apos;http://schemas.openxmlformats.org/officeDocument/2006/relationships/sharedStrings&apos;,
        lc_xml_node_rid_calcchain_tp  TYPE string VALUE &apos;http://schemas.openxmlformats.org/officeDocument/2006/relationships/calcChain&apos;,
        &quot; Node target
        lc_xml_node_ridx_tg           TYPE string VALUE &apos;worksheets/sheet#.xml&apos;,
        lc_xml_node_rid_shared_tg     TYPE string VALUE &apos;sharedStrings.xml&apos;,
        lc_xml_node_rid_styles_tg     TYPE string VALUE &apos;styles.xml&apos;,
        lc_xml_node_rid_theme_tg      TYPE string VALUE &apos;theme/theme1.xml&apos;,
        lc_xml_node_rid_calcchain_tg  TYPE string VALUE &apos;calcChain.xml&apos;.

  DATA: lo_ixml           TYPE REF TO if_ixml,
        lo_document       TYPE REF TO if_ixml_document,
        lo_element_root   TYPE REF TO if_ixml_element,
        lo_element        TYPE REF TO if_ixml_element,
        lo_encoding       TYPE REF TO if_ixml_encoding,
        lo_streamfactory  TYPE REF TO if_ixml_stream_factory,
        lo_ostream        TYPE REF TO if_ixml_ostream,
        lo_renderer       TYPE REF TO if_ixml_renderer.

  DATA: lv_xml_node_ridx_tg       TYPE string,
        lv_xml_node_ridx_id       TYPE string,
        lv_size                   TYPE i,
        lv_syindex(2)             TYPE c.

**********************************************************************
* STEP 1: Create [Content_Types].xml into the root of the ZIP
  lo_ixml = cl_ixml=&gt;create( ).

**********************************************************************
* STEP 2: Set document attributes
  lo_encoding = lo_ixml-&gt;create_encoding( byte_order = if_ixml_encoding=&gt;co_platform_endian
                                          character_set = &apos;utf-8&apos; ).
  lo_document = lo_ixml-&gt;create_document( ).
  lo_document-&gt;set_encoding( lo_encoding ).
  lo_document-&gt;set_standalone( abap_true ).

**********************************************************************
* STEP 3: Create main node relationships
  lo_element_root  = lo_document-&gt;create_simple_element( name   = lc_xml_node_relationships
                                                         parent = lo_document ).
  lo_element_root-&gt;set_attribute_ns( name  = &apos;xmlns&apos;
                                     value = lc_xml_node_rels_ns ).

**********************************************************************
* STEP 4: Create subnodes

  lv_size = excel-&gt;get_worksheets_size( ).

  &quot; Relationship node
  lo_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_relationship
                                                   parent = lo_document ).
  lv_size = lv_size + 2.
  lv_syindex = lv_size.
  SHIFT lv_syindex RIGHT DELETING TRAILING space.
  SHIFT lv_syindex LEFT DELETING LEADING space.
  lv_xml_node_ridx_id = lc_xml_node_ridx_id.
  REPLACE ALL OCCURRENCES OF &apos;#&apos; IN lv_xml_node_ridx_id WITH lv_syindex.
  lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_id
                                value = lv_xml_node_ridx_id ).
  lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_type
                                value = lc_xml_node_rid_styles_tp ).
  lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_target
                                value = lc_xml_node_rid_styles_tg ).
  lo_element_root-&gt;append_child( lo_element ).


  &quot; Relationship node
  lo_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_relationship
                                                  parent = lo_document ).
  lv_size = lv_size - 1.
  lv_syindex = lv_size.
  SHIFT lv_syindex RIGHT DELETING TRAILING space.
  SHIFT lv_syindex LEFT DELETING LEADING space.
  lv_xml_node_ridx_id = lc_xml_node_ridx_id.
  REPLACE ALL OCCURRENCES OF &apos;#&apos; IN lv_xml_node_ridx_id WITH lv_syindex.
  lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_id
                                value = lv_xml_node_ridx_id ).
  lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_type
                                value = lc_xml_node_rid_theme_tp ).
  lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_target
                                value = lc_xml_node_rid_theme_tg ).
  lo_element_root-&gt;append_child( lo_element ).

  lv_size = excel-&gt;get_worksheets_size( ).

  DO lv_size TIMES.
    &quot; Relationship node
    lo_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_relationship
    parent = lo_document ).
    lv_xml_node_ridx_id = lc_xml_node_ridx_id.
    lv_xml_node_ridx_tg = lc_xml_node_ridx_tg.
    lv_syindex = sy-index.
    SHIFT lv_syindex RIGHT DELETING TRAILING space.
    SHIFT lv_syindex LEFT DELETING LEADING space.
    REPLACE ALL OCCURRENCES OF &apos;#&apos; IN lv_xml_node_ridx_id WITH lv_syindex.
    REPLACE ALL OCCURRENCES OF &apos;#&apos; IN lv_xml_node_ridx_tg WITH lv_syindex.
    lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_id
    value = lv_xml_node_ridx_id ).
    lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_type
    value = lc_xml_node_rid_sheet_tp ).
    lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_target
    value = lv_xml_node_ridx_tg ).
    lo_element_root-&gt;append_child( lo_element ).
  ENDDO.

  &quot; Relationship node
  lo_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_relationship
                                                   parent = lo_document ).
  ADD 3 TO lv_size.
  lv_syindex = lv_size.
  SHIFT lv_syindex RIGHT DELETING TRAILING space.
  SHIFT lv_syindex LEFT DELETING LEADING space.
  lv_xml_node_ridx_id = lc_xml_node_ridx_id.
  REPLACE ALL OCCURRENCES OF &apos;#&apos; IN lv_xml_node_ridx_id WITH lv_syindex.
  lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_id
                                value = lv_xml_node_ridx_id ).
  lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_type
                                value = lc_xml_node_rid_shared_tp ).
  lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_target
                                value = lc_xml_node_rid_shared_tg ).
  lo_element_root-&gt;append_child( lo_element ).

  &quot; Relationship node
  lo_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_relationship
                                                   parent = lo_document ).
  ADD 1 TO lv_size.
  lv_syindex = lv_size.
  SHIFT lv_syindex RIGHT DELETING TRAILING space.
  SHIFT lv_syindex LEFT DELETING LEADING space.
  lv_xml_node_ridx_id = lc_xml_node_ridx_id.
  REPLACE ALL OCCURRENCES OF &apos;#&apos; IN lv_xml_node_ridx_id WITH lv_syindex.
  lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_id
                                value = lv_xml_node_ridx_id ).
  lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_type
                                value = lc_xml_node_rid_calcchain_tp ).
  lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_target
                                value = lc_xml_node_rid_calcchain_tg ).
  lo_element_root-&gt;append_child( lo_element ).

**********************************************************************
* STEP 5: Create xstring stream
  lo_streamfactory = lo_ixml-&gt;create_stream_factory( ).
  lo_ostream = lo_streamfactory-&gt;create_ostream_xstring( string = ep_content ).
  lo_renderer = lo_ixml-&gt;create_renderer( ostream  = lo_ostream document = lo_document ).
  lo_renderer-&gt;render( ).

ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_WRITER_2007" CMPNAME="CREATE_XL_SHAREDSTRINGS" VERSION="1" LANGU="E" DESCRIPT="Create &apos;xl/sharedStrings.xml&apos;" EXPOSURE="0" STATE="1" EDITORDER="9 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100702" CHANGEDBY="FEMIA" CHANGEDON="20100710" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_WRITER_2007" CMPNAME="CREATE_XL_SHAREDSTRINGS" SCONAME="EP_CONTENT" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100702" CHANGEDON="00000000" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="XSTRING"/>
   <source>METHOD create_xl_sharedstrings.


** Constant node name
  DATA: lc_xml_node_sst           TYPE string VALUE &apos;sst&apos;,
        lc_xml_node_si            TYPE string VALUE &apos;si&apos;,
        lc_xml_node_t             TYPE string VALUE &apos;t&apos;,
        &quot; Node attributes
        lc_xml_attr_count         TYPE string VALUE &apos;count&apos;,
        lc_xml_attr_uniquecount   TYPE string VALUE &apos;uniqueCount&apos;,
        &quot; Node namespace
        lc_xml_node_ns            TYPE string VALUE &apos;http://schemas.openxmlformats.org/spreadsheetml/2006/main&apos;.

  DATA: lo_ixml           TYPE REF TO if_ixml,
        lo_document       TYPE REF TO if_ixml_document,
        lo_element_root   TYPE REF TO if_ixml_element,
        lo_element        TYPE REF TO if_ixml_element,
        lo_sub_element    TYPE REF TO if_ixml_element,
        lo_encoding       TYPE REF TO if_ixml_encoding,
        lo_streamfactory  TYPE REF TO if_ixml_stream_factory,
        lo_ostream        TYPE REF TO if_ixml_ostream,
        lo_renderer       TYPE REF TO if_ixml_renderer,
        lo_iterator       TYPE REF TO cl_object_collection_iterator,
        lo_worksheet      TYPE REF TO zcl_excel_worksheet.

  DATA: lt_cell_data        TYPE zexcel_t_cell_data_unsorted,
        ls_shared_string    TYPE zexcel_s_shared_string,
        lv_value            TYPE string,
        lv_count_str        TYPE string,
        lv_uniquecount_str  TYPE string,
        lv_sytabix          TYPE sytabix,
        lv_count            TYPE i,
        lv_uniquecount      TYPE i.

  FIELD-SYMBOLS: &lt;fs_sheet_content&gt; TYPE zexcel_s_cell_data,
                 &lt;fs_sheet_string&gt;  TYPE zexcel_s_shared_string.

**********************************************************************
* 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

  DESCRIBE TABLE lt_cell_data LINES lv_count.
  MOVE lv_count TO lv_count_str.

  SHIFT lv_count_str RIGHT DELETING TRAILING space.
  SHIFT lv_count_str LEFT DELETING LEADING space.

  SORT lt_cell_data BY cell_value.
  DELETE ADJACENT DUPLICATES FROM lt_cell_data COMPARING cell_value.

  DESCRIBE TABLE lt_cell_data LINES lv_uniquecount.
  MOVE lv_uniquecount TO lv_uniquecount_str.

  SHIFT lv_uniquecount_str RIGHT DELETING TRAILING space.
  SHIFT lv_uniquecount_str LEFT DELETING LEADING space.

  LOOP AT lt_cell_data ASSIGNING &lt;fs_sheet_content&gt;.
    lv_sytabix = sy-tabix - 1.
    MOVE lv_sytabix                    TO ls_shared_string-string_no.
    MOVE &lt;fs_sheet_content&gt;-cell_value TO ls_shared_string-string_value.
    APPEND ls_shared_string TO shared_strings.
  ENDLOOP.


**********************************************************************
* STEP 1: Create [Content_Types].xml into the root of the ZIP
  lo_ixml = cl_ixml=&gt;create( ).

**********************************************************************
* STEP 2: Set document attributes
  lo_encoding = lo_ixml-&gt;create_encoding( byte_order = if_ixml_encoding=&gt;co_platform_endian
                                          character_set = &apos;utf-8&apos; ).
  lo_document = lo_ixml-&gt;create_document( ).
  lo_document-&gt;set_encoding( lo_encoding ).
  lo_document-&gt;set_standalone( abap_true ).

**********************************************************************
* STEP 3: Create main node
  lo_element_root  = lo_document-&gt;create_simple_element( name   = lc_xml_node_sst
                                                         parent = lo_document ).
  lo_element_root-&gt;set_attribute_ns( name  = &apos;xmlns&apos;
                                     value = lc_xml_node_ns ).
  lo_element_root-&gt;set_attribute_ns( name  = lc_xml_attr_count
                                     value = lv_count_str ).
  lo_element_root-&gt;set_attribute_ns( name  = lc_xml_attr_uniquecount
                                     value = lv_uniquecount_str ).

**********************************************************************
* STEP 4: Create subnode
  LOOP AT shared_strings ASSIGNING &lt;fs_sheet_string&gt;.
    lo_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_si
                                                     parent = lo_document ).
    lo_sub_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_t
                                                         parent = lo_document ).
    lo_sub_element-&gt;set_value( &lt;fs_sheet_string&gt;-string_value ).
    lo_element-&gt;append_child( lo_sub_element ).
    lo_element_root-&gt;append_child( lo_element ).
  ENDLOOP.

**********************************************************************
* STEP 5: Create xstring stream
  lo_streamfactory = lo_ixml-&gt;create_stream_factory( ).
  lo_ostream = lo_streamfactory-&gt;create_ostream_xstring( string = ep_content ).
  lo_renderer = lo_ixml-&gt;create_renderer( ostream  = lo_ostream document = lo_document ).
  lo_renderer-&gt;render( ).

ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_WRITER_2007" CMPNAME="CREATE_XL_SHEET" VERSION="1" LANGU="E" DESCRIPT="Create &apos;xl/sheet.xml&apos;" EXPOSURE="0" STATE="1" EDITORDER="10 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100702" CHANGEDBY="FEMIA" CHANGEDON="20100710" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_WRITER_2007" CMPNAME="CREATE_XL_SHEET" SCONAME="IO_WORKSHEET" VERSION="1" LANGU="E" DESCRIPT="Worksheet" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100702" CHANGEDON="00000000" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="3" TYPE="ZCL_EXCEL_WORKSHEET"/>
   <parameter CLSNAME="ZCL_EXCEL_WRITER_2007" CMPNAME="CREATE_XL_SHEET" SCONAME="IV_ACTIVE" VERSION="1" LANGU="E" DESCRIPT="General Flag" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100702" CHANGEDON="00000000" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="FLAG" PARVALUE="&apos;&apos;"/>
   <parameter CLSNAME="ZCL_EXCEL_WRITER_2007" CMPNAME="CREATE_XL_SHEET" SCONAME="EP_CONTENT" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="3 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100702" CHANGEDBY="FEMIA" CHANGEDON="20100702" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="XSTRING"/>
   <source>METHOD create_xl_sheet.


** Constant node name
  DATA: lc_xml_node_worksheet         TYPE string VALUE &apos;worksheet&apos;,
        lc_xml_node_dimension         TYPE string VALUE &apos;dimension&apos;,
        lc_xml_node_sheetviews        TYPE string VALUE &apos;sheetViews&apos;,
        lc_xml_node_sheetview         TYPE string VALUE &apos;sheetView&apos;,
        lc_xml_node_selection         TYPE string VALUE &apos;selection&apos;,
        lc_xml_node_sheetformatpr     TYPE string VALUE &apos;sheetFormatPr&apos;,
        lc_xml_node_sheetdata         TYPE string VALUE &apos;sheetData&apos;,
        lc_xml_node_row               TYPE string VALUE &apos;row&apos;,
        lc_xml_node_c                 TYPE string VALUE &apos;c&apos;,
        lc_xml_node_v                 TYPE string VALUE &apos;v&apos;,
        lc_xml_node_f                 TYPE string VALUE &apos;f&apos;,
        lc_xml_node_pagemargins       TYPE string VALUE &apos;pageMargins&apos;,
        lc_xml_node_condformatting    TYPE string VALUE &apos;conditionalFormatting&apos;,
        lc_xml_node_cfrule            TYPE string VALUE &apos;cfRule&apos;,
        lc_xml_node_iconset           TYPE string VALUE &apos;iconSet&apos;,
        lc_xml_node_cfvo              TYPE string VALUE &apos;cfvo&apos;,
        lc_xml_node_formula           TYPE string VALUE &apos;formula&apos;,
        &quot; Node attributes
        lc_xml_attr_ref               TYPE string VALUE &apos;ref&apos;,
        lc_xml_attr_tabselected       TYPE string VALUE &apos;tabSelected&apos;,
        lc_xml_attr_workbookviewid    TYPE string VALUE &apos;workbookViewId&apos;,
        lc_xml_attr_activecell        TYPE string VALUE &apos;activeCell&apos;,
        lc_xml_attr_sqref             TYPE string VALUE &apos;sqref&apos;,
        lc_xml_attr_defaultrowheight  TYPE string VALUE &apos;defaultRowHeight&apos;,
        lc_xml_attr_r                 TYPE string VALUE &apos;r&apos;,
        lc_xml_attr_s                 TYPE string VALUE &apos;s&apos;,
        lc_xml_attr_spans             TYPE string VALUE &apos;spans&apos;,
        lc_xml_attr_t                 TYPE string VALUE &apos;t&apos;,
        lc_xml_attr_left              TYPE string VALUE &apos;left&apos;,
        lc_xml_attr_right             TYPE string VALUE &apos;right&apos;,
        lc_xml_attr_top               TYPE string VALUE &apos;top&apos;,
        lc_xml_attr_bottom            TYPE string VALUE &apos;bottom&apos;,
        lc_xml_attr_header            TYPE string VALUE &apos;header&apos;,
        lc_xml_attr_footer            TYPE string VALUE &apos;footer&apos;,
        lc_xml_attr_type              TYPE string VALUE &apos;type&apos;,
        lc_xml_attr_iconset           TYPE string VALUE &apos;iconSet&apos;,
        lc_xml_attr_val               TYPE string VALUE &apos;val&apos;,
        lc_xml_attr_dxfid             TYPE string VALUE &apos;dxfId&apos;,
        lc_xml_attr_priority          TYPE string VALUE &apos;priority&apos;,
        lc_xml_attr_operator          TYPE string VALUE &apos;operator&apos;,
        &quot; Node namespace
        lc_xml_node_ns                TYPE string VALUE &apos;http://schemas.openxmlformats.org/spreadsheetml/2006/main&apos;,
        lc_xml_node_r_ns              TYPE string VALUE &apos;http://schemas.openxmlformats.org/officeDocument/2006/relationships&apos;.

  DATA: lo_ixml               TYPE REF TO if_ixml,
        lo_document           TYPE REF TO if_ixml_document,
        lo_element_root       TYPE REF TO if_ixml_element,
        lo_element            TYPE REF TO if_ixml_element,
        lo_element_2          TYPE REF TO if_ixml_element,
        lo_element_3          TYPE REF TO if_ixml_element,
        lo_element_4          TYPE REF TO if_ixml_element,
        lo_encoding           TYPE REF TO if_ixml_encoding,
        lo_streamfactory      TYPE REF TO if_ixml_stream_factory,
        lo_ostream            TYPE REF TO if_ixml_ostream,
        lo_renderer           TYPE REF TO if_ixml_renderer,
        lo_iterator           TYPE REF TO cl_object_collection_iterator,
        lo_style_conditional  TYPE REF TO zcl_excel_style_conditional.

  DATA: lv_value          TYPE string,
        lt_percent_val    TYPE TABLE OF string,
        ls_percent_val    TYPE string,
        ls_last_row       TYPE zexcel_s_cell_data,
        ls_style_mapping  TYPE zexcel_s_styles_mapping.

  FIELD-SYMBOLS: &lt;ls_sheet_content&gt; TYPE zexcel_s_cell_data.

**********************************************************************
* STEP 1: Create [Content_Types].xml into the root of the ZIP
  lo_ixml = cl_ixml=&gt;create( ).

**********************************************************************
* STEP 2: Set document attributes
  lo_encoding = lo_ixml-&gt;create_encoding( byte_order = if_ixml_encoding=&gt;co_platform_endian
                                          character_set = &apos;utf-8&apos; ).
  lo_document = lo_ixml-&gt;create_document( ).
  lo_document-&gt;set_encoding( lo_encoding ).
  lo_document-&gt;set_standalone( abap_true ).

***********************************************************************
* STEP 3: Create main node relationships
  lo_element_root  = lo_document-&gt;create_simple_element( name   = lc_xml_node_worksheet
                                                         parent = lo_document ).
  lo_element_root-&gt;set_attribute_ns( name  = &apos;xmlns&apos;
                                     value = lc_xml_node_ns ).
  lo_element_root-&gt;set_attribute_ns( name  = &apos;xmlns:r&apos;
                                     value = lc_xml_node_r_ns ).

**********************************************************************
* STEP 4: Create subnodes

  &quot; dimension node
  lo_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_dimension
                                                   parent = lo_document ).
  lv_value = io_worksheet-&gt;get_dimension_range( ).
  lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_ref
                                value = lv_value ).
  lo_element_root-&gt;append_child( lo_element ).

  &quot; sheetViews node
  lo_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_sheetviews
                                                   parent = lo_document ).
  &quot; sheetView node
  lo_element_2 = lo_document-&gt;create_simple_element( name   = lc_xml_node_sheetview
                                                     parent = lo_document ).
  IF iv_active EQ abap_true.
    lo_element_2-&gt;set_attribute_ns( name  = lc_xml_attr_tabselected
                                    value = &apos;1&apos; ).
  ENDIF.
  lo_element_2-&gt;set_attribute_ns( name  = lc_xml_attr_workbookviewid
                                          value = &apos;0&apos; ).

  &quot; selection node
  lo_element_3 = lo_document-&gt;create_simple_element( name   = lc_xml_node_selection
                                                     parent = lo_document ).
  lv_value = io_worksheet-&gt;get_active_cell( ).
  lo_element_3-&gt;set_attribute_ns( name  = lc_xml_attr_activecell
                                  value = lv_value ).

  lo_element_3-&gt;set_attribute_ns( name  = lc_xml_attr_sqref
                                  value = lv_value ).

  lo_element_2-&gt;append_child( lo_element_3 ). &quot; sheetView node

  lo_element-&gt;append_child( lo_element_2 ). &quot; sheetView node

  lo_element_root-&gt;append_child( lo_element ). &quot; sheetViews node


  &quot; sheetFormatPr node
  lo_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_sheetformatpr
                                                   parent = lo_document ).
  lv_value = io_worksheet-&gt;defaultrowheight.
  SHIFT lv_value RIGHT DELETING TRAILING space.
  SHIFT lv_value LEFT DELETING LEADING space.
  lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_defaultrowheight
                                value = lv_value ).
  lo_element_root-&gt;append_child( lo_element ). &quot; sheetFormatPr node

  &quot; sheetData node
  lo_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_sheetdata
                                                   parent = lo_document ).
  LOOP AT io_worksheet-&gt;sheet_content ASSIGNING &lt;ls_sheet_content&gt;.
    CLEAR ls_style_mapping.
    IF ls_last_row-cell_row NE &lt;ls_sheet_content&gt;-cell_row.
      lo_element_2 = lo_document-&gt;create_simple_element( name   = lc_xml_node_row
                                                         parent = lo_document ).
      lv_value = &lt;ls_sheet_content&gt;-cell_row.
      SHIFT lv_value RIGHT DELETING TRAILING space.
      SHIFT lv_value LEFT DELETING LEADING space.
      lo_element_2-&gt;set_attribute_ns( name  = lc_xml_attr_r
                                      value = lv_value ).

      lo_element_2-&gt;set_attribute_ns( name  = lc_xml_attr_spans
                                      value = &apos;1:1&apos; ).     &quot; &lt;*******************************
    ENDIF.
    lo_element_3 = lo_document-&gt;create_simple_element( name   = lc_xml_node_c
                                                       parent = lo_document ).

    lo_element_3-&gt;set_attribute_ns( name  = lc_xml_attr_r
                                    value = &lt;ls_sheet_content&gt;-cell_coords ).

    IF &lt;ls_sheet_content&gt;-cell_style IS NOT INITIAL.
      READ TABLE styles_mapping INTO ls_style_mapping WITH KEY guid = &lt;ls_sheet_content&gt;-cell_style.
      lv_value = ls_style_mapping-style.
      SHIFT lv_value RIGHT DELETING TRAILING space.
      SHIFT lv_value LEFT DELETING LEADING space.
      lo_element_3-&gt;set_attribute_ns( name  = lc_xml_attr_s
                                      value = lv_value ).
    ENDIF.
    IF ls_style_mapping-cell_format IS INITIAL. &quot; to avoid errors if no style has been created
      IF &lt;ls_sheet_content&gt;-cell_formula IS INITIAL.
        ls_style_mapping-cell_format = &apos;S&apos;.
      ELSE.
        ls_style_mapping-cell_format = &apos;F&apos;.
      ENDIF.
    ENDIF.
    &quot; is a shared string and is not a formula
    IF ls_style_mapping-cell_format EQ &apos;S&apos;.
      lo_element_3-&gt;set_attribute_ns( name  = lc_xml_attr_t
                                      value = &apos;s&apos; ).
    ENDIF.
    IF &lt;ls_sheet_content&gt;-cell_formula IS NOT INITIAL.
      &quot; fomula node
      lo_element_4 = lo_document-&gt;create_simple_element( name   = lc_xml_node_f
                                                         parent = lo_document ).
      lv_value = &lt;ls_sheet_content&gt;-cell_formula.
      lo_element_4-&gt;set_value( lv_value ).
      lo_element_3-&gt;append_child( lo_element_4 ). &quot; fomula node
    ENDIF.
    &quot; value node
    lo_element_4 = lo_document-&gt;create_simple_element( name   = lc_xml_node_v
                                                       parent = lo_document ).

    IF ls_style_mapping-cell_format EQ &apos;S&apos;.
      lv_value = me-&gt;get_shared_string_index( &lt;ls_sheet_content&gt;-cell_value ).
      SHIFT lv_value RIGHT DELETING TRAILING space.
      SHIFT lv_value LEFT DELETING LEADING space.
      lo_element_4-&gt;set_value( lv_value ).
    ELSE.
      lv_value = &lt;ls_sheet_content&gt;-cell_value.
      SHIFT lv_value RIGHT DELETING TRAILING space.
      SHIFT lv_value LEFT DELETING LEADING space.
      lo_element_4-&gt;set_value( lv_value ).
    ENDIF.

    lo_element_3-&gt;append_child( lo_element_4 ). &quot; value node

    lo_element_2-&gt;append_child( lo_element_3 ). &quot; column node
    IF ls_last_row-cell_row NE &lt;ls_sheet_content&gt;-cell_row.
      lo_element-&gt;append_child( lo_element_2 ). &quot; row node
      ls_last_row = &lt;ls_sheet_content&gt;.
    ENDIF.

  ENDLOOP.
  lo_element_root-&gt;append_child( lo_element ). &quot; sheetData node

  &quot; Conditional formatting node
  lo_iterator = io_worksheet-&gt;get_cond_styles_iterator( ).
  WHILE lo_iterator-&gt;has_next( ) EQ abap_true.
    lo_style_conditional ?= lo_iterator-&gt;get_next( ).
    IF lo_style_conditional-&gt;rule IS INITIAL.
      CONTINUE.
    ENDIF.
    lo_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_condformatting
                                                     parent = lo_document ).
    lv_value = lo_style_conditional-&gt;get_dimension_range( ) .
    lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_sqref
                                  value = lv_value ).

    &quot; cfRule node
    lo_element_2 = lo_document-&gt;create_simple_element( name   = lc_xml_node_cfrule
                                                     parent = lo_document ).
    lv_value = lo_style_conditional-&gt;rule.
    lo_element_2-&gt;set_attribute_ns( name  = lc_xml_attr_type
                                    value = lv_value ).
    lv_value = lo_style_conditional-&gt;priority.
    SHIFT lv_value RIGHT DELETING TRAILING space.
    SHIFT lv_value LEFT DELETING LEADING space.
    lo_element_2-&gt;set_attribute_ns( name  = lc_xml_attr_priority
                                    value = lv_value ).

    CASE lo_style_conditional-&gt;rule.
      WHEN zcl_excel_style_conditional=&gt;c_rule_iconset.
        CLEAR lt_percent_val.
        &quot; iconset node
        lo_element_3 = lo_document-&gt;create_simple_element( name   = lc_xml_node_iconset
                                                           parent = lo_document ).
        IF lo_style_conditional-&gt;iconset NE zcl_excel_style_conditional=&gt;c_iconset_3trafficlights.
          lv_value = lo_style_conditional-&gt;iconset.
          lo_element_3-&gt;set_attribute_ns( name  = lc_xml_attr_iconset
                                          value = lv_value ).
        ENDIF.

        CASE lo_style_conditional-&gt;iconset.
          WHEN zcl_excel_style_conditional=&gt;c_iconset_3trafficlights2 OR
               zcl_excel_style_conditional=&gt;c_iconset_3arrows OR
               zcl_excel_style_conditional=&gt;c_iconset_3arrowsgray OR
               zcl_excel_style_conditional=&gt;c_iconset_3flags OR
               zcl_excel_style_conditional=&gt;c_iconset_3signs OR
               zcl_excel_style_conditional=&gt;c_iconset_3symbols OR
               zcl_excel_style_conditional=&gt;c_iconset_3symbols2 OR
               zcl_excel_style_conditional=&gt;c_iconset_3trafficlights OR
               zcl_excel_style_conditional=&gt;c_iconset_3trafficlights2.
            APPEND &apos;0&apos; TO lt_percent_val.
            APPEND &apos;33&apos; TO lt_percent_val.
            APPEND &apos;67&apos; TO lt_percent_val.
          WHEN zcl_excel_style_conditional=&gt;c_iconset_4arrows OR
               zcl_excel_style_conditional=&gt;c_iconset_4arrowsgray OR
               zcl_excel_style_conditional=&gt;c_iconset_4rating OR
               zcl_excel_style_conditional=&gt;c_iconset_4redtoblack OR
               zcl_excel_style_conditional=&gt;c_iconset_4trafficlights.
            APPEND &apos;0&apos; TO lt_percent_val.
            APPEND &apos;25&apos; TO lt_percent_val.
            APPEND &apos;50&apos; TO lt_percent_val.
            APPEND &apos;75&apos; TO lt_percent_val.
          WHEN zcl_excel_style_conditional=&gt;c_iconset_5arrows OR
               zcl_excel_style_conditional=&gt;c_iconset_5arrowsgray OR
               zcl_excel_style_conditional=&gt;c_iconset_5quarters OR
               zcl_excel_style_conditional=&gt;c_iconset_5rating.
            APPEND &apos;0&apos; TO lt_percent_val.
            APPEND &apos;20&apos; TO lt_percent_val.
            APPEND &apos;40&apos; TO lt_percent_val.
            APPEND &apos;60&apos; TO lt_percent_val.
            APPEND &apos;80&apos; TO lt_percent_val.
          WHEN OTHERS.
            CLEAR lt_percent_val.
        ENDCASE.

        LOOP AT lt_percent_val INTO ls_percent_val.
          &quot; cfvo node
          lo_element_4 = lo_document-&gt;create_simple_element( name   = lc_xml_node_cfvo
                                                             parent = lo_document ).
          lo_element_4-&gt;set_attribute_ns( name  = lc_xml_attr_type
                                          value = &apos;percent&apos; ).
          lo_element_4-&gt;set_attribute_ns( name  = lc_xml_attr_val
                                          value = ls_percent_val ).
          lo_element_3-&gt;append_child( lo_element_4 ). &quot; cfvo node
        ENDLOOP.


        lo_element_2-&gt;append_child( lo_element_3 ). &quot; iconset node
      WHEN zcl_excel_style_conditional=&gt;c_rule_cellis.
        lo_element_2-&gt;set_attribute_ns( name  = lc_xml_attr_dxfid
                                        value = &apos;0&apos; ). &quot; @TODO &lt;*****************************
        lv_value = lo_style_conditional-&gt;operator.
        lo_element_2-&gt;set_attribute_ns( name  = lc_xml_attr_operator
                                        value = lv_value ).
        &quot; formula node
        lo_element_3 = lo_document-&gt;create_simple_element( name   = lc_xml_node_formula
                                                           parent = lo_document ).
        lv_value = lo_style_conditional-&gt;formula.
        lo_element_3-&gt;set_value( lv_value ).
        lo_element_2-&gt;append_child( lo_element_3 ). &quot; formula node

    ENDCASE.

    lo_element-&gt;append_child( lo_element_2 ). &quot; cfRule node

    lo_element_root-&gt;append_child( lo_element ). &quot; Conditional formatting node
  ENDWHILE.
  &quot; pageMargins node
  lo_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_pagemargins
                                                   parent = lo_document ).

  lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_left
                                value = &apos;0.7&apos; ). &quot; @TODO &lt;*****************************
  lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_right
                                value = &apos;0.7&apos; ). &quot; @TODO &lt;*****************************
  lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_top
                                value = &apos;0.75&apos; ). &quot; @TODO &lt;*****************************
  lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_bottom
                                value = &apos;0.75&apos; ). &quot; @TODO &lt;*****************************
  lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_header
                                value = &apos;0.3&apos; ). &quot; @TODO &lt;*****************************
  lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_footer
                                value = &apos;0.3&apos; ). &quot; @TODO &lt;*****************************
  lo_element_root-&gt;append_child( lo_element ). &quot; sheetFormatPr node

**********************************************************************
* STEP 5: Create xstring stream
  lo_streamfactory = lo_ixml-&gt;create_stream_factory( ).
  lo_ostream = lo_streamfactory-&gt;create_ostream_xstring( string = ep_content ).
  lo_renderer = lo_ixml-&gt;create_renderer( ostream  = lo_ostream document = lo_document ).
  lo_renderer-&gt;render( ).

ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_WRITER_2007" CMPNAME="CREATE_XL_SHEET_RELS" VERSION="1" LANGU="E" DESCRIPT="Create &apos;xl/workbook/_rels/sheet.xml.rels&apos;" EXPOSURE="0" STATE="1" EDITORDER="11 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100705" CHANGEDBY="FEMIA" CHANGEDON="20100710" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_WRITER_2007" CMPNAME="CREATE_XL_SHEET_RELS" SCONAME="EP_CONTENT" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100705" CHANGEDON="00000000" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="XSTRING"/>
   <source>METHOD create_xl_sheet_rels.


** Constant node name
  DATA: lc_xml_node_relationships TYPE string VALUE &apos;Relationships&apos;,
        lc_xml_node_relationship  TYPE string VALUE &apos;Relationship&apos;,
        &quot; Node attributes
        lc_xml_attr_id            TYPE string VALUE &apos;Id&apos;,
        lc_xml_attr_type          TYPE string VALUE &apos;Type&apos;,
        lc_xml_attr_target        TYPE string VALUE &apos;Target&apos;,
        &quot; Node namespace
        lc_xml_node_rels_ns       TYPE string VALUE &apos;http://schemas.openxmlformats.org/package/2006/relationships&apos;,
        &quot; Node id
        lc_xml_node_ridx_id       TYPE string VALUE &apos;rId#&apos;,
        lc_xml_node_rid_print_id  TYPE string VALUE &apos;rId1&apos;,
        &quot; Node type
        lc_xml_node_rid_print_tp  TYPE string VALUE &apos;http://schemas.openxmlformats.org/officeDocument/2006/relationships/printerSettings&apos;,
        &quot; Node target
        lc_xml_node_rid_print_tg  TYPE string VALUE &apos;../printerSettings/printerSettings1.bin&apos;.

  DATA: lo_ixml           TYPE REF TO if_ixml,
        lo_document       TYPE REF TO if_ixml_document,
        lo_element_root   TYPE REF TO if_ixml_element,
        lo_element        TYPE REF TO if_ixml_element,
        lo_encoding       TYPE REF TO if_ixml_encoding,
        lo_streamfactory  TYPE REF TO if_ixml_stream_factory,
        lo_ostream        TYPE REF TO if_ixml_ostream,
        lo_renderer       TYPE REF TO if_ixml_renderer.

**********************************************************************
* STEP 1: Create [Content_Types].xml into the root of the ZIP
  lo_ixml = cl_ixml=&gt;create( ).

**********************************************************************
* STEP 2: Set document attributes
  lo_encoding = lo_ixml-&gt;create_encoding( byte_order = if_ixml_encoding=&gt;co_platform_endian
                                          character_set = &apos;utf-8&apos; ).
  lo_document = lo_ixml-&gt;create_document( ).
  lo_document-&gt;set_encoding( lo_encoding ).
  lo_document-&gt;set_standalone( abap_true ).

**********************************************************************
* STEP 3: Create main node relationships
  lo_element_root  = lo_document-&gt;create_simple_element( name   = lc_xml_node_relationships
                                                         parent = lo_document ).
  lo_element_root-&gt;set_attribute_ns( name  = &apos;xmlns&apos;
                                     value = lc_xml_node_rels_ns ).

**********************************************************************
* STEP 4: Create subnodes

  &quot; Relationship node
  lo_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_relationship
                                                   parent = lo_document ).
  lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_id
                                value = lc_xml_node_rid_print_id ).
  lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_type
                                value = lc_xml_node_rid_print_tp ).
  lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_target
                                value = lc_xml_node_rid_print_tg ).
  lo_element_root-&gt;append_child( lo_element ).

**********************************************************************
* STEP 5: Create xstring stream
  lo_streamfactory = lo_ixml-&gt;create_stream_factory( ).
  lo_ostream = lo_streamfactory-&gt;create_ostream_xstring( string = ep_content ).
  lo_renderer = lo_ixml-&gt;create_renderer( ostream  = lo_ostream document = lo_document ).
  lo_renderer-&gt;render( ).

ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_WRITER_2007" CMPNAME="CREATE_XL_STYLES" VERSION="1" LANGU="E" DESCRIPT="Create &apos;xl/styles.xml&apos;" EXPOSURE="0" STATE="1" EDITORDER="12 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100702" CHANGEDBY="FEMIA" CHANGEDON="20100710" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_WRITER_2007" CMPNAME="CREATE_XL_STYLES" SCONAME="EP_CONTENT" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100702" CHANGEDON="00000000" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="XSTRING"/>
   <source>METHOD create_xl_styles.


** Constant node name
  DATA: lc_xml_node_stylesheet    TYPE string VALUE &apos;styleSheet&apos;,
        &quot; font
        lc_xml_node_fonts         TYPE string VALUE &apos;fonts&apos;,
        lc_xml_node_font          TYPE string VALUE &apos;font&apos;,
        lc_xml_node_b             TYPE string VALUE &apos;b&apos;,            &quot;bold
        lc_xml_node_i             TYPE string VALUE &apos;i&apos;,            &quot;italic
        lc_xml_node_u             TYPE string VALUE &apos;u&apos;,            &quot;underline
        lc_xml_node_strike        TYPE string VALUE &apos;strike&apos;,       &quot;strikethrough
        lc_xml_node_sz            TYPE string VALUE &apos;sz&apos;,
        lc_xml_node_color         TYPE string VALUE &apos;color&apos;,
        lc_xml_node_name          TYPE string VALUE &apos;name&apos;,
        lc_xml_node_family        TYPE string VALUE &apos;family&apos;,
        lc_xml_node_scheme        TYPE string VALUE &apos;scheme&apos;,
        &quot; fill
        lc_xml_node_fills         TYPE string VALUE &apos;fills&apos;,
        lc_xml_node_fill          TYPE string VALUE &apos;fill&apos;,
        lc_xml_node_patternfill   TYPE string VALUE &apos;patternFill&apos;,
        lc_xml_node_fgcolor       TYPE string VALUE &apos;fgColor&apos;,
        lc_xml_node_bgcolor       TYPE string VALUE &apos;bgColor&apos;,
        lc_xml_node_gradientfill  TYPE string VALUE &apos;gradientFill&apos;,
        lc_xml_node_stop          TYPE string VALUE &apos;stop&apos;,
        &quot; borders
        lc_xml_node_borders       TYPE string VALUE &apos;borders&apos;,
        lc_xml_node_border        TYPE string VALUE &apos;border&apos;,
        lc_xml_node_left          TYPE string VALUE &apos;left&apos;,
        lc_xml_node_right         TYPE string VALUE &apos;right&apos;,
        lc_xml_node_top           TYPE string VALUE &apos;top&apos;,
        lc_xml_node_bottom        TYPE string VALUE &apos;bottom&apos;,
        lc_xml_node_diagonal      TYPE string VALUE &apos;diagonal&apos;,
        &quot; Styles
        lc_xml_node_cellstylexfs  TYPE string VALUE &apos;cellStyleXfs&apos;,
        lc_xml_node_xf            TYPE string VALUE &apos;xf&apos;,
        lc_xml_node_cellxfs       TYPE string VALUE &apos;cellXfs&apos;,
        lc_xml_node_cellstyles    TYPE string VALUE &apos;cellStyles&apos;,
        lc_xml_node_cellstyle     TYPE string VALUE &apos;cellStyle&apos;,
        lc_xml_node_dxfs          TYPE string VALUE &apos;dxfs&apos;,
        lc_xml_node_tablestyles   TYPE string VALUE &apos;tableStyles&apos;,
        &quot; Colors
        lc_xml_node_colors        TYPE string VALUE &apos;colors&apos;,
        lc_xml_node_mrucolors     TYPE string VALUE &apos;mruColors&apos;,
        &quot; Node attributes
        lc_xml_attr_count             TYPE string VALUE &apos;count&apos;,
        lc_xml_attr_val               TYPE string VALUE &apos;val&apos;,
        lc_xml_attr_theme             TYPE string VALUE &apos;theme&apos;,
        lc_xml_attr_rgb               TYPE string VALUE &apos;rgb&apos;,
        lc_xml_attr_indexed           TYPE string VALUE &apos;indexed&apos;,
        lc_xml_attr_style             TYPE string VALUE &apos;style&apos;,
        lc_xml_attr_position          TYPE string VALUE &apos;position&apos;,
        lc_xml_attr_degree            TYPE string VALUE &apos;degree&apos;,
        lc_xml_attr_patterntype       TYPE string VALUE &apos;patternType&apos;,
        lc_xml_attr_numfmtid          TYPE string VALUE &apos;numFmtId&apos;,
        lc_xml_attr_fontid            TYPE string VALUE &apos;fontId&apos;,
        lc_xml_attr_fillid            TYPE string VALUE &apos;fillId&apos;,
        lc_xml_attr_borderid          TYPE string VALUE &apos;borderId&apos;,
        lc_xml_attr_xfid              TYPE string VALUE &apos;xfId&apos;,
        lc_xml_attr_applynumberformat TYPE string VALUE &apos;applyNumberFormat&apos;,
        lc_xml_attr_applyfont         TYPE string VALUE &apos;applyFont&apos;,
        lc_xml_attr_applyfill         TYPE string VALUE &apos;applyFill&apos;,
        lc_xml_attr_applyborder       TYPE string VALUE &apos;applyBorder&apos;,
        lc_xml_attr_name              TYPE string VALUE &apos;name&apos;,
        lc_xml_attr_builtinid         TYPE string VALUE &apos;builtinId&apos;,
        lc_xml_attr_defaulttablestyle TYPE string VALUE &apos;defaultTableStyle&apos;,
        lc_xml_attr_defaultpivotstyle TYPE string VALUE &apos;defaultPivotStyle&apos;,
        &quot; Node namespace
        lc_xml_node_ns                TYPE string VALUE &apos;http://schemas.openxmlformats.org/spreadsheetml/2006/main&apos;.

  DATA: lo_ixml             TYPE REF TO if_ixml,
        lo_document         TYPE REF TO if_ixml_document,
        lo_element_root     TYPE REF TO if_ixml_element,
        lo_element_fonts    TYPE REF TO if_ixml_element,
        lo_element_font     TYPE REF TO if_ixml_element,
        lo_element_fills    TYPE REF TO if_ixml_element,
        lo_element_fill     TYPE REF TO if_ixml_element,
        lo_element_borders  TYPE REF TO if_ixml_element,
        lo_element_border   TYPE REF TO if_ixml_element,
        lo_element_cellxfs  TYPE REF TO if_ixml_element,
        lo_element          TYPE REF TO if_ixml_element,
        lo_sub_element      TYPE REF TO if_ixml_element,
        lo_sub_element_2    TYPE REF TO if_ixml_element,
        lo_encoding         TYPE REF TO if_ixml_encoding,
        lo_streamfactory    TYPE REF TO if_ixml_stream_factory,
        lo_ostream          TYPE REF TO if_ixml_ostream,
        lo_renderer         TYPE REF TO if_ixml_renderer,
        lo_iterator         TYPE REF TO cl_object_collection_iterator,
        lo_style            TYPE REF TO zcl_excel_style.


  DATA: lt_fonts          TYPE zexcel_t_style_font,
        ls_font           TYPE zexcel_s_style_font,
        lt_fills          TYPE zexcel_t_style_fill,
        ls_fill           TYPE zexcel_s_style_fill,
        lt_borders        TYPE zexcel_t_style_border,
        ls_border         TYPE zexcel_s_style_border,
        ls_format         TYPE zexcel_number_format,
        lt_cellxfs        TYPE zexcel_t_cellxfs,
        ls_cellxfs        TYPE zexcel_s_cellxfs,
        ls_styles_mapping TYPE zexcel_s_styles_mapping,
        lt_colors         TYPE TABLE OF zexcel_style_color_argb,
        ls_color          TYPE zexcel_style_color_argb.

  DATA: lv_value          TYPE string,
        lv_fonts_count    TYPE i,
        lv_fills_count    TYPE i,
        lv_borders_count  TYPE i,
        lv_cellxfs_count  TYPE i.

**********************************************************************
* STEP 1: Create [Content_Types].xml into the root of the ZIP
  lo_ixml = cl_ixml=&gt;create( ).

**********************************************************************
* STEP 2: Set document attributes
  lo_encoding = lo_ixml-&gt;create_encoding( byte_order = if_ixml_encoding=&gt;co_platform_endian
                                          character_set = &apos;utf-8&apos; ).
  lo_document = lo_ixml-&gt;create_document( ).
  lo_document-&gt;set_encoding( lo_encoding ).
  lo_document-&gt;set_standalone( abap_true ).

***********************************************************************
* STEP 3: Create main node relationships
  lo_element_root  = lo_document-&gt;create_simple_element( name   = lc_xml_node_stylesheet
                                                         parent = lo_document ).
  lo_element_root-&gt;set_attribute_ns( name  = &apos;xmlns&apos;
                                     value = lc_xml_node_ns ).

**********************************************************************
* STEP 4: Create subnodes

  lo_element_fonts = lo_document-&gt;create_simple_element( name   = lc_xml_node_fonts
                                                         parent = lo_document ).

  lo_element_fills = lo_document-&gt;create_simple_element( name   = lc_xml_node_fills
                                                         parent = lo_document ).

  lo_element_borders = lo_document-&gt;create_simple_element( name   = lc_xml_node_borders
                                                           parent = lo_document ).

  lo_element_cellxfs = lo_document-&gt;create_simple_element( name   = lc_xml_node_cellxfs
                                                           parent = lo_document ).

* Compress styles
  lo_iterator = excel-&gt;get_styles_iterator( ).
  WHILE lo_iterator-&gt;has_next( ) EQ abap_true.
    lo_style ?= lo_iterator-&gt;get_next( ).
    ls_font   = lo_style-&gt;font-&gt;get_structure( ).
    ls_fill   = lo_style-&gt;fill-&gt;get_structure( ).
    ls_border = lo_style-&gt;borders-&gt;get_structure( ).
    ls_format = lo_style-&gt;number_format-&gt;get_structure( ).


* Compress fonts
    READ TABLE lt_fonts FROM ls_font TRANSPORTING NO FIELDS.
    IF sy-subrc EQ 0.
      ls_cellxfs-fontid = sy-tabix.
    ELSE.
      APPEND ls_font TO lt_fonts.
      DESCRIBE TABLE lt_fonts LINES ls_cellxfs-fontid.
    ENDIF.
    SUBTRACT 1 FROM ls_cellxfs-fontid.

* Compress fills
    READ TABLE lt_fills FROM ls_fill TRANSPORTING NO FIELDS.
    IF sy-subrc EQ 0.
      ls_cellxfs-fillid = sy-tabix.
    ELSE.
      APPEND ls_fill TO lt_fills.
      DESCRIBE TABLE lt_fills LINES ls_cellxfs-fillid.
    ENDIF.
    SUBTRACT 1 FROM ls_cellxfs-fillid.

* Compress borders
    READ TABLE lt_borders FROM ls_border TRANSPORTING NO FIELDS.
    IF sy-subrc EQ 0.
      ls_cellxfs-borderid = sy-tabix.
    ELSE.
      APPEND ls_border TO lt_borders.
      DESCRIBE TABLE lt_borders LINES ls_cellxfs-borderid.
    ENDIF.
    SUBTRACT 1 FROM ls_cellxfs-borderid.

    IF ls_format IS INITIAL.
      ls_cellxfs-numfmtid     = 0. &quot; number format
    ELSE.
      ls_cellxfs-numfmtid     = ls_format. &quot; number format
    ENDIF.
    ls_cellxfs-xfid         = 0.

    IF ls_format IS NOT INITIAL.
      ls_cellxfs-applynumberformat    = 1.
      ls_styles_mapping-cell_format   = &apos;I&apos;.
    ELSE.
      ls_cellxfs-applynumberformat    = 0.
      ls_styles_mapping-cell_format   = &apos;S&apos;.
    ENDIF.
    IF ls_cellxfs-fontid NE 0.
      ls_cellxfs-applyfont    = 1.
    ELSE.
      ls_cellxfs-applyfont    = 0.
    ENDIF.
    IF ls_cellxfs-fillid NE 0.
      ls_cellxfs-applyfill    = 1.
    ELSE.
      ls_cellxfs-applyfill    = 0.
    ENDIF.
    IF ls_cellxfs-borderid NE 0.
      ls_cellxfs-applyborder    = 1.
    ELSE.
      ls_cellxfs-applyborder    = 0.
    ENDIF.

* Remap styles
    READ TABLE lt_cellxfs FROM ls_cellxfs TRANSPORTING NO FIELDS.
    IF sy-subrc EQ 0.
      ls_styles_mapping-style = sy-tabix.
    ELSE.
      APPEND ls_cellxfs TO lt_cellxfs.
      DESCRIBE TABLE lt_cellxfs LINES ls_styles_mapping-style.
    ENDIF.
    SUBTRACT 1 FROM ls_styles_mapping-style.
    ls_styles_mapping-guid = lo_style-&gt;get_guid( ).
    APPEND ls_styles_mapping TO me-&gt;styles_mapping.
  ENDWHILE.

  &quot; create font elements
  LOOP AT lt_fonts INTO ls_font.
    lo_element_font = lo_document-&gt;create_simple_element( name   = lc_xml_node_font
                                                          parent = lo_document ).
    IF ls_font-bold EQ abap_true.
      lo_sub_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_b
                                                           parent = lo_document ).
      lo_element_font-&gt;append_child( lo_sub_element ).
    ENDIF.
    IF ls_font-italic EQ abap_true.
      lo_sub_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_i
                                                           parent = lo_document ).
      lo_element_font-&gt;append_child( lo_sub_element ).
    ENDIF.
    IF ls_font-underline EQ abap_true.
      lo_sub_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_u
                                                           parent = lo_document ).
      lv_value = ls_font-underline_mode.
      lo_sub_element-&gt;set_attribute_ns( name  = lc_xml_attr_val
                                        value = lv_value ).
      lo_element_font-&gt;append_child( lo_sub_element ).
    ENDIF.
    IF ls_font-strikethrough EQ abap_true.
      lo_sub_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_strike
                                                           parent = lo_document ).
      lo_element_font-&gt;append_child( lo_sub_element ).
    ENDIF.
    &quot;size
    lo_sub_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_sz
                                                         parent = lo_document ).
    lv_value = ls_font-size.
    SHIFT lv_value RIGHT DELETING TRAILING space.
    SHIFT lv_value LEFT DELETING LEADING space.
    lo_sub_element-&gt;set_attribute_ns( name  = lc_xml_attr_val
                                      value = lv_value ).
    lo_element_font-&gt;append_child( lo_sub_element ).
    &quot;color
    lo_sub_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_color
                                                         parent = lo_document ).
    lv_value = ls_font-color.
    lo_sub_element-&gt;set_attribute_ns( name  = lc_xml_attr_rgb
                                      value = lv_value ).
    lo_element_font-&gt;append_child( lo_sub_element ).
    &quot;name
    lo_sub_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_name
                                                         parent = lo_document ).
    lv_value = ls_font-name.
    lo_sub_element-&gt;set_attribute_ns( name  = lc_xml_attr_val
                                      value = lv_value ).
    lo_element_font-&gt;append_child( lo_sub_element ).
    &quot;family
    lo_sub_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_family
                                                         parent = lo_document ).
    lv_value = ls_font-family.
    SHIFT lv_value RIGHT DELETING TRAILING space.
    SHIFT lv_value LEFT DELETING LEADING space.
    lo_sub_element-&gt;set_attribute_ns( name  = lc_xml_attr_val
                                      value = lv_value ).
    lo_element_font-&gt;append_child( lo_sub_element ).
    &quot;scheme
    lo_sub_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_scheme
                                                         parent = lo_document ).
    lv_value = ls_font-scheme.
    lo_sub_element-&gt;set_attribute_ns( name  = lc_xml_attr_val
                                      value = lv_value ).
    lo_element_font-&gt;append_child( lo_sub_element ).
    lo_element_fonts-&gt;append_child( lo_element_font ).
    &quot; Collect color
    APPEND ls_font-color TO lt_colors.
  ENDLOOP.

  &quot; create fill elements
  LOOP AT lt_fills INTO ls_fill.
    lo_element_fill = lo_document-&gt;create_simple_element( name   = lc_xml_node_fill
                                                          parent = lo_document ).
    &quot;pattern
    lo_sub_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_patternfill
                                                         parent = lo_document ).
    lv_value = ls_fill-filltype.
    lo_sub_element-&gt;set_attribute_ns( name  = lc_xml_attr_patterntype
                                      value = lv_value ).
    &quot; fgcolor
    IF ls_fill-fgcolor IS NOT INITIAL.
      lo_sub_element_2 = lo_document-&gt;create_simple_element( name   = lc_xml_node_fgcolor
                                                             parent = lo_document ).
      lv_value = ls_fill-fgcolor.
      lo_sub_element_2-&gt;set_attribute_ns( name  = lc_xml_attr_rgb
                                          value = lv_value ).

      lo_sub_element-&gt;append_child( lo_sub_element_2 ).&quot; fgcolor
    ENDIF.
    &quot; bgcolor
    IF ls_fill-bgcolor IS NOT INITIAL.
      lo_sub_element_2 = lo_document-&gt;create_simple_element( name   = lc_xml_node_bgcolor
                                                             parent = lo_document ).
      lv_value = ls_fill-bgcolor.
      lo_sub_element_2-&gt;set_attribute_ns( name  = lc_xml_attr_indexed
                                          value = lv_value ).

      lo_sub_element-&gt;append_child( lo_sub_element_2 ).&quot; bgcolor
    ENDIF.

    lo_element_fill-&gt;append_child( lo_sub_element ).&quot;pattern
    lo_element_fills-&gt;append_child( lo_element_fill ).
    &quot; Collect color
    IF ls_fill-fgcolor IS NOT INITIAL.
      APPEND ls_fill-fgcolor TO lt_colors.
    ENDIF.
  ENDLOOP.

  &quot; create border elements
  LOOP AT lt_borders INTO ls_border.
    lo_element_border = lo_document-&gt;create_simple_element( name   = lc_xml_node_border
                                                            parent = lo_document ).
    &quot;left
    lo_sub_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_left
                                                         parent = lo_document ).
    IF ls_border-left_style IS NOT INITIAL.
      lv_value = ls_border-left_style.
      lo_sub_element-&gt;set_attribute_ns( name  = lc_xml_attr_style
                                        value = lv_value ).
    ENDIF.
    IF ls_border-left_color IS NOT INITIAL.
      lo_sub_element_2 = lo_document-&gt;create_simple_element( name   = lc_xml_node_color
                                                             parent = lo_document ).
      lv_value = ls_border-left_color.
      lo_sub_element_2-&gt;set_attribute_ns( name  = lc_xml_attr_rgb
                                          value = lv_value ).
      lo_sub_element-&gt;append_child( lo_sub_element_2 ).&quot; color
*     Collect color
      APPEND ls_border-left_color TO lt_colors.
    ENDIF.
    lo_element_border-&gt;append_child( lo_sub_element ).

    &quot;right
    lo_sub_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_right
                                                         parent = lo_document ).
    IF ls_border-right_style IS NOT INITIAL.
      lv_value = ls_border-right_style.
      lo_sub_element-&gt;set_attribute_ns( name  = lc_xml_attr_style
                                        value = lv_value ).
    ENDIF.
    IF ls_border-right_color IS NOT INITIAL.
      lo_sub_element_2 = lo_document-&gt;create_simple_element( name   = lc_xml_node_color
                                                             parent = lo_document ).
      lv_value = ls_border-right_color.
      lo_sub_element_2-&gt;set_attribute_ns( name  = lc_xml_attr_rgb
                                          value = lv_value ).
      lo_sub_element-&gt;append_child( lo_sub_element_2 ).&quot; color
*     Collect color
      APPEND ls_border-right_color TO lt_colors.
    ENDIF.
    lo_element_border-&gt;append_child( lo_sub_element ).

    &quot;top
    lo_sub_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_top
                                                         parent = lo_document ).
    IF ls_border-top_style IS NOT INITIAL.
      lv_value = ls_border-top_style.
      lo_sub_element-&gt;set_attribute_ns( name  = lc_xml_attr_style
                                        value = lv_value ).
    ENDIF.
    IF ls_border-top_color IS NOT INITIAL.
      lo_sub_element_2 = lo_document-&gt;create_simple_element( name   = lc_xml_node_color
                                                             parent = lo_document ).
      lv_value = ls_border-top_color.
      lo_sub_element_2-&gt;set_attribute_ns( name  = lc_xml_attr_rgb
                                          value = lv_value ).
      lo_sub_element-&gt;append_child( lo_sub_element_2 ).&quot; color
*     Collect color
      APPEND ls_border-top_color TO lt_colors.
    ENDIF.
    lo_element_border-&gt;append_child( lo_sub_element ).

    &quot;bottom
    lo_sub_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_bottom
                                                         parent = lo_document ).
    IF ls_border-bottom_style IS NOT INITIAL.
      lv_value = ls_border-bottom_style.
      lo_sub_element-&gt;set_attribute_ns( name  = lc_xml_attr_style
                                        value = lv_value ).
    ENDIF.
    IF ls_border-bottom_color IS NOT INITIAL.
      lo_sub_element_2 = lo_document-&gt;create_simple_element( name   = lc_xml_node_color
                                                             parent = lo_document ).
      lv_value = ls_border-bottom_color.
      lo_sub_element_2-&gt;set_attribute_ns( name  = lc_xml_attr_rgb
                                          value = lv_value ).
      lo_sub_element-&gt;append_child( lo_sub_element_2 ).&quot; color
*     Collect color
      APPEND ls_border-bottom_color TO lt_colors.
    ENDIF.
    lo_element_border-&gt;append_child( lo_sub_element ).

    &quot;diagonal
    lo_sub_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_diagonal
                                                         parent = lo_document ).
    IF ls_border-diagonal_style IS NOT INITIAL.
      lv_value = ls_border-diagonal_style.
      lo_sub_element-&gt;set_attribute_ns( name  = lc_xml_attr_style
                                        value = lv_value ).
    ENDIF.
    IF ls_border-diagonal_color IS NOT INITIAL.
      lo_sub_element_2 = lo_document-&gt;create_simple_element( name   = lc_xml_node_color
                                                             parent = lo_document ).
      lv_value = ls_border-diagonal_color.
      lo_sub_element_2-&gt;set_attribute_ns( name  = lc_xml_attr_rgb
                                          value = lv_value ).
      lo_sub_element-&gt;append_child( lo_sub_element_2 ).&quot; color
*     Collect color
      APPEND ls_border-diagonal_color TO lt_colors.
    ENDIF.
    lo_element_border-&gt;append_child( lo_sub_element ).
    lo_element_borders-&gt;append_child( lo_element_border ).
  ENDLOOP.

  &quot; update attribute &quot;count&quot;
  DESCRIBE TABLE lt_fonts LINES lv_fonts_count.
  MOVE lv_fonts_count TO lv_value.
  SHIFT lv_value RIGHT DELETING TRAILING space.
  SHIFT lv_value LEFT DELETING LEADING space.
  lo_element_fonts-&gt;set_attribute_ns( name  = lc_xml_attr_count
                                      value = lv_value ).
  DESCRIBE TABLE lt_fills LINES lv_fills_count.
  MOVE lv_fills_count TO lv_value.
  SHIFT lv_value RIGHT DELETING TRAILING space.
  SHIFT lv_value LEFT DELETING LEADING space.
  lo_element_fills-&gt;set_attribute_ns( name  = lc_xml_attr_count
                                      value = lv_value ).
  DESCRIBE TABLE lt_borders LINES lv_borders_count.
  MOVE lv_borders_count TO lv_value.
  SHIFT lv_value RIGHT DELETING TRAILING space.
  SHIFT lv_value LEFT DELETING LEADING space.
  lo_element_borders-&gt;set_attribute_ns( name  = lc_xml_attr_count
                                        value = lv_value ).
  DESCRIBE TABLE lt_cellxfs LINES lv_cellxfs_count.
  MOVE lv_cellxfs_count TO lv_value.
  SHIFT lv_value RIGHT DELETING TRAILING space.
  SHIFT lv_value LEFT DELETING LEADING space.
  lo_element_cellxfs-&gt;set_attribute_ns( name  = lc_xml_attr_count
                                        value = lv_value ).

  &quot; Append to root node
  lo_element_root-&gt;append_child( lo_element_fonts ).
  lo_element_root-&gt;append_child( lo_element_fills ).
  lo_element_root-&gt;append_child( lo_element_borders ).

  &quot; cellstylexfs node
  lo_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_cellstylexfs
                                                   parent = lo_document ).
  lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_count
                                value = &apos;1&apos; ).
  lo_sub_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_xf
                                                       parent = lo_document ).

  lo_sub_element-&gt;set_attribute_ns( name  = lc_xml_attr_numfmtid
                                    value = &apos;0&apos; ).
  lo_sub_element-&gt;set_attribute_ns( name  = lc_xml_attr_fontid
                                    value = &apos;0&apos; ).
  lo_sub_element-&gt;set_attribute_ns( name  = lc_xml_attr_fillid
                                    value = &apos;0&apos; ).
  lo_sub_element-&gt;set_attribute_ns( name  = lc_xml_attr_borderid
                                    value = &apos;0&apos; ).

  lo_element-&gt;append_child( lo_sub_element ).
  lo_element_root-&gt;append_child( lo_element ).

  LOOP AT lt_cellxfs INTO ls_cellxfs.
    lo_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_xf
                                                        parent = lo_document ).
    MOVE ls_cellxfs-numfmtid TO lv_value.
    SHIFT lv_value RIGHT DELETING TRAILING space.
    SHIFT lv_value LEFT DELETING LEADING space.
    lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_numfmtid
                                  value = lv_value ).
    MOVE ls_cellxfs-fontid TO lv_value.
    SHIFT lv_value RIGHT DELETING TRAILING space.
    SHIFT lv_value LEFT DELETING LEADING space.
    lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_fontid
                                  value = lv_value ).
    MOVE ls_cellxfs-fillid TO lv_value.
    SHIFT lv_value RIGHT DELETING TRAILING space.
    SHIFT lv_value LEFT DELETING LEADING space.
    lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_fillid
                                  value = lv_value ).
    MOVE ls_cellxfs-borderid TO lv_value.
    SHIFT lv_value RIGHT DELETING TRAILING space.
    SHIFT lv_value LEFT DELETING LEADING space.
    lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_borderid
                                  value = lv_value ).
    MOVE ls_cellxfs-xfid TO lv_value.
    SHIFT lv_value RIGHT DELETING TRAILING space.
    SHIFT lv_value LEFT DELETING LEADING space.
    lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_xfid
                                  value = lv_value ).
    IF ls_cellxfs-applynumberformat EQ 1.
      MOVE ls_cellxfs-applynumberformat TO lv_value.
      SHIFT lv_value RIGHT DELETING TRAILING space.
      SHIFT lv_value LEFT DELETING LEADING space.
      lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_applynumberformat
                                    value = lv_value ).
    ENDIF.
    IF ls_cellxfs-applyfont EQ 1.
      MOVE ls_cellxfs-applyfont TO lv_value.
      SHIFT lv_value RIGHT DELETING TRAILING space.
      SHIFT lv_value LEFT DELETING LEADING space.
      lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_applyfont
                                    value = lv_value ).
    ENDIF.
    IF ls_cellxfs-applyfill EQ 1.
      MOVE ls_cellxfs-applyfill TO lv_value.
      SHIFT lv_value RIGHT DELETING TRAILING space.
      SHIFT lv_value LEFT DELETING LEADING space.
      lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_applyfill
                                    value = lv_value ).
    ENDIF.
    IF ls_cellxfs-applyborder EQ 1.
      MOVE ls_cellxfs-applyborder TO lv_value.
      SHIFT lv_value RIGHT DELETING TRAILING space.
      SHIFT lv_value LEFT DELETING LEADING space.
      lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_applyborder
                                    value = lv_value ).
    ENDIF.
    lo_element_cellxfs-&gt;append_child( lo_element ).
  ENDLOOP.

  lo_element_root-&gt;append_child( lo_element_cellxfs ).

  &quot; cellStyles node
  lo_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_cellstyles
                                                   parent = lo_document ).
  lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_count
                                value = &apos;1&apos; ).
  lo_sub_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_cellstyle
  parent = lo_document ).

  lo_sub_element-&gt;set_attribute_ns( name  = lc_xml_attr_name
                                    value = &apos;Normal&apos; ).
  lo_sub_element-&gt;set_attribute_ns( name  = lc_xml_attr_xfid
                                    value = &apos;0&apos; ).
  lo_sub_element-&gt;set_attribute_ns( name  = lc_xml_attr_builtinid
                                    value = &apos;0&apos; ).

  lo_element-&gt;append_child( lo_sub_element ).
  lo_element_root-&gt;append_child( lo_element ).

  &quot; dxfs node
  lo_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_dxfs
                                                   parent = lo_document ).
  lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_count
                                value = &apos;0&apos; ).
  lo_element_root-&gt;append_child( lo_element ).

  &quot; tableStyles node
  lo_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_tablestyles
                                                   parent = lo_document ).
  lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_count
                                value = &apos;0&apos; ).
  lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_defaulttablestyle
                                value = &apos;TableStyleMedium9&apos; ).
  lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_defaultpivotstyle
                                value = &apos;PivotStyleLight16&apos; ).
  lo_element_root-&gt;append_child( lo_element ).

  &quot; colors node
  lo_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_colors
                                                   parent = lo_document ).
  &quot; mruColors node
  lo_sub_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_mrucolors
                                                       parent = lo_document ).

  SORT lt_colors.
  DELETE ADJACENT DUPLICATES FROM lt_colors.

  LOOP AT lt_colors INTO ls_color.
    &quot; color node
    lo_sub_element_2 = lo_document-&gt;create_simple_element( name   = lc_xml_node_color
                                                           parent = lo_document ).
    lv_value = ls_color.
    lo_sub_element_2-&gt;set_attribute_ns( name  = lc_xml_attr_rgb
                                        value = lv_value ).
    lo_sub_element-&gt;append_child( lo_sub_element_2 ).&quot; color node
  ENDLOOP.

  lo_element-&gt;append_child( lo_sub_element ).&quot; mruColors node
  lo_element_root-&gt;append_child( lo_element ).&quot; colors node

**********************************************************************
* STEP 5: Create xstring stream
  lo_streamfactory = lo_ixml-&gt;create_stream_factory( ).
  lo_ostream = lo_streamfactory-&gt;create_ostream_xstring( string = ep_content ).
  lo_renderer = lo_ixml-&gt;create_renderer( ostream  = lo_ostream document = lo_document ).
  lo_renderer-&gt;render( ).

ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_WRITER_2007" CMPNAME="CREATE_XL_THEME" VERSION="1" LANGU="E" DESCRIPT="Create &apos;xl/theme/theme1.xml&apos;" EXPOSURE="0" STATE="1" EDITORDER="13 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100702" CHANGEDBY="FEMIA" CHANGEDON="20100710" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_WRITER_2007" CMPNAME="CREATE_XL_THEME" SCONAME="EP_CONTENT" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100702" CHANGEDON="00000000" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="XSTRING"/>
   <source>METHOD create_xl_theme.


* @TODO *

  DATA: lv_xl_theme    TYPE string,
        lv_xl_theme_01 TYPE string,
        lv_xl_theme_02 TYPE string,
        lv_xl_theme_03 TYPE string,
        lv_xl_theme_04 TYPE string,
        lv_xl_theme_05 TYPE string,
        lv_xl_theme_06 TYPE string,
        lv_xl_theme_07 TYPE string,
        lv_xl_theme_08 TYPE string,
        lv_xl_theme_09 TYPE string,
        lv_xl_theme_10 TYPE string,
        lv_xl_theme_11 TYPE string,
        lv_xl_theme_12 TYPE string,
        lv_xl_theme_13 TYPE string,
        lv_xl_theme_14 TYPE string,
        lv_xl_theme_15 TYPE string,
        lv_xl_theme_16 TYPE string,
        lv_xl_theme_17 TYPE string,
        lv_xl_theme_18 TYPE string,
        lv_xl_theme_19 TYPE string,
        lv_xl_theme_20 TYPE string,
        lv_xl_theme_21 TYPE string,
        lv_xl_theme_22 TYPE string,
        lv_xl_theme_23 TYPE string,
        lv_xl_theme_24 TYPE string,
        lv_xl_theme_25 TYPE string,
        lv_xl_theme_26 TYPE string,
        lv_xl_theme_27 TYPE string,
        lv_xl_theme_28 TYPE string,
        lv_xl_theme_29 TYPE string,
        lv_xl_theme_30 TYPE string,
        lv_xl_theme_31 TYPE string,
        lv_xl_theme_32 TYPE string.

  lv_xl_theme_01 = &apos;&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;yes&quot;?&gt;&apos;.
  lv_xl_theme_02 = &apos;&lt;a:theme xmlns:a=&quot;http://schemas.openxmlformats.org/drawingml/2006/main&quot; name=&quot;Office Theme&quot;&gt;&lt;a:themeElements&gt;&lt;a:clrScheme name=&quot;Office&quot;&gt;&lt;a:dk1&gt;&lt;a:sysClr val=&quot;windowText&quot; lastClr=&quot;000000&quot;/&gt;&lt;/a:dk1&gt;&lt;a:lt1&gt;&lt;a:sysClr val=&quot;window&quot; &apos;.
  lv_xl_theme_03 = &apos;lastClr=&quot;FFFFFF&quot;/&gt;&lt;/a:lt1&gt;&lt;a:dk2&gt;&lt;a:srgbClr val=&quot;1F497D&quot;/&gt;&lt;/a:dk2&gt;&lt;a:lt2&gt;&lt;a:srgbClr val=&quot;EEECE1&quot;/&gt;&lt;/a:lt2&gt;&lt;a:accent1&gt;&lt;a:srgbClr val=&quot;4F81BD&quot;/&gt;&lt;/a:accent1&gt;&lt;a:accent2&gt;&lt;a:srgbClr val=&quot;C0504D&quot;/&gt;&lt;/a:accent2&gt;&lt;a:accent3&gt;&lt;a:srgbClr &apos;.
  lv_xl_theme_04 = &apos;val=&quot;9BBB59&quot;/&gt;&lt;/a:accent3&gt;&lt;a:accent4&gt;&lt;a:srgbClr val=&quot;8064A2&quot;/&gt;&lt;/a:accent4&gt;&lt;a:accent5&gt;&lt;a:srgbClr val=&quot;4BACC6&quot;/&gt;&lt;/a:accent5&gt;&lt;a:accent6&gt;&lt;a:srgbClr val=&quot;F79646&quot;/&gt;&lt;/a:accent6&gt;&lt;a:hlink&gt;&lt;a:srgbClr val=&quot;0000FF&quot;/&gt;&lt;/a:hlink&gt;&lt;a:folHlink&gt;&apos;.
  lv_xl_theme_05 = &apos;&lt;a:srgbClr val=&quot;800080&quot;/&gt;&lt;/a:folHlink&gt;&lt;/a:clrScheme&gt;&lt;a:fontScheme name=&quot;Office&quot;&gt;&lt;a:majorFont&gt;&lt;a:latin typeface=&quot;Cambria&quot;/&gt;&lt;a:ea typeface=&quot;&quot;/&gt;&lt;a:cs typeface=&quot;&quot;/&gt;&apos;.
  lv_xl_theme_06 = &apos;&lt;a:font script=&quot;Arab&quot; typeface=&quot;Times New Roman&quot;/&gt;&lt;a:font script=&quot;Hebr&quot; typeface=&quot;Times New Roman&quot;/&gt;&lt;a:font script=&quot;Thai&quot; &apos;.
  lv_xl_theme_07 = &apos;typeface=&quot;Tahoma&quot;/&gt;&lt;a:font script=&quot;Ethi&quot; typeface=&quot;Nyala&quot;/&gt;&lt;a:font script=&quot;Beng&quot; typeface=&quot;Vrinda&quot;/&gt;&lt;a:font script=&quot;Gujr&quot; typeface=&quot;Shruti&quot;/&gt;&lt;a:font script=&quot;Khmr&quot; typeface=&quot;MoolBoran&quot;/&gt;&lt;a:font script=&quot;Knda&quot; typeface=&quot;Tunga&quot;/&gt;&lt;a:font &apos;.
  lv_xl_theme_08 = &apos;script=&quot;Guru&quot; typeface=&quot;Raavi&quot;/&gt;&lt;a:font script=&quot;Cans&quot; typeface=&quot;Euphemia&quot;/&gt;&lt;a:font script=&quot;Cher&quot; typeface=&quot;Plantagenet Cherokee&quot;/&gt;&lt;a:font script=&quot;Yiii&quot; typeface=&quot;Microsoft Yi Baiti&quot;/&gt;&lt;a:font script=&quot;Tibt&quot; &apos;.
  lv_xl_theme_09 = &apos;typeface=&quot;Microsoft Himalaya&quot;/&gt;&lt;a:font script=&quot;Thaa&quot; typeface=&quot;MV Boli&quot;/&gt;&lt;a:font script=&quot;Deva&quot; typeface=&quot;Mangal&quot;/&gt;&lt;a:font script=&quot;Telu&quot; typeface=&quot;Gautami&quot;/&gt;&lt;a:font script=&quot;Taml&quot; typeface=&quot;Latha&quot;/&gt;&lt;a:font script=&quot;Syrc&quot; &apos;.
  lv_xl_theme_10 = &apos;typeface=&quot;Estrangelo Edessa&quot;/&gt;&lt;a:font script=&quot;Orya&quot; typeface=&quot;Kalinga&quot;/&gt;&lt;a:font script=&quot;Mlym&quot; typeface=&quot;Kartika&quot;/&gt;&lt;a:font script=&quot;Laoo&quot; typeface=&quot;DokChampa&quot;/&gt;&lt;a:font script=&quot;Sinh&quot; typeface=&quot;Iskoola Pota&quot;/&gt;&lt;a:font script=&quot;Mong&quot; &apos;.
  lv_xl_theme_11 = &apos;typeface=&quot;Mongolian Baiti&quot;/&gt;&lt;a:font script=&quot;Viet&quot; typeface=&quot;Times New Roman&quot;/&gt;&lt;a:font script=&quot;Uigh&quot; typeface=&quot;Microsoft Uighur&quot;/&gt;&lt;/a:majorFont&gt;&lt;a:minorFont&gt;&lt;a:latin typeface=&quot;Calibri&quot;/&gt;&lt;a:ea typeface=&quot;&quot;/&gt;&lt;a:cs typeface=&quot;&quot;/&gt;&apos;.
  lv_xl_theme_12 = &apos;&lt;a:font script=&quot;Arab&quot; typeface=&quot;Arial&quot;/&gt;&lt;a:font script=&quot;Hebr&quot; &apos;.
  lv_xl_theme_13 = &apos;typeface=&quot;Arial&quot;/&gt;&lt;a:font script=&quot;Thai&quot; typeface=&quot;Tahoma&quot;/&gt;&lt;a:font script=&quot;Ethi&quot; typeface=&quot;Nyala&quot;/&gt;&lt;a:font script=&quot;Beng&quot; typeface=&quot;Vrinda&quot;/&gt;&lt;a:font script=&quot;Gujr&quot; typeface=&quot;Shruti&quot;/&gt;&lt;a:font script=&quot;Khmr&quot; typeface=&quot;DaunPenh&quot;/&gt;&lt;a:font &apos;.
  lv_xl_theme_14 = &apos;script=&quot;Knda&quot; typeface=&quot;Tunga&quot;/&gt;&lt;a:font script=&quot;Guru&quot; typeface=&quot;Raavi&quot;/&gt;&lt;a:font script=&quot;Cans&quot; typeface=&quot;Euphemia&quot;/&gt;&lt;a:font script=&quot;Cher&quot; typeface=&quot;Plantagenet Cherokee&quot;/&gt;&lt;a:font script=&quot;Yiii&quot; typeface=&quot;Microsoft Yi Baiti&quot;/&gt;&lt;a:font &apos;.
  lv_xl_theme_15 = &apos;script=&quot;Tibt&quot; typeface=&quot;Microsoft Himalaya&quot;/&gt;&lt;a:font script=&quot;Thaa&quot; typeface=&quot;MV Boli&quot;/&gt;&lt;a:font script=&quot;Deva&quot; typeface=&quot;Mangal&quot;/&gt;&lt;a:font script=&quot;Telu&quot; typeface=&quot;Gautami&quot;/&gt;&lt;a:font script=&quot;Taml&quot; typeface=&quot;Latha&quot;/&gt;&lt;a:font script=&quot;Syrc&quot; &apos;.
  lv_xl_theme_16 = &apos;typeface=&quot;Estrangelo Edessa&quot;/&gt;&lt;a:font script=&quot;Orya&quot; typeface=&quot;Kalinga&quot;/&gt;&lt;a:font script=&quot;Mlym&quot; typeface=&quot;Kartika&quot;/&gt;&lt;a:font script=&quot;Laoo&quot; typeface=&quot;DokChampa&quot;/&gt;&lt;a:font script=&quot;Sinh&quot; typeface=&quot;Iskoola Pota&quot;/&gt;&lt;a:font script=&quot;Mong&quot; &apos;.
  lv_xl_theme_17 = &apos;typeface=&quot;Mongolian Baiti&quot;/&gt;&lt;a:font script=&quot;Viet&quot; typeface=&quot;Arial&quot;/&gt;&lt;a:font script=&quot;Uigh&quot; typeface=&quot;Microsoft Uighur&quot;/&gt;&lt;/a:minorFont&gt;&lt;/a:fontScheme&gt;&lt;a:fmtScheme name=&quot;Office&quot;&gt;&lt;a:fillStyleLst&gt;&lt;a:solidFill&gt;&lt;a:schemeClr val=&quot;phClr&quot;/&gt;&apos;.
  lv_xl_theme_18 = &apos;&lt;/a:solidFill&gt;&lt;a:gradFill rotWithShape=&quot;1&quot;&gt;&lt;a:gsLst&gt;&lt;a:gs pos=&quot;0&quot;&gt;&lt;a:schemeClr val=&quot;phClr&quot;&gt;&lt;a:tint val=&quot;50000&quot;/&gt;&lt;a:satMod val=&quot;300000&quot;/&gt;&lt;/a:schemeClr&gt;&lt;/a:gs&gt;&lt;a:gs pos=&quot;35000&quot;&gt;&lt;a:schemeClr val=&quot;phClr&quot;&gt;&lt;a:tint val=&quot;37000&quot;/&gt;&lt;a:satMod &apos;.
  lv_xl_theme_19 = &apos;val=&quot;300000&quot;/&gt;&lt;/a:schemeClr&gt;&lt;/a:gs&gt;&lt;a:gs pos=&quot;100000&quot;&gt;&lt;a:schemeClr val=&quot;phClr&quot;&gt;&lt;a:tint val=&quot;15000&quot;/&gt;&lt;a:satMod val=&quot;350000&quot;/&gt;&lt;/a:schemeClr&gt;&lt;/a:gs&gt;&lt;/a:gsLst&gt;&lt;a:lin ang=&quot;16200000&quot; scaled=&quot;1&quot;/&gt;&lt;/a:gradFill&gt;&lt;a:gradFill rotWithShape=&quot;1&quot;&gt;&apos;.
  lv_xl_theme_20 = &apos;&lt;a:gsLst&gt;&lt;a:gs pos=&quot;0&quot;&gt;&lt;a:schemeClr val=&quot;phClr&quot;&gt;&lt;a:shade val=&quot;51000&quot;/&gt;&lt;a:satMod val=&quot;130000&quot;/&gt;&lt;/a:schemeClr&gt;&lt;/a:gs&gt;&lt;a:gs pos=&quot;80000&quot;&gt;&lt;a:schemeClr val=&quot;phClr&quot;&gt;&lt;a:shade val=&quot;93000&quot;/&gt;&lt;a:satMod val=&quot;130000&quot;/&gt;&lt;/a:schemeClr&gt;&lt;/a:gs&gt;&lt;a:gs &apos;.
  lv_xl_theme_21 = &apos;pos=&quot;100000&quot;&gt;&lt;a:schemeClr val=&quot;phClr&quot;&gt;&lt;a:shade val=&quot;94000&quot;/&gt;&lt;a:satMod val=&quot;135000&quot;/&gt;&lt;/a:schemeClr&gt;&lt;/a:gs&gt;&lt;/a:gsLst&gt;&lt;a:lin ang=&quot;16200000&quot; scaled=&quot;0&quot;/&gt;&lt;/a:gradFill&gt;&lt;/a:fillStyleLst&gt;&lt;a:lnStyleLst&gt;&lt;a:ln w=&quot;9525&quot; cap=&quot;flat&quot; cmpd=&quot;sng&quot; &apos;.
  lv_xl_theme_22 = &apos;algn=&quot;ctr&quot;&gt;&lt;a:solidFill&gt;&lt;a:schemeClr val=&quot;phClr&quot;&gt;&lt;a:shade val=&quot;95000&quot;/&gt;&lt;a:satMod val=&quot;105000&quot;/&gt;&lt;/a:schemeClr&gt;&lt;/a:solidFill&gt;&lt;a:prstDash val=&quot;solid&quot;/&gt;&lt;/a:ln&gt;&lt;a:ln w=&quot;25400&quot; cap=&quot;flat&quot; cmpd=&quot;sng&quot; algn=&quot;ctr&quot;&gt;&lt;a:solidFill&gt;&lt;a:schemeClr &apos;.
  lv_xl_theme_23 = &apos;val=&quot;phClr&quot;/&gt;&lt;/a:solidFill&gt;&lt;a:prstDash val=&quot;solid&quot;/&gt;&lt;/a:ln&gt;&lt;a:ln w=&quot;38100&quot; cap=&quot;flat&quot; cmpd=&quot;sng&quot; algn=&quot;ctr&quot;&gt;&lt;a:solidFill&gt;&lt;a:schemeClr val=&quot;phClr&quot;/&gt;&lt;/a:solidFill&gt;&lt;a:prstDash val=&quot;solid&quot;/&gt;&lt;/a:ln&gt;&lt;/a:lnStyleLst&gt;&lt;a:effectStyleLst&gt;&apos;.
  lv_xl_theme_24 = &apos;&lt;a:effectStyle&gt;&lt;a:effectLst&gt;&lt;a:outerShdw blurRad=&quot;40000&quot; dist=&quot;20000&quot; dir=&quot;5400000&quot; rotWithShape=&quot;0&quot;&gt;&lt;a:srgbClr val=&quot;000000&quot;&gt;&lt;a:alpha val=&quot;38000&quot;/&gt;&lt;/a:srgbClr&gt;&lt;/a:outerShdw&gt;&lt;/a:effectLst&gt;&lt;/a:effectStyle&gt;&lt;a:effectStyle&gt;&lt;a:effectLst&gt;&apos;.
  lv_xl_theme_25 = &apos;&lt;a:outerShdw blurRad=&quot;40000&quot; dist=&quot;23000&quot; dir=&quot;5400000&quot; rotWithShape=&quot;0&quot;&gt;&lt;a:srgbClr val=&quot;000000&quot;&gt;&lt;a:alpha val=&quot;35000&quot;/&gt;&lt;/a:srgbClr&gt;&lt;/a:outerShdw&gt;&lt;/a:effectLst&gt;&lt;/a:effectStyle&gt;&lt;a:effectStyle&gt;&lt;a:effectLst&gt;&lt;a:outerShdw blurRad=&quot;40000&quot; &apos;.
  lv_xl_theme_26 = &apos;dist=&quot;23000&quot; dir=&quot;5400000&quot; rotWithShape=&quot;0&quot;&gt;&lt;a:srgbClr val=&quot;000000&quot;&gt;&lt;a:alpha val=&quot;35000&quot;/&gt;&lt;/a:srgbClr&gt;&lt;/a:outerShdw&gt;&lt;/a:effectLst&gt;&lt;a:scene3d&gt;&lt;a:camera prst=&quot;orthographicFront&quot;&gt;&lt;a:rot lat=&quot;0&quot; lon=&quot;0&quot; rev=&quot;0&quot;/&gt;&lt;/a:camera&gt;&lt;a:lightRig &apos;.
  lv_xl_theme_27 = &apos;rig=&quot;threePt&quot; dir=&quot;t&quot;&gt;&lt;a:rot lat=&quot;0&quot; lon=&quot;0&quot; rev=&quot;1200000&quot;/&gt;&lt;/a:lightRig&gt;&lt;/a:scene3d&gt;&lt;a:sp3d&gt;&lt;a:bevelT w=&quot;63500&quot; h=&quot;25400&quot;/&gt;&lt;/a:sp3d&gt;&lt;/a:effectStyle&gt;&lt;/a:effectStyleLst&gt;&lt;a:bgFillStyleLst&gt;&lt;a:solidFill&gt;&lt;a:schemeClr val=&quot;phClr&quot;/&gt;&apos;.
  lv_xl_theme_28 = &apos;&lt;/a:solidFill&gt;&lt;a:gradFill rotWithShape=&quot;1&quot;&gt;&lt;a:gsLst&gt;&lt;a:gs pos=&quot;0&quot;&gt;&lt;a:schemeClr val=&quot;phClr&quot;&gt;&lt;a:tint val=&quot;40000&quot;/&gt;&lt;a:satMod val=&quot;350000&quot;/&gt;&lt;/a:schemeClr&gt;&lt;/a:gs&gt;&lt;a:gs pos=&quot;40000&quot;&gt;&lt;a:schemeClr val=&quot;phClr&quot;&gt;&lt;a:tint val=&quot;45000&quot;/&gt;&lt;a:shade &apos;.
  lv_xl_theme_29 = &apos;val=&quot;99000&quot;/&gt;&lt;a:satMod val=&quot;350000&quot;/&gt;&lt;/a:schemeClr&gt;&lt;/a:gs&gt;&lt;a:gs pos=&quot;100000&quot;&gt;&lt;a:schemeClr val=&quot;phClr&quot;&gt;&lt;a:shade val=&quot;20000&quot;/&gt;&lt;a:satMod val=&quot;255000&quot;/&gt;&lt;/a:schemeClr&gt;&lt;/a:gs&gt;&lt;/a:gsLst&gt;&lt;a:path path=&quot;circle&quot;&gt;&lt;a:fillToRect l=&quot;50000&quot; &apos;.
  lv_xl_theme_30 = &apos;t=&quot;-80000&quot; r=&quot;50000&quot; b=&quot;180000&quot;/&gt;&lt;/a:path&gt;&lt;/a:gradFill&gt;&lt;a:gradFill rotWithShape=&quot;1&quot;&gt;&lt;a:gsLst&gt;&lt;a:gs pos=&quot;0&quot;&gt;&lt;a:schemeClr val=&quot;phClr&quot;&gt;&lt;a:tint val=&quot;80000&quot;/&gt;&lt;a:satMod val=&quot;300000&quot;/&gt;&lt;/a:schemeClr&gt;&lt;/a:gs&gt;&lt;a:gs pos=&quot;100000&quot;&gt;&lt;a:schemeClr &apos;.
  lv_xl_theme_31 = &apos;val=&quot;phClr&quot;&gt;&lt;a:shade val=&quot;30000&quot;/&gt;&lt;a:satMod val=&quot;200000&quot;/&gt;&lt;/a:schemeClr&gt;&lt;/a:gs&gt;&lt;/a:gsLst&gt;&lt;a:path path=&quot;circle&quot;&gt;&lt;a:fillToRect l=&quot;50000&quot; t=&quot;50000&quot; r=&quot;50000&quot; b=&quot;50000&quot;/&gt;&lt;/a:path&gt;&lt;/a:gradFill&gt;&lt;/a:bgFillStyleLst&gt;&lt;/a:fmtScheme&gt;&apos;.
  lv_xl_theme_32 = &apos;&lt;/a:themeElements&gt;&lt;a:objectDefaults/&gt;&lt;a:extraClrSchemeLst/&gt;&lt;/a:theme&gt;&apos;.


  CONCATENATE  lv_xl_theme_01  lv_xl_theme_02  lv_xl_theme_03  lv_xl_theme_04  lv_xl_theme_05  lv_xl_theme_06  lv_xl_theme_07  lv_xl_theme_08  lv_xl_theme_09  lv_xl_theme_10  lv_xl_theme_11  lv_xl_theme_12  lv_xl_theme_13  lv_xl_theme_14  lv_xl_theme_15
               lv_xl_theme_16  lv_xl_theme_17  lv_xl_theme_18  lv_xl_theme_19  lv_xl_theme_20  lv_xl_theme_21  lv_xl_theme_22  lv_xl_theme_23  lv_xl_theme_24  lv_xl_theme_25  lv_xl_theme_26  lv_xl_theme_27  lv_xl_theme_28  lv_xl_theme_29  lv_xl_theme_30
               lv_xl_theme_31  lv_xl_theme_32
  INTO lv_xl_theme SEPARATED BY space.

  CALL FUNCTION &apos;SCMS_STRING_TO_XSTRING&apos;
    EXPORTING
      text   = lv_xl_theme
    IMPORTING
      buffer = ep_content.


ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_WRITER_2007" CMPNAME="CREATE_XL_WORKBOOK" VERSION="1" LANGU="E" DESCRIPT="Create &apos;xl/workbook.xml&apos;" EXPOSURE="0" STATE="1" EDITORDER="14 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100702" CHANGEDBY="FEMIA" CHANGEDON="20100710" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_WRITER_2007" CMPNAME="CREATE_XL_WORKBOOK" SCONAME="EP_CONTENT" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100702" CHANGEDON="00000000" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="XSTRING"/>
   <source>METHOD create_xl_workbook.


** Constant node name
  DATA: lc_xml_node_workbook      TYPE string VALUE &apos;workbook&apos;,
        lc_xml_node_fileversion   TYPE string VALUE &apos;fileVersion&apos;,
        lc_xml_node_workbookpr    TYPE string VALUE &apos;workbookPr&apos;,
        lc_xml_node_bookviews     TYPE string VALUE &apos;bookViews&apos;,
        lc_xml_node_workbookview  TYPE string VALUE &apos;workbookView&apos;,
        lc_xml_node_sheets        TYPE string VALUE &apos;sheets&apos;,
        lc_xml_node_sheet         TYPE string VALUE &apos;sheet&apos;,
        lc_xml_node_calcpr        TYPE string VALUE &apos;calcPr&apos;,
        &quot; Node attributes
        lc_xml_attr_appname       TYPE string VALUE &apos;appName&apos;,
        lc_xml_attr_lastedited    TYPE string VALUE &apos;lastEdited&apos;,
        lc_xml_attr_lowestedited  TYPE string VALUE &apos;lowestEdited&apos;,
        lc_xml_attr_rupbuild      TYPE string VALUE &apos;rupBuild&apos;,
        lc_xml_attr_themeversion  TYPE string VALUE &apos;defaultThemeVersion&apos;,
        lc_xml_attr_xwindow       TYPE string VALUE &apos;xWindow&apos;,
        lc_xml_attr_ywindow       TYPE string VALUE &apos;yWindow&apos;,
        lc_xml_attr_windowwidth   TYPE string VALUE &apos;windowWidth&apos;,
        lc_xml_attr_windowheight  TYPE string VALUE &apos;windowHeight&apos;,
        lc_xml_attr_name          TYPE string VALUE &apos;name&apos;,
        lc_xml_attr_sheetid       TYPE string VALUE &apos;sheetId&apos;,
        lc_xml_attr_id            TYPE string VALUE &apos;id&apos;,
        lc_xml_attr_calcid        TYPE string VALUE &apos;calcId&apos;,
        &quot; Node namespace
        lc_r_ns                   TYPE string VALUE &apos;r&apos;,
        lc_xml_node_ns            TYPE string VALUE &apos;http://schemas.openxmlformats.org/spreadsheetml/2006/main&apos;,
        lc_xml_node_r_ns          TYPE string VALUE &apos;http://schemas.openxmlformats.org/officeDocument/2006/relationships&apos;,
        &quot; Node id
        lc_xml_node_ridx_id       TYPE string VALUE &apos;rId#&apos;.

  DATA: lo_ixml           TYPE REF TO if_ixml,
        lo_document       TYPE REF TO if_ixml_document,
        lo_element_root   TYPE REF TO if_ixml_element,
        lo_element        TYPE REF TO if_ixml_element,
        lo_sub_element    TYPE REF TO if_ixml_element,
        lo_encoding       TYPE REF TO if_ixml_encoding,
        lo_streamfactory  TYPE REF TO if_ixml_stream_factory,
        lo_ostream        TYPE REF TO if_ixml_ostream,
        lo_renderer       TYPE REF TO if_ixml_renderer,
        lo_iterator       TYPE REF TO cl_object_collection_iterator,
        lo_worksheet      TYPE REF TO zcl_excel_worksheet.

  DATA: lv_xml_node_ridx_id       TYPE string,
        lv_value                  TYPE string,
        lv_syindex                TYPE string.

**********************************************************************
* STEP 1: Create [Content_Types].xml into the root of the ZIP
  lo_ixml = cl_ixml=&gt;create( ).

**********************************************************************
* STEP 2: Set document attributes
  lo_encoding = lo_ixml-&gt;create_encoding( byte_order = if_ixml_encoding=&gt;co_platform_endian
                                          character_set = &apos;utf-8&apos; ).
  lo_document = lo_ixml-&gt;create_document( ).
  lo_document-&gt;set_encoding( lo_encoding ).
  lo_document-&gt;set_standalone( abap_true ).

**********************************************************************
* STEP 3: Create main node
  lo_element_root  = lo_document-&gt;create_simple_element( name   = lc_xml_node_workbook
                                                         parent = lo_document ).
  lo_element_root-&gt;set_attribute_ns( name  = &apos;xmlns&apos;
                                     value = lc_xml_node_ns ).
  lo_element_root-&gt;set_attribute_ns( name  = &apos;xmlns:r&apos;
                                     value = lc_xml_node_r_ns ).

**********************************************************************
* STEP 4: Create subnode
  &quot; fileVersion node
  lo_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_fileversion
                                                   parent = lo_document ).
  lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_appname
                                value = &apos;xl&apos; ).
  lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_lastedited
                                value = &apos;4&apos; ).
  lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_lowestedited
                                value = &apos;4&apos; ).
  lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_rupbuild
                                value = &apos;4506&apos; ).
  lo_element_root-&gt;append_child( lo_element ).

  &quot; fileVersion node
  lo_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_workbookpr
                                                   parent = lo_document ).
  lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_themeversion
                                value = &apos;124226&apos; ).
  lo_element_root-&gt;append_child( lo_element ).

  &quot; bookviews node
  lo_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_bookviews
                                                   parent = lo_document ).
  &quot; bookview node
  lo_sub_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_workbookview
                                                       parent = lo_document ).
  lo_sub_element-&gt;set_attribute_ns( name  = lc_xml_attr_xwindow
                                    value = &apos;120&apos; ).
  lo_sub_element-&gt;set_attribute_ns( name  = lc_xml_attr_ywindow
                                    value = &apos;120&apos; ).
  lo_sub_element-&gt;set_attribute_ns( name  = lc_xml_attr_windowwidth
                                    value = &apos;19035&apos; ).
  lo_sub_element-&gt;set_attribute_ns( name  = lc_xml_attr_windowheight
                                    value = &apos;8445&apos; ).
  lo_element-&gt;append_child( lo_sub_element ).&quot; bookview node
  lo_element_root-&gt;append_child( lo_element ).&quot; bookviews node

  &quot; sheets node
  lo_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_sheets
                                                   parent = lo_document ).
  lo_iterator = excel-&gt;get_worksheets_iterator( ).

  WHILE lo_iterator-&gt;if_object_collection_iterator~has_next( ) EQ abap_true.
    &quot; sheet node
    lo_sub_element = lo_document-&gt;create_simple_element_ns( name   = lc_xml_node_sheet
                                                            parent = lo_document ).
    lo_worksheet ?= lo_iterator-&gt;if_object_collection_iterator~get_next( ).
    lv_value = lo_worksheet-&gt;title.
    lv_syindex = sy-index.
    SHIFT lv_syindex RIGHT DELETING TRAILING space.
    SHIFT lv_syindex LEFT DELETING LEADING space.
    lv_xml_node_ridx_id = lc_xml_node_ridx_id.
    REPLACE ALL OCCURRENCES OF &apos;#&apos; IN lv_xml_node_ridx_id WITH lv_syindex.
    lo_sub_element-&gt;set_attribute_ns( name  = lc_xml_attr_name
                                      value = lv_value ).
    lo_sub_element-&gt;set_attribute_ns( name  = lc_xml_attr_sheetid
                                      value = lv_syindex ).
    lo_sub_element-&gt;set_attribute_ns( name    = lc_xml_attr_id
                                      prefix  = lc_r_ns
                                      value   = lv_xml_node_ridx_id ).
    lo_element-&gt;append_child( lo_sub_element ). &quot; sheet node
  ENDWHILE.
  lo_element_root-&gt;append_child( lo_element ).&quot; sheets node

  &quot; calcPr node
  lo_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_calcpr
                                                   parent = lo_document ).
  lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_calcid
                                value = &apos;125725&apos; ).
  lo_element_root-&gt;append_child( lo_element ).


**********************************************************************
* STEP 5: Create xstring stream
  lo_streamfactory = lo_ixml-&gt;create_stream_factory( ).
  lo_ostream = lo_streamfactory-&gt;create_ostream_xstring( string = ep_content ).
  lo_renderer = lo_ixml-&gt;create_renderer( ostream  = lo_ostream document = lo_document ).
  lo_renderer-&gt;render( ).

ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_WRITER_2007" CMPNAME="FLAG2BOOL" VERSION="1" LANGU="E" DESCRIPT="Convert a FLAG to BOOLEAN value" EXPOSURE="0" STATE="1" EDITORDER="15 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100701" CHANGEDBY="FEMIA" CHANGEDON="20100710" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_WRITER_2007" CMPNAME="FLAG2BOOL" SCONAME="IP_FLAG" VERSION="1" LANGU="E" DESCRIPT="General Flag" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100701" CHANGEDON="00000000" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="FLAG"/>
   <parameter CLSNAME="ZCL_EXCEL_WRITER_2007" CMPNAME="FLAG2BOOL" SCONAME="EP_BOOLEAN" VERSION="1" LANGU="E" DESCRIPT="Boolean value" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100701" CHANGEDON="00000000" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="CHAR5"/>
   <source>METHOD flag2bool.


  IF ip_flag EQ abap_true.
    ep_boolean = &apos;true&apos;.
  ELSE.
    ep_boolean = &apos;false&apos;.
  ENDIF.
ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_WRITER_2007" CMPNAME="GET_SHARED_STRING_INDEX" VERSION="1" LANGU="E" DESCRIPT="Get shared string index" EXPOSURE="0" STATE="1" EDITORDER="16 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100704" CHANGEDBY="FEMIA" CHANGEDON="20100710" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_WRITER_2007" CMPNAME="GET_SHARED_STRING_INDEX" SCONAME="IP_CELL_VALUE" VERSION="1" LANGU="E" DESCRIPT="Cell Value" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100704" CHANGEDON="00000000" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_CELL_VALUE"/>
   <parameter CLSNAME="ZCL_EXCEL_WRITER_2007" CMPNAME="GET_SHARED_STRING_INDEX" SCONAME="EP_INDEX" VERSION="1" LANGU="E" DESCRIPT="Natural Number" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100704" CHANGEDON="00000000" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="INT4"/>
   <source>METHOD get_shared_string_index.


  DATA ls_shared_string TYPE zexcel_s_shared_string.

  READ TABLE shared_strings INTO ls_shared_string WITH KEY string_value = ip_cell_value.
  ep_index = ls_shared_string-string_no.

ENDMETHOD.</source>
  </method>
 </CLAS>
 <CLAS CLSNAME="ZCL_EXCEL" VERSION="1" LANGU="E" DESCRIPT="Excel creator" UUID="C4C0274C8A345F2DE1000000C0A8FA19" CATEGORY="00" EXPOSURE="2" STATE="1" RELEASE="0" AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" CHGDANYON="00000000" CLSFINAL="X" CLSCCINCL="X" FIXPT="X" UNICODE="X" R3RELEASE="701" CLSBCCAT="00" DURATION_TYPE="0 " RISK_LEVEL="0 ">
  <publicSection>class ZCL_EXCEL definition
  public
  final
  create public .

*&quot;* public components of class ZCL_EXCEL
*&quot;* do not include other source files here!!!
public section.

  constants C_XLS type ZEXCEL_FORMAT value &apos;XLS&apos;. &quot;#EC NOTEXT
  constants C_XLSX type ZEXCEL_FORMAT value &apos;XLSX&apos;. &quot;#EC NOTEXT
  data PROPERTIES type ref to ZCL_EXCEL_PROPERTIES .
  data SECURITY type ref to ZCL_EXCEL_SECURITY .

  methods ADD_NEW_DRAWING
    importing
      !IP_TITLE type ZEXCEL_SHEET_TITLE optional
    returning
      value(EO_DRAWING) type ref to ZCL_EXCEL_DRAWING .
  methods ADD_NEW_STYLE
    returning
      value(EO_STYLE) type ref to ZCL_EXCEL_STYLE .
  methods ADD_NEW_WORKSHEET
    importing
      !IP_TITLE type ZEXCEL_SHEET_TITLE optional
    returning
      value(EO_WORKSHEET) type ref to ZCL_EXCEL_WORKSHEET .
  methods CONSTRUCTOR .
  methods GET_ACTIVE_WORKSHEET
    returning
      value(EO_WORKSHEET) type ref to ZCL_EXCEL_WORKSHEET .
  methods GET_DRAWINGS_ITERATOR
    returning
      value(EO_ITERATOR) type ref to CL_OBJECT_COLLECTION_ITERATOR .
  methods GET_STYLES_ITERATOR
    returning
      value(EO_ITERATOR) type ref to CL_OBJECT_COLLECTION_ITERATOR .
  methods GET_WORKSHEETS_ITERATOR
    returning
      value(EO_ITERATOR) type ref to CL_OBJECT_COLLECTION_ITERATOR .
  methods GET_WORKSHEETS_NAME
    returning
      value(EP_NAME) type ZEXCEL_WORKSHEETS_NAME .
  methods GET_WORKSHEETS_SIZE
    returning
      value(EP_SIZE) type I .
  methods SAVE_AS
    importing
      !IP_FORMAT type ZEXCEL_FORMAT
    returning
      value(EP_FILE) type XSTRING .</publicSection>
  <protectedSection>*&quot;* protected components of class ZABAP_EXCEL
*&quot;* do not include other source files here!!!
protected section.</protectedSection>
  <privateSection>*&quot;* private components of class ZCL_EXCEL
*&quot;* do not include other source files here!!!
private section.

  data DRAWINGS type ref to ZCL_EXCEL_DRAWINGS .
  data RANGES type ref to ZCL_EXCEL_RANGES .
  data STYLES type ref to ZCL_EXCEL_STYLES .
  data WORKSHEETS type ref to ZCL_EXCEL_WORKSHEETS .</privateSection>
  <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>
  <attribute CLSNAME="ZCL_EXCEL" CMPNAME="C_XLS" VERSION="1" LANGU="E" DESCRIPT="File format office 2003" EXPOSURE="2" STATE="1" EDITORDER="1 " AUTHOR="FEMIA" CREATEDON="20100630" CHANGEDBY="FEMIA" CHANGEDON="20100708" ATTDECLTYP="2" ATTVALUE="&apos;XLS&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_FORMAT" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL" CMPNAME="C_XLSX" VERSION="1" LANGU="E" DESCRIPT="File format office 2007" EXPOSURE="2" STATE="1" EDITORDER="2 " AUTHOR="FEMIA" CREATEDON="20100630" CHANGEDBY="FEMIA" CHANGEDON="20100708" ATTDECLTYP="2" ATTVALUE="&apos;XLSX&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_FORMAT" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL" CMPNAME="DRAWINGS" VERSION="1" LANGU="E" DESCRIPT="Worksheets collection" EXPOSURE="0" STATE="1" EDITORDER="3 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDBY="FEMIA" CHANGEDON="20100708" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="3" TYPE="ZCL_EXCEL_DRAWINGS" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL" CMPNAME="PROPERTIES" VERSION="1" LANGU="E" DESCRIPT="Document properties" EXPOSURE="2" STATE="1" EDITORDER="4 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100708" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="3" TYPE="ZCL_EXCEL_PROPERTIES" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL" CMPNAME="RANGES" VERSION="1" LANGU="E" DESCRIPT="Ranges collection" EXPOSURE="0" STATE="1" EDITORDER="5 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100708" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="3" TYPE="ZCL_EXCEL_RANGES" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL" CMPNAME="SECURITY" VERSION="1" LANGU="E" DESCRIPT="Security" EXPOSURE="2" STATE="1" EDITORDER="6 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100708" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="3" TYPE="ZCL_EXCEL_SECURITY" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL" CMPNAME="STYLES" VERSION="1" LANGU="E" DESCRIPT="Styles collection" EXPOSURE="0" STATE="1" EDITORDER="7 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100708" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="3" TYPE="ZCL_EXCEL_STYLES" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL" CMPNAME="WORKSHEETS" VERSION="1" LANGU="E" DESCRIPT="Worksheets collection" EXPOSURE="0" STATE="1" EDITORDER="8 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100708" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="3" TYPE="ZCL_EXCEL_WORKSHEETS" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <method CLSNAME="ZCL_EXCEL" CMPNAME="ADD_NEW_DRAWING" VERSION="1" LANGU="E" DESCRIPT="Create a new drawing" EXPOSURE="2" STATE="1" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDBY="FEMIA" CHANGEDON="20100708" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL" CMPNAME="ADD_NEW_DRAWING" SCONAME="IP_TITLE" VERSION="1" LANGU="E" DESCRIPT="Title" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDON="00000000" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_SHEET_TITLE" PAROPTIONL="X"/>
   <parameter CLSNAME="ZCL_EXCEL" CMPNAME="ADD_NEW_DRAWING" SCONAME="EO_DRAWING" VERSION="1" LANGU="E" DESCRIPT="Drawing" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDON="00000000" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="3" TYPE="ZCL_EXCEL_DRAWING"/>
   <source>METHOD add_new_drawing.

  DATA: lv_guid  TYPE guid_16.
* Create default blank worksheet
  CREATE OBJECT eo_drawing
    EXPORTING
      ip_title = ip_title.
  drawings-&gt;add( eo_drawing ).
ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL" CMPNAME="ADD_NEW_STYLE" VERSION="1" LANGU="E" DESCRIPT="Create a new style" EXPOSURE="2" STATE="1" EDITORDER="2 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100704" CHANGEDBY="FEMIA" CHANGEDON="20100708" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL" CMPNAME="ADD_NEW_STYLE" SCONAME="EO_STYLE" VERSION="1" LANGU="E" DESCRIPT="Style" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100704" CHANGEDON="00000000" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="3" TYPE="ZCL_EXCEL_STYLE"/>
   <source>method ADD_NEW_STYLE.


* Create default style
  CREATE OBJECT eo_style.
  styles-&gt;add( eo_style ).

endmethod.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL" CMPNAME="ADD_NEW_WORKSHEET" VERSION="1" LANGU="E" DESCRIPT="Create a new worksheet" EXPOSURE="2" STATE="1" EDITORDER="3 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100704" CHANGEDBY="FEMIA" CHANGEDON="20100708" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL" CMPNAME="ADD_NEW_WORKSHEET" SCONAME="IP_TITLE" VERSION="1" LANGU="E" DESCRIPT="Title" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100704" CHANGEDBY="FEMIA" CHANGEDON="20100706" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_SHEET_TITLE" PAROPTIONL="X"/>
   <parameter CLSNAME="ZCL_EXCEL" CMPNAME="ADD_NEW_WORKSHEET" SCONAME="EO_WORKSHEET" VERSION="1" LANGU="E" DESCRIPT="Worksheet" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100704" CHANGEDON="00000000" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="3" TYPE="ZCL_EXCEL_WORKSHEET"/>
   <source>METHOD add_new_worksheet.


  DATA: lv_guid  TYPE guid_16.
* Create default blank worksheet
  CREATE OBJECT eo_worksheet
    EXPORTING
      ip_title = ip_title.
  worksheets-&gt;add( eo_worksheet ).
  worksheets-&gt;active_worksheet = worksheets-&gt;size( ).
ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL" CMPNAME="CONSTRUCTOR" VERSION="1" LANGU="E" DESCRIPT="CONSTRUCTOR" EXPOSURE="2" STATE="1" EDITORDER="4 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100708" MTDTYPE="2" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <source>METHOD constructor.


  DATA: lo_worksheet  TYPE REF TO zcl_excel_worksheet,
        lo_style      TYPE REF TO zcl_excel_style.

* Inizialize instance objects
  CREATE OBJECT properties.
  CREATE OBJECT security.
  CREATE OBJECT worksheets.
  CREATE OBJECT ranges.
  CREATE OBJECT styles.
  CREATE OBJECT drawings.

  me-&gt;add_new_worksheet( ).
  me-&gt;add_new_style( ). &quot; Standard style
  lo_style = me-&gt;add_new_style( ). &quot; Standard style with fill gray125
  lo_style-&gt;fill-&gt;filltype = zcl_excel_style_fill=&gt;c_fill_pattern_gray125.


ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL" CMPNAME="GET_ACTIVE_WORKSHEET" VERSION="1" LANGU="E" DESCRIPT="Get active worksheet" EXPOSURE="2" STATE="1" EDITORDER="5 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100704" CHANGEDBY="FEMIA" CHANGEDON="20100708" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" 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 " AUTHOR="FEMIA" CREATEDON="20100704" CHANGEDON="00000000" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="3" TYPE="ZCL_EXCEL_WORKSHEET"/>
   <source>method GET_ACTIVE_WORKSHEET.


  eo_worksheet = me-&gt;worksheets-&gt;get( me-&gt;worksheets-&gt;active_worksheet ).

endmethod.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL" CMPNAME="GET_DRAWINGS_ITERATOR" VERSION="1" LANGU="E" DESCRIPT="Get drawing iterator" EXPOSURE="2" STATE="1" EDITORDER="6 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDBY="FEMIA" CHANGEDON="20100708" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL" CMPNAME="GET_DRAWINGS_ITERATOR" SCONAME="EO_ITERATOR" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDON="00000000" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="3" TYPE="CL_OBJECT_COLLECTION_ITERATOR"/>
   <source>METHOD GET_DRAWINGS_ITERATOR.


  eo_iterator = me-&gt;drawings-&gt;get_iterator( ).
ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL" CMPNAME="GET_STYLES_ITERATOR" VERSION="1" LANGU="E" DESCRIPT="Get styles iterator" EXPOSURE="2" STATE="1" EDITORDER="7 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100704" CHANGEDBY="FEMIA" CHANGEDON="20100708" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" 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 " AUTHOR="FEMIA" CREATEDON="20100704" CHANGEDON="00000000" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="3" TYPE="CL_OBJECT_COLLECTION_ITERATOR"/>
   <source>METHOD GET_STYLES_ITERATOR.


  eo_iterator = me-&gt;styles-&gt;get_iterator( ).
ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL" CMPNAME="GET_WORKSHEETS_ITERATOR" VERSION="1" LANGU="E" DESCRIPT="Get worksheets iterator" EXPOSURE="2" STATE="1" EDITORDER="8 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100704" CHANGEDBY="FEMIA" CHANGEDON="20100708" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" 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 " AUTHOR="FEMIA" CREATEDON="20100704" CHANGEDON="00000000" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="3" TYPE="CL_OBJECT_COLLECTION_ITERATOR"/>
   <source>METHOD get_worksheets_iterator.


  eo_iterator = me-&gt;worksheets-&gt;get_iterator( ).
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="9 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100704" CHANGEDBY="FEMIA" CHANGEDON="20100708" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" 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 " AUTHOR="FEMIA" CREATEDON="20100704" CHANGEDON="00000000" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="ZEXCEL_WORKSHEETS_NAME"/>
   <source>METHOD GET_WORKSHEETS_NAME.


  ep_name = me-&gt;worksheets-&gt;name.

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="10 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100704" CHANGEDBY="FEMIA" CHANGEDON="20100708" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" 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 " AUTHOR="FEMIA" CREATEDON="20100704" CHANGEDON="00000000" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="I"/>
   <source>METHOD get_worksheets_size.


  ep_size = me-&gt;worksheets-&gt;size( ).

ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL" CMPNAME="SAVE_AS" VERSION="1" LANGU="E" DESCRIPT="Save as" EXPOSURE="2" STATE="1" EDITORDER="11 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100708" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL" CMPNAME="SAVE_AS" SCONAME="IP_FORMAT" VERSION="1" LANGU="E" DESCRIPT="File format" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_FORMAT"/>
   <parameter CLSNAME="ZCL_EXCEL" CMPNAME="SAVE_AS" SCONAME="EP_FILE" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="XSTRING"/>
   <source>METHOD save_as.


  DATA lo_excel_writer_2007 TYPE REF TO zcl_excel_writer_2007.

* Determine the output engine to use
  CASE ip_format.
    WHEN me-&gt;c_xlsx.                                &quot; XLSX for Office 2007
      CREATE OBJECT lo_excel_writer_2007 EXPORTING io_excel = me.
      ep_file = lo_excel_writer_2007-&gt;create( ).
    WHEN OTHERS.
  ENDCASE.

ENDMETHOD.</source>
  </method>
 </CLAS>
 <CLAS CLSNAME="ZCL_EXCEL_COMMON" VERSION="1" LANGU="E" DESCRIPT="Static common methods" UUID="5E42354C6579E82CE1000000C0A8FA19" CATEGORY="00" EXPOSURE="2" STATE="1" RELEASE="0" AUTHOR="FEMIA" CREATEDON="20100710" CHANGEDON="00000000" CHGDANYON="00000000" CLSFINAL="X" CLSCCINCL="X" FIXPT="X" UNICODE="X" R3RELEASE="701" CLSBCCAT="00" DURATION_TYPE="0 " RISK_LEVEL="0 ">
  <publicSection>class ZCL_EXCEL_COMMON definition
  public
  final
  create public .

*&quot;* public components of class ZCL_EXCEL_COMMON
*&quot;* do not include other source files here!!!
public section.

  class-methods CONVERT_COLUMN2ALPHA
    importing
      !IP_COLUMN type ZEXCEL_CELL_COLUMN
    returning
      value(EP_COLUMN) type ZEXCEL_CELL_COLUMN_ALPHA .
  class-methods CONVERT_COLUMN2INT
    importing
      !IP_COLUMN type ZEXCEL_CELL_COLUMN_ALPHA
    returning
      value(EP_COLUMN) type ZEXCEL_CELL_COLUMN .</publicSection>
  <protectedSection>*&quot;* protected components of class ZCL_EXCEL_COMMON
*&quot;* do not include other source files here!!!
protected section.</protectedSection>
  <privateSection>*&quot;* private components of class ZCL_EXCEL_COMMON
*&quot;* do not include other source files here!!!
private section.

  class-data C_EXCEL_COL_MODULE type INT2 value 64. &quot;#EC NOTEXT .</privateSection>
  <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>
  <attribute CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="C_EXCEL_COL_MODULE" VERSION="1" LANGU="E" DESCRIPT="2 byte integer (signed)" EXPOSURE="0" STATE="1" EDITORDER="1 " AUTHOR="FEMIA" CREATEDON="20100710" CHANGEDON="00000000" ATTDECLTYP="1" ATTVALUE="64" ATTEXPVIRT="0" TYPTYPE="1" TYPE="INT2" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <method CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="CONVERT_COLUMN2ALPHA" VERSION="1" LANGU="E" DESCRIPT="Convert column indicator to Alpha" EXPOSURE="2" STATE="1" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100710" CHANGEDON="00000000" MTDTYPE="0" MTDDECLTYP="1" R3RELEASE="701" 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 " AUTHOR="FEMIA" CREATEDON="20100710" CHANGEDON="00000000" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_CELL_COLUMN"/>
   <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 " AUTHOR="FEMIA" CREATEDON="20100710" CHANGEDON="00000000" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="ZEXCEL_CELL_COLUMN_ALPHA"/>
   <source>METHOD convert_column2alpha.


  DATA: lo_conv      TYPE REF TO cl_abap_conv_in_ce,
        lv_uccpi     TYPE i,
        lv_text      TYPE sychar02,
        lv_module    TYPE int4,
        lv_column    TYPE zexcel_cell_column.

  lv_column = ip_column.
  WHILE lv_column GT 0.
    lv_module = ( lv_column - 1 ) MOD 26.
    lv_uccpi  = 65 + lv_module.

    lv_column = ( lv_column - lv_module ) / 26.

    lv_text   = cl_abap_conv_in_ce=&gt;uccpi( lv_uccpi ).
    CONCATENATE lv_text ep_column INTO ep_column.
  ENDWHILE.

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="2 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100710" CHANGEDON="00000000" MTDTYPE="0" MTDDECLTYP="1" R3RELEASE="701" 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 " AUTHOR="FEMIA" CREATEDON="20100710" CHANGEDON="00000000" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_CELL_COLUMN_ALPHA"/>
   <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 " AUTHOR="FEMIA" CREATEDON="20100710" CHANGEDON="00000000" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="ZEXCEL_CELL_COLUMN"/>
   <source>METHOD convert_column2int.


  DATA: lv_uccpi     TYPE i,
        lv_char      TYPE c,
        lv_column(2) TYPE c.

* Calculate most significant letter
  lv_char    = ip_column+1(1).
  IF lv_char IS NOT INITIAL. &quot;To avoid the first 26 column that have only a char in first position
    ep_column  = cl_abap_conv_out_ce=&gt;uccpi( lv_char ).

    ep_column  = ep_column MOD ( zcl_excel_common=&gt;c_excel_col_module ).

    lv_char    = ip_column(1).
    lv_uccpi   = cl_abap_conv_out_ce=&gt;uccpi( lv_char ).

    lv_uccpi   = ( lv_uccpi MOD ( zcl_excel_common=&gt;c_excel_col_module ) ) * 26.

    ep_column  = ep_column + lv_uccpi.
  ELSE.
    lv_char    = ip_column(1).
    ep_column  = cl_abap_conv_out_ce=&gt;uccpi( lv_char ).
    ep_column  = ep_column - zcl_excel_common=&gt;c_excel_col_module.
  ENDIF.

ENDMETHOD.</source>
  </method>
 </CLAS>
 <CLAS CLSNAME="ZCL_EXCEL_DRAWING" VERSION="1" LANGU="E" DESCRIPT="Drawing" UUID="0FA0354C6579E82CE1000000C0A8FA19" CATEGORY="00" EXPOSURE="2" STATE="1" RELEASE="0" AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDBY="FEMIA" CHANGEDON="20100708" CHGDANYON="00000000" CLSFINAL="X" CLSCCINCL="X" FIXPT="X" UNICODE="X" R3RELEASE="701" CLSBCCAT="00" DURATION_TYPE="0 " RISK_LEVEL="0 ">
  <publicSection>class ZCL_EXCEL_DRAWING definition
  public
  final
  create public .

*&quot;* public components of class ZCL_EXCEL_DRAWING
*&quot;* do not include other source files here!!!
public section.
  type-pools ABAP .

  data TITLE type ZEXCEL_SHEET_TITLE value &apos;Worksheet&apos;. &quot;#EC NOTEXT .
  data X_REFERENCES type CHAR1 .
  data Y_REFERENCES type CHAR1 .
  data GRAPH_TYPE type ZEXCEL_GRAPH_TYPE .

  methods CONSTRUCTOR
    importing
      !IP_TITLE type ZEXCEL_SHEET_TITLE optional .
  methods GET_GUID
    returning
      value(EP_GUID) type GUID_16 .</publicSection>
  <protectedSection>*&quot;* protected components of class ZABAP_EXCEL_WORKSHEET
*&quot;* do not include other source files here!!!
protected section.</protectedSection>
  <privateSection>*&quot;* private components of class ZCL_EXCEL_DRAWING
*&quot;* do not include other source files here!!!
private section.

  data GUID type GUID_16 .
  data LOWER_CELL type ZEXCEL_S_CELL_DATA .
  data UPPER_CELL type ZEXCEL_S_CELL_DATA .
  constants C_EXCEL_COL_MODULE type INT2 value 64. &quot;#EC NOTEXT

  methods CONVERT_COLUMN2ALPHA
    importing
      !IP_COLUMN type ZEXCEL_CELL_COLUMN
    returning
      value(EP_COLUMN) type ZEXCEL_CELL_COLUMN_ALPHA .
  methods CONVERT_COLUMN2INT
    importing
      !IP_COLUMN type ZEXCEL_CELL_COLUMN_ALPHA
    returning
      value(EP_COLUMN) type ZEXCEL_CELL_COLUMN .</privateSection>
  <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_DRAWING" TYPEGROUP="ABAP" VERSION="1" TPUTYPE="0" EXPLICIT="X"/>
  <forwardDeclaration>ABAP</forwardDeclaration>
  <attribute CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="C_EXCEL_COL_MODULE" VERSION="1" LANGU="E" DESCRIPT="2 byte integer (signed)" EXPOSURE="0" STATE="1" EDITORDER="8 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDON="00000000" ATTDECLTYP="2" ATTVALUE="64" ATTEXPVIRT="0" TYPTYPE="1" TYPE="INT2" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="GRAPH_TYPE" VERSION="1" LANGU="E" DESCRIPT="Graph type" EXPOSURE="2" STATE="1" EDITORDER="7 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDON="00000000" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_GRAPH_TYPE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="GUID" VERSION="1" LANGU="E" DESCRIPT="GUID in &apos;RAW&apos; format" EXPOSURE="0" STATE="1" EDITORDER="1 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDBY="FEMIA" CHANGEDON="20100708" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="GUID_16" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="LOWER_CELL" VERSION="1" LANGU="E" DESCRIPT="Bottom right range cell" EXPOSURE="0" STATE="1" EDITORDER="2 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDBY="FEMIA" CHANGEDON="20100708" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_S_CELL_DATA" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="TITLE" VERSION="1" LANGU="E" DESCRIPT="Title" EXPOSURE="2" STATE="1" EDITORDER="3 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDBY="FEMIA" CHANGEDON="20100708" ATTDECLTYP="0" ATTVALUE="&apos;Worksheet&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_TITLE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="UPPER_CELL" VERSION="1" LANGU="E" DESCRIPT="Top left range cell" EXPOSURE="0" STATE="1" EDITORDER="4 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDBY="FEMIA" CHANGEDON="20100708" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_S_CELL_DATA" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="X_REFERENCES" VERSION="1" LANGU="E" DESCRIPT="Single-Character Indicator" EXPOSURE="2" STATE="1" EDITORDER="5 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDON="00000000" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="CHAR1" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="Y_REFERENCES" VERSION="1" LANGU="E" DESCRIPT="Single-Character Indicator" EXPOSURE="2" STATE="1" EDITORDER="6 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDON="00000000" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="CHAR1" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <method CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="CONSTRUCTOR" VERSION="1" LANGU="E" DESCRIPT="CONSTRUCTOR" EXPOSURE="2" STATE="1" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDON="00000000" MTDTYPE="2" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="CONSTRUCTOR" SCONAME="IP_TITLE" VERSION="1" LANGU="E" DESCRIPT="Title" CMPTYPE="1" MTDTYPE="2" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDON="00000000" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_SHEET_TITLE" PAROPTIONL="X"/>
   <source>METHOD CONSTRUCTOR.
  CALL FUNCTION &apos;GUID_CREATE&apos;
    IMPORTING
      ev_guid_16 = me-&gt;guid.

  IF ip_title IS NOT INITIAL.
    title = ip_title.
  ELSE.
    title = me-&gt;guid.
  ENDIF.

* inizialize dimension range
  lower_cell-cell_row     = 1.
  lower_cell-cell_column  = 1.
  upper_cell-cell_row     = 1.
  upper_cell-cell_column  = 1.
ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="CONVERT_COLUMN2ALPHA" VERSION="1" LANGU="E" DESCRIPT="Convert column indicator to Alpha" EXPOSURE="0" STATE="1" EDITORDER="2 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDON="00000000" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="CONVERT_COLUMN2ALPHA" SCONAME="IP_COLUMN" VERSION="1" LANGU="E" DESCRIPT="Cell Column" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDON="00000000" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_CELL_COLUMN"/>
   <parameter CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="CONVERT_COLUMN2ALPHA" SCONAME="EP_COLUMN" VERSION="1" LANGU="E" DESCRIPT="Cell Column" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDON="00000000" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="ZEXCEL_CELL_COLUMN_ALPHA"/>
   <source>METHOD CONVERT_COLUMN2ALPHA.
  DATA: lo_conv      TYPE REF TO cl_abap_conv_in_ce,
        lv_uccpi     TYPE i,
        lv_text      TYPE sychar02,
        lv_module    TYPE int4,
        lv_column    TYPE zexcel_cell_column.

  lv_column = ip_column.
  WHILE lv_column GT 0.
    lv_module = ( lv_column - 1 ) MOD 26.
    lv_uccpi  = 65 + lv_module.

    lv_column = ( lv_column - lv_module ) / 26.

    lv_text   = cl_abap_conv_in_ce=&gt;uccpi( lv_uccpi ).
    CONCATENATE lv_text ep_column INTO ep_column.
  ENDWHILE.

ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="CONVERT_COLUMN2INT" VERSION="1" LANGU="E" DESCRIPT="Convert column indicator to Integer" EXPOSURE="0" STATE="1" EDITORDER="3 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDON="00000000" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="CONVERT_COLUMN2INT" SCONAME="IP_COLUMN" VERSION="1" LANGU="E" DESCRIPT="Cell Column" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDON="00000000" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_CELL_COLUMN_ALPHA"/>
   <parameter CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="CONVERT_COLUMN2INT" SCONAME="EP_COLUMN" VERSION="1" LANGU="E" DESCRIPT="Cell Column" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDON="00000000" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="ZEXCEL_CELL_COLUMN"/>
   <source>METHOD CONVERT_COLUMN2INT.

  DATA: lv_uccpi     TYPE i,
        lv_char      TYPE c,
        lv_column(2) TYPE c.

* Calculate most significant letter
  lv_char    = ip_column+1(1).
  IF lv_char IS NOT INITIAL. &quot;To avoid the first 26 column that have only a char in first position
    ep_column  = cl_abap_conv_out_ce=&gt;uccpi( lv_char ).

    ep_column  = ep_column MOD ( me-&gt;c_excel_col_module ).

    lv_char    = ip_column(1).
    lv_uccpi   = cl_abap_conv_out_ce=&gt;uccpi( lv_char ).

    lv_uccpi   = ( lv_uccpi MOD ( me-&gt;c_excel_col_module ) ) * 26.

    ep_column  = ep_column + lv_uccpi.
  ELSE.
    lv_char    = ip_column(1).
    ep_column  = cl_abap_conv_out_ce=&gt;uccpi( lv_char ).
    ep_column  = ep_column - me-&gt;c_excel_col_module.
  ENDIF.

ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="GET_GUID" VERSION="1" LANGU="E" DESCRIPT="Get sheet guid" EXPOSURE="2" STATE="1" EDITORDER="4 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDBY="FEMIA" CHANGEDON="20100708" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="GET_GUID" SCONAME="EP_GUID" VERSION="1" LANGU="E" DESCRIPT="GUID in &apos;RAW&apos; format" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDON="00000000" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="GUID_16"/>
   <source>method GET_GUID.

  ep_guid = me-&gt;guid.

endmethod.</source>
  </method>
 </CLAS>
 <CLAS CLSNAME="ZCL_EXCEL_DRAWINGS" VERSION="1" LANGU="E" DESCRIPT="Drawings collection" UUID="549F354C6579E82CE1000000C0A8FA19" CATEGORY="00" EXPOSURE="2" STATE="1" RELEASE="0" AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDBY="FEMIA" CHANGEDON="20100708" CHGDANYON="00000000" CLSFINAL="X" CLSCCINCL="X" FIXPT="X" UNICODE="X" R3RELEASE="701" CLSBCCAT="00" DURATION_TYPE="0 " RISK_LEVEL="0 ">
  <publicSection>class ZCL_EXCEL_DRAWINGS definition
  public
  final
  create public .

*&quot;* public components of class ZCL_EXCEL_DRAWINGS
*&quot;* do not include other source files here!!!
public section.

  methods ADD
    importing
      !IP_DRAWING type ref to ZCL_EXCEL_DRAWING .
  methods CLEAR .
  methods CONSTRUCTOR .
  methods GET
    importing
      !IP_INDEX type ZEXCEL_ACTIVE_WORKSHEET
    returning
      value(EO_DRAWING) type ref to ZCL_EXCEL_DRAWING .
  methods GET_ITERATOR
    returning
      value(EO_ITERATOR) type ref to CL_OBJECT_COLLECTION_ITERATOR .
  methods IS_EMPTY
    returning
      value(IS_EMPTY) type FLAG .
  methods REMOVE
    importing
      !IP_DRAWING type ref to ZCL_EXCEL_DRAWING .
  methods SIZE
    returning
      value(EP_SIZE) type I .</publicSection>
  <protectedSection>*&quot;* protected components of class ZABAP_EXCEL_WORKSHEETS
*&quot;* do not include other source files here!!!
protected section.</protectedSection>
  <privateSection>*&quot;* private components of class ZCL_EXCEL_DRAWINGS
*&quot;* do not include other source files here!!!
private section.

  data DRAWINGS type ref to CL_OBJECT_COLLECTION .</privateSection>
  <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>
  <attribute CLSNAME="ZCL_EXCEL_DRAWINGS" CMPNAME="DRAWINGS" VERSION="1" LANGU="E" EXPOSURE="0" STATE="1" EDITORDER="1 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDON="00000000" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="3" TYPE="CL_OBJECT_COLLECTION" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <method CLSNAME="ZCL_EXCEL_DRAWINGS" CMPNAME="ADD" VERSION="1" LANGU="E" DESCRIPT="Adds an Element to the Collection" EXPOSURE="2" STATE="1" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDON="00000000" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_DRAWINGS" CMPNAME="ADD" SCONAME="IP_DRAWING" VERSION="1" LANGU="E" DESCRIPT="Worksheet" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDON="00000000" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="3" TYPE="ZCL_EXCEL_DRAWING"/>
   <source>METHOD add.


  drawings-&gt;add( ip_drawing ).
ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_DRAWINGS" CMPNAME="CLEAR" VERSION="1" LANGU="E" DESCRIPT="Initializes the Collection" EXPOSURE="2" STATE="1" EDITORDER="2 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDON="00000000" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <source>METHOD clear.


  drawings-&gt;clear( ).
ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_DRAWINGS" CMPNAME="CONSTRUCTOR" VERSION="1" LANGU="E" DESCRIPT="CONSTRUCTOR" EXPOSURE="2" STATE="1" EDITORDER="3 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDON="00000000" MTDTYPE="2" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <source>METHOD constructor.


  CREATE OBJECT drawings.

ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_DRAWINGS" CMPNAME="GET" VERSION="1" LANGU="E" DESCRIPT="Gets Element" EXPOSURE="2" STATE="1" EDITORDER="4 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDON="00000000" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_DRAWINGS" CMPNAME="GET" SCONAME="IP_INDEX" VERSION="1" LANGU="E" DESCRIPT="Active Worksheet" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDON="00000000" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_ACTIVE_WORKSHEET"/>
   <parameter CLSNAME="ZCL_EXCEL_DRAWINGS" CMPNAME="GET" SCONAME="EO_DRAWING" VERSION="1" LANGU="E" DESCRIPT="Worksheet" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDON="00000000" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="3" TYPE="ZCL_EXCEL_DRAWING"/>
   <source>METHOD get.


  DATA lv_index TYPE i.
  lv_index = ip_index.
  eo_drawing ?= drawings-&gt;if_object_collection~get( lv_index ).
ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_DRAWINGS" CMPNAME="GET_ITERATOR" VERSION="1" LANGU="E" DESCRIPT="Returns an iterator" EXPOSURE="2" STATE="1" EDITORDER="5 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDON="00000000" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_DRAWINGS" CMPNAME="GET_ITERATOR" SCONAME="EO_ITERATOR" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDON="00000000" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="3" TYPE="CL_OBJECT_COLLECTION_ITERATOR"/>
   <source>METHOD get_iterator.


  eo_iterator ?= drawings-&gt;if_object_collection~get_iterator( ).
ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_DRAWINGS" CMPNAME="IS_EMPTY" VERSION="1" LANGU="E" DESCRIPT="Checks whether elements are contained" EXPOSURE="2" STATE="1" EDITORDER="6 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDON="00000000" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_DRAWINGS" CMPNAME="IS_EMPTY" SCONAME="IS_EMPTY" VERSION="1" LANGU="E" DESCRIPT="General Flag" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDON="00000000" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="FLAG"/>
   <source>METHOD is_empty.


  is_empty = drawings-&gt;if_object_collection~is_empty( ).
ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_DRAWINGS" CMPNAME="REMOVE" VERSION="1" LANGU="E" DESCRIPT="Deletes an Element from the Collection" EXPOSURE="2" STATE="1" EDITORDER="7 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDON="00000000" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_DRAWINGS" CMPNAME="REMOVE" SCONAME="IP_DRAWING" VERSION="1" LANGU="E" DESCRIPT="Worksheet" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDON="00000000" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="3" TYPE="ZCL_EXCEL_DRAWING"/>
   <source>METHOD remove.


  drawings-&gt;remove( ip_drawing ).
ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_DRAWINGS" CMPNAME="SIZE" VERSION="1" LANGU="E" DESCRIPT="Specifies number of contained elements" EXPOSURE="2" STATE="1" EDITORDER="8 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDON="00000000" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_DRAWINGS" CMPNAME="SIZE" SCONAME="EP_SIZE" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDON="00000000" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="I"/>
   <source>METHOD size.


  ep_size = drawings-&gt;if_object_collection~size( ).
ENDMETHOD.</source>
  </method>
 </CLAS>
 <CLAS CLSNAME="ZCL_EXCEL_PROPERTIES" VERSION="1" LANGU="E" DESCRIPT="Document properties" UUID="A161274C8A34602DE1000000C0A8FA19" CATEGORY="00" EXPOSURE="2" STATE="1" RELEASE="0" AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" CHGDANYON="00000000" CLSFINAL="X" CLSCCINCL="X" FIXPT="X" UNICODE="X" R3RELEASE="701" CLSBCCAT="00" DURATION_TYPE="0 " RISK_LEVEL="0 ">
  <publicSection>class ZCL_EXCEL_PROPERTIES definition
  public
  final
  create public .

*&quot;* public components of class ZCL_EXCEL_PROPERTIES
*&quot;* do not include other source files here!!!
public section.

  data CREATOR type ZEXCEL_CREATOR value &apos;Unknown Creator&apos;. &quot;#EC NOTEXT .
  data LASTMODIFIEDBY type ZEXCEL_CREATOR value &apos;Unknown Creator&apos;. &quot;#EC NOTEXT .
  data CREATED type TIMESTAMPL .
  data MODIFIED type TIMESTAMPL .
  data TITLE type ZEXCEL_TITLE value &apos;Untitled Spreadsheet&apos;. &quot;#EC NOTEXT .
  data SUBJECT type ZEXCEL_SUBJECT .
  data DESCRIPTION type ZEXCEL_DESCRIPTION .
  data KEYWORDS type ZEXCEL_KEYWORDS .
  data CATEGORY type ZEXCEL_CATEGORY .
  data COMPANY type ZEXCEL_COMPANY value &apos;Microsoft Corporation&apos;. &quot;#EC NOTEXT .
  data APPLICATION type ZEXCEL_APPLICATION value &apos;Microsoft Excel&apos;. &quot;#EC NOTEXT .
  data DOCSECURITY type ZEXCEL_DOCSECURITY value &apos;0&apos;. &quot;#EC NOTEXT .
  data SCALECROP type ZEXCEL_SCALECROP value &apos;&apos;. &quot;#EC NOTEXT .
  data LINKSUPTODATE type FLAG .
  data SHAREDDOC type FLAG .
  data HYPERLINKSCHANGED type FLAG .
  data APPVERSION type ZEXCEL_APPVERSION value &apos;12.0000&apos;. &quot;#EC NOTEXT .

  methods CONSTRUCTOR .</publicSection>
  <protectedSection>*&quot;* protected components of class ZABAP_EXCEL_PROPERTIES
*&quot;* do not include other source files here!!!
protected section.</protectedSection>
  <privateSection>*&quot;* private components of class ZCL_EXCEL_PROPERTIES
*&quot;* do not include other source files here!!!
private section.</privateSection>
  <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>
  <attribute CLSNAME="ZCL_EXCEL_PROPERTIES" CMPNAME="APPLICATION" VERSION="1" LANGU="E" DESCRIPT="Application" EXPOSURE="2" STATE="1" EDITORDER="11 " AUTHOR="FEMIA" CREATEDON="20100702" CHANGEDON="00000000" ATTDECLTYP="0" ATTVALUE="&apos;Microsoft Excel&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_APPLICATION" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_PROPERTIES" CMPNAME="APPVERSION" VERSION="1" LANGU="E" DESCRIPT="Application version" EXPOSURE="2" STATE="1" EDITORDER="17 " AUTHOR="FEMIA" CREATEDON="20100702" CHANGEDON="00000000" ATTDECLTYP="0" ATTVALUE="&apos;12.0000&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_APPVERSION" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_PROPERTIES" CMPNAME="CATEGORY" VERSION="1" LANGU="E" DESCRIPT="Category" EXPOSURE="2" STATE="1" EDITORDER="9 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_CATEGORY" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_PROPERTIES" CMPNAME="COMPANY" VERSION="1" LANGU="E" DESCRIPT="Company" EXPOSURE="2" STATE="1" EDITORDER="10 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" ATTDECLTYP="0" ATTVALUE="&apos;Microsoft Corporation&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_COMPANY" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_PROPERTIES" CMPNAME="CREATED" VERSION="1" LANGU="E" DESCRIPT="Created on" EXPOSURE="2" STATE="1" EDITORDER="3 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="TIMESTAMPL" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_PROPERTIES" CMPNAME="CREATOR" VERSION="1" LANGU="E" DESCRIPT="Creator" EXPOSURE="2" STATE="1" EDITORDER="1 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" ATTDECLTYP="0" ATTVALUE="&apos;Unknown Creator&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_CREATOR" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_PROPERTIES" CMPNAME="DESCRIPTION" VERSION="1" LANGU="E" DESCRIPT="Description" EXPOSURE="2" STATE="1" EDITORDER="7 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_DESCRIPTION" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_PROPERTIES" CMPNAME="DOCSECURITY" VERSION="1" LANGU="E" DESCRIPT="DocSecurity" EXPOSURE="2" STATE="1" EDITORDER="12 " AUTHOR="FEMIA" CREATEDON="20100702" CHANGEDBY="FEMIA" CHANGEDON="20100702" ATTDECLTYP="0" ATTVALUE="&apos;0&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_DOCSECURITY" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_PROPERTIES" CMPNAME="HYPERLINKSCHANGED" VERSION="1" LANGU="E" DESCRIPT="Hyperlinks changed" EXPOSURE="2" STATE="1" EDITORDER="16 " AUTHOR="FEMIA" CREATEDON="20100702" CHANGEDON="00000000" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="FLAG" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_PROPERTIES" CMPNAME="KEYWORDS" VERSION="1" LANGU="E" DESCRIPT="Keywords" EXPOSURE="2" STATE="1" EDITORDER="8 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_KEYWORDS" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_PROPERTIES" CMPNAME="LASTMODIFIEDBY" VERSION="1" LANGU="E" DESCRIPT="Modified by" EXPOSURE="2" STATE="1" EDITORDER="2 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" ATTDECLTYP="0" ATTVALUE="&apos;Unknown Creator&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_CREATOR" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_PROPERTIES" CMPNAME="LINKSUPTODATE" VERSION="1" LANGU="E" DESCRIPT="Links up to date" EXPOSURE="2" STATE="1" EDITORDER="14 " AUTHOR="FEMIA" CREATEDON="20100702" CHANGEDON="00000000" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="FLAG" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_PROPERTIES" CMPNAME="MODIFIED" VERSION="1" LANGU="E" DESCRIPT="Modified on" EXPOSURE="2" STATE="1" EDITORDER="4 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="TIMESTAMPL" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_PROPERTIES" CMPNAME="SCALECROP" VERSION="1" LANGU="E" DESCRIPT="ScaleCrop" EXPOSURE="2" STATE="1" EDITORDER="13 " AUTHOR="FEMIA" CREATEDON="20100702" CHANGEDON="00000000" ATTDECLTYP="0" ATTVALUE="&apos;&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SCALECROP" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_PROPERTIES" CMPNAME="SHAREDDOC" VERSION="1" LANGU="E" DESCRIPT="Shared document" EXPOSURE="2" STATE="1" EDITORDER="15 " AUTHOR="FEMIA" CREATEDON="20100702" CHANGEDBY="FEMIA" CHANGEDON="20100702" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="FLAG" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_PROPERTIES" CMPNAME="SUBJECT" VERSION="1" LANGU="E" DESCRIPT="Subject" EXPOSURE="2" STATE="1" EDITORDER="6 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SUBJECT" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_PROPERTIES" CMPNAME="TITLE" VERSION="1" LANGU="E" DESCRIPT="Title" EXPOSURE="2" STATE="1" EDITORDER="5 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" ATTDECLTYP="0" ATTVALUE="&apos;Untitled Spreadsheet&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_TITLE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <method CLSNAME="ZCL_EXCEL_PROPERTIES" CMPNAME="CONSTRUCTOR" VERSION="1" LANGU="E" DESCRIPT="CONSTRUCTOR" EXPOSURE="2" STATE="1" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" MTDTYPE="2" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <source>METHOD CONSTRUCTOR.

  DATA: lv_timestamp TYPE timestampl.

  GET TIME STAMP FIELD lv_timestamp.
  created   = lv_timestamp.
  modified  = lv_timestamp.

ENDMETHOD.</source>
  </method>
 </CLAS>
 <CLAS CLSNAME="ZCL_EXCEL_RANGE" VERSION="1" LANGU="E" DESCRIPT="Worksheet" UUID="D3B0284C304B5E2DE1000000C0A8FA19" CATEGORY="00" EXPOSURE="2" STATE="1" RELEASE="0" AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" CHGDANYON="00000000" CLSFINAL="X" CLSCCINCL="X" FIXPT="X" UNICODE="X" R3RELEASE="701" CLSBCCAT="00" DURATION_TYPE="0 " RISK_LEVEL="0 ">
  <publicSection>class ZCL_EXCEL_RANGE definition
  public
  final
  create public .

*&quot;* public components of class ZCL_EXCEL_RANGE
*&quot;* do not include other source files here!!!
public section.

  methods CONSTRUCTOR .</publicSection>
  <protectedSection>*&quot;* protected components of class ZABAP_EXCEL_WORKSHEET
*&quot;* do not include other source files here!!!
protected section.</protectedSection>
  <privateSection>*&quot;* private components of class ZABAP_EXCEL_WORKSHEET
*&quot;* do not include other source files here!!!
private section.</privateSection>
  <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>
  <method CLSNAME="ZCL_EXCEL_RANGE" CMPNAME="CONSTRUCTOR" VERSION="1" LANGU="E" DESCRIPT="CONSTRUCTOR" EXPOSURE="2" STATE="1" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" MTDTYPE="2" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <source>method CONSTRUCTOR.
endmethod.</source>
  </method>
 </CLAS>
 <CLAS CLSNAME="ZCL_EXCEL_RANGES" VERSION="1" LANGU="E" DESCRIPT="Ranges collection" UUID="F2AF284C304B5E2DE1000000C0A8FA19" CATEGORY="00" EXPOSURE="2" STATE="1" RELEASE="0" AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" CHGDANYON="00000000" CLSFINAL="X" CLSCCINCL="X" FIXPT="X" UNICODE="X" R3RELEASE="701" CLSBCCAT="00" DURATION_TYPE="0 " RISK_LEVEL="0 ">
  <publicSection>class ZCL_EXCEL_RANGES definition
  public
  final
  create public .

*&quot;* public components of class ZCL_EXCEL_RANGES
*&quot;* do not include other source files here!!!
public section.

  methods ADD
    importing
      !IP_RANGE type ref to ZCL_EXCEL_RANGE .
  methods CLEAR .
  methods CONSTRUCTOR .
  methods GET
    importing
      !IP_INDEX type I
    returning
      value(EO_RANGE) type ref to ZCL_EXCEL_RANGE .
  methods GET_ITERATOR
    returning
      value(EO_ITERATOR) type ref to CL_OBJECT_COLLECTION_ITERATOR .
  methods IS_EMPTY
    returning
      value(IS_EMPTY) type FLAG .
  methods REMOVE
    importing
      !IP_RANGE type ref to ZCL_EXCEL_RANGE .
  methods SIZE
    returning
      value(EP_SIZE) type I .</publicSection>
  <protectedSection>*&quot;* protected components of class ZABAP_EXCEL_WORKSHEETS
*&quot;* do not include other source files here!!!
protected section.</protectedSection>
  <privateSection>*&quot;* private components of class ZABAP_EXCEL_RANGES
*&quot;* do not include other source files here!!!
private section.

  data RANGES type ref to CL_OBJECT_COLLECTION .</privateSection>
  <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>
  <attribute CLSNAME="ZCL_EXCEL_RANGES" CMPNAME="RANGES" VERSION="1" LANGU="E" EXPOSURE="0" STATE="1" EDITORDER="1 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="3" TYPE="CL_OBJECT_COLLECTION" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <method CLSNAME="ZCL_EXCEL_RANGES" CMPNAME="ADD" VERSION="1" LANGU="E" DESCRIPT="Adds an Element to the Collection" EXPOSURE="2" STATE="1" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_RANGES" CMPNAME="ADD" SCONAME="IP_RANGE" VERSION="1" LANGU="E" DESCRIPT="Worksheet" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100628" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="3" TYPE="ZCL_EXCEL_RANGE"/>
   <source>METHOD ADD.
  ranges-&gt;add( ip_range ).
ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_RANGES" CMPNAME="CLEAR" VERSION="1" LANGU="E" DESCRIPT="Initializes the Collection" EXPOSURE="2" STATE="1" EDITORDER="2 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <source>METHOD CLEAR.
  ranges-&gt;clear( ).
ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_RANGES" CMPNAME="CONSTRUCTOR" VERSION="1" LANGU="E" DESCRIPT="CONSTRUCTOR" EXPOSURE="2" STATE="1" EDITORDER="3 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" MTDTYPE="2" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <source>method CONSTRUCTOR.
endmethod.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_RANGES" CMPNAME="GET" VERSION="1" LANGU="E" DESCRIPT="Gets Element" EXPOSURE="2" STATE="1" EDITORDER="4 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_RANGES" CMPNAME="GET" SCONAME="IP_INDEX" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="I"/>
   <parameter CLSNAME="ZCL_EXCEL_RANGES" CMPNAME="GET" SCONAME="EO_RANGE" VERSION="1" LANGU="E" DESCRIPT="Worksheet" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100628" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="3" TYPE="ZCL_EXCEL_RANGE"/>
   <source>METHOD GET.
  eo_range ?= ranges-&gt;if_object_collection~get( ip_index ).
ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_RANGES" CMPNAME="GET_ITERATOR" VERSION="1" LANGU="E" DESCRIPT="Returns an iterator" EXPOSURE="2" STATE="1" EDITORDER="5 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_RANGES" CMPNAME="GET_ITERATOR" SCONAME="EO_ITERATOR" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="3" TYPE="CL_OBJECT_COLLECTION_ITERATOR"/>
   <source>METHOD GET_ITERATOR.
  eo_iterator ?= ranges-&gt;if_object_collection~get_iterator( ).
ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_RANGES" CMPNAME="IS_EMPTY" VERSION="1" LANGU="E" DESCRIPT="Checks whether elements are contained" EXPOSURE="2" STATE="1" EDITORDER="6 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_RANGES" CMPNAME="IS_EMPTY" SCONAME="IS_EMPTY" VERSION="1" LANGU="E" DESCRIPT="General Flag" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="FLAG"/>
   <source>METHOD IS_EMPTY.
  is_empty = ranges-&gt;if_object_collection~is_empty( ).
ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_RANGES" CMPNAME="REMOVE" VERSION="1" LANGU="E" DESCRIPT="Deletes an Element from the Collection" EXPOSURE="2" STATE="1" EDITORDER="7 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_RANGES" CMPNAME="REMOVE" SCONAME="IP_RANGE" VERSION="1" LANGU="E" DESCRIPT="Worksheet" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100628" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="3" TYPE="ZCL_EXCEL_RANGE"/>
   <source>METHOD REMOVE.
  ranges-&gt;remove( ip_range ).
ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_RANGES" CMPNAME="SIZE" VERSION="1" LANGU="E" DESCRIPT="Specifies number of contained elements" EXPOSURE="2" STATE="1" EDITORDER="8 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_RANGES" CMPNAME="SIZE" SCONAME="EP_SIZE" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="I"/>
   <source>METHOD SIZE.
  ep_size = ranges-&gt;if_object_collection~size( ).
ENDMETHOD.</source>
  </method>
 </CLAS>
 <CLAS CLSNAME="ZCL_EXCEL_SECURITY" VERSION="1" LANGU="E" DESCRIPT="Security" UUID="4BAF284C304B5E2DE1000000C0A8FA19" CATEGORY="00" EXPOSURE="2" STATE="1" RELEASE="0" AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" CHGDANYON="00000000" CLSFINAL="X" CLSCCINCL="X" FIXPT="X" UNICODE="X" R3RELEASE="701" CLSBCCAT="00" DURATION_TYPE="0 " RISK_LEVEL="0 ">
  <publicSection>class ZCL_EXCEL_SECURITY definition
  public
  final
  create public .

*&quot;* public components of class ZCL_EXCEL_SECURITY
*&quot;* do not include other source files here!!!
public section.
  type-pools ABAP .

  data LOCKREVISION type FLAG .
  data LOCKSTRUCTURE type FLAG .
  data LOCKWINDOWS type FLAG .
  data REVISIONSPASSWORD type ZEXCEL_REVISIONSPASSWORD .
  data WORKBOOKPASSWORD type ZEXCEL_WORKBOOKPASSWORD .

  methods CONSTRUCTOR .
  methods IS_SECURITY_ENABLED
    returning
      value(EP_SECURITY_ENABLED) type FLAG .</publicSection>
  <protectedSection>*&quot;* protected components of class ZABAP_EXCEL_SECURITY
*&quot;* do not include other source files here!!!
protected section.</protectedSection>
  <privateSection>*&quot;* private components of class ZABAP_EXCEL_SECURITY
*&quot;* do not include other source files here!!!
private section.</privateSection>
  <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_SECURITY" TYPEGROUP="ABAP" VERSION="1" TPUTYPE="0" EXPLICIT="X"/>
  <forwardDeclaration>ABAP</forwardDeclaration>
  <attribute CLSNAME="ZCL_EXCEL_SECURITY" CMPNAME="LOCKREVISION" VERSION="1" LANGU="E" DESCRIPT="General Flag" EXPOSURE="2" STATE="1" EDITORDER="1 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="FLAG" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SECURITY" CMPNAME="LOCKSTRUCTURE" VERSION="1" LANGU="E" DESCRIPT="General Flag" EXPOSURE="2" STATE="1" EDITORDER="2 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="FLAG" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SECURITY" CMPNAME="LOCKWINDOWS" VERSION="1" LANGU="E" DESCRIPT="General Flag" EXPOSURE="2" STATE="1" EDITORDER="3 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="FLAG" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SECURITY" CMPNAME="REVISIONSPASSWORD" VERSION="1" LANGU="E" DESCRIPT="Revisions password" EXPOSURE="2" STATE="1" EDITORDER="4 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_REVISIONSPASSWORD" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SECURITY" CMPNAME="WORKBOOKPASSWORD" VERSION="1" LANGU="E" DESCRIPT="Workbook password" EXPOSURE="2" STATE="1" EDITORDER="5 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_WORKBOOKPASSWORD" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <method CLSNAME="ZCL_EXCEL_SECURITY" CMPNAME="CONSTRUCTOR" VERSION="1" LANGU="E" DESCRIPT="CONSTRUCTOR" EXPOSURE="2" STATE="1" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" MTDTYPE="2" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <source>method CONSTRUCTOR.
endmethod.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_SECURITY" CMPNAME="IS_SECURITY_ENABLED" VERSION="1" LANGU="E" DESCRIPT="Is some sort of dcument security enabled?" EXPOSURE="2" STATE="1" EDITORDER="2 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_SECURITY" CMPNAME="IS_SECURITY_ENABLED" SCONAME="EP_SECURITY_ENABLED" VERSION="1" LANGU="E" DESCRIPT="General Flag" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="FLAG"/>
   <source>METHOD IS_SECURITY_ENABLED.
  IF lockrevision EQ abap_true OR lockstructure EQ abap_true OR lockwindows EQ abap_true.
    ep_security_enabled = abap_true.
  ENDIF.
ENDMETHOD.</source>
  </method>
 </CLAS>
 <CLAS CLSNAME="ZCL_EXCEL_SHEET_SETUP" VERSION="1" LANGU="E" DESCRIPT="Sheet setup" UUID="48ED294CBB345D2DE1000000C0A8FA19" CATEGORY="00" EXPOSURE="2" STATE="1" RELEASE="0" AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" CHGDANYON="00000000" CLSFINAL="X" CLSCCINCL="X" FIXPT="X" UNICODE="X" R3RELEASE="701" CLSBCCAT="00" DURATION_TYPE="0 " RISK_LEVEL="0 ">
  <publicSection>class ZCL_EXCEL_SHEET_SETUP definition
  public
  final
  create public .

*&quot;* public components of class ZCL_EXCEL_SHEET_SETUP
*&quot;* do not include other source files here!!!
public section.
  type-pools ABAP .

  constants C_PAPERSIZE_LETTER type ZEXCEL_SHEET_PAPER_SIZE value 1. &quot;#EC NOTEXT
  constants C_PAPERSIZE_LETTER_SMALL type ZEXCEL_SHEET_PAPER_SIZE value 2. &quot;#EC NOTEXT
  constants C_PAPERSIZE_TABLOID type ZEXCEL_SHEET_PAPER_SIZE value 3. &quot;#EC NOTEXT
  constants C_PAPERSIZE_LEDGER type ZEXCEL_SHEET_PAPER_SIZE value 4. &quot;#EC NOTEXT
  constants C_PAPERSIZE_LEGAL type ZEXCEL_SHEET_PAPER_SIZE value 5. &quot;#EC NOTEXT
  constants C_PAPERSIZE_STATEMENT type ZEXCEL_SHEET_PAPER_SIZE value 6. &quot;#EC NOTEXT
  constants C_PAPERSIZE_EXECUTIVE type ZEXCEL_SHEET_PAPER_SIZE value 7. &quot;#EC NOTEXT
  constants C_PAPERSIZE_A3 type ZEXCEL_SHEET_PAPER_SIZE value 8. &quot;#EC NOTEXT
  constants C_PAPERSIZE_A4 type ZEXCEL_SHEET_PAPER_SIZE value 9. &quot;#EC NOTEXT
  constants C_PAPERSIZE_A4_SMALL type ZEXCEL_SHEET_PAPER_SIZE value 10. &quot;#EC NOTEXT
  constants C_PAPERSIZE_A5 type ZEXCEL_SHEET_PAPER_SIZE value 11. &quot;#EC NOTEXT
  constants C_PAPERSIZE_B4 type ZEXCEL_SHEET_PAPER_SIZE value 12. &quot;#EC NOTEXT
  constants C_PAPERSIZE_B5 type ZEXCEL_SHEET_PAPER_SIZE value 13. &quot;#EC NOTEXT
  constants C_PAPERSIZE_FOLIO type ZEXCEL_SHEET_PAPER_SIZE value 14. &quot;#EC NOTEXT
  constants C_PAPERSIZE_QUARTO type ZEXCEL_SHEET_PAPER_SIZE value 15. &quot;#EC NOTEXT
  constants C_PAPERSIZE_STANDARD_1 type ZEXCEL_SHEET_PAPER_SIZE value 16. &quot;#EC NOTEXT
  constants C_PAPERSIZE_STANDARD_2 type ZEXCEL_SHEET_PAPER_SIZE value 17. &quot;#EC NOTEXT
  constants C_PAPERSIZE_NOTE type ZEXCEL_SHEET_PAPER_SIZE value 18. &quot;#EC NOTEXT
  constants C_PAPERSIZE_NO9_ENVELOPE type ZEXCEL_SHEET_PAPER_SIZE value 19. &quot;#EC NOTEXT
  constants C_PAPERSIZE_NO10_ENVELOPE type ZEXCEL_SHEET_PAPER_SIZE value 20. &quot;#EC NOTEXT
  constants C_PAPERSIZE_NO11_ENVELOPE type ZEXCEL_SHEET_PAPER_SIZE value 21. &quot;#EC NOTEXT
  constants C_PAPERSIZE_NO12_ENVELOPE type ZEXCEL_SHEET_PAPER_SIZE value 22. &quot;#EC NOTEXT
  constants C_PAPERSIZE_NO14_ENVELOPE type ZEXCEL_SHEET_PAPER_SIZE value 23. &quot;#EC NOTEXT
  constants C_PAPERSIZE_C type ZEXCEL_SHEET_PAPER_SIZE value 24. &quot;#EC NOTEXT
  constants C_PAPERSIZE_D type ZEXCEL_SHEET_PAPER_SIZE value 25. &quot;#EC NOTEXT
  constants C_PAPERSIZE_E type ZEXCEL_SHEET_PAPER_SIZE value 26. &quot;#EC NOTEXT
  constants C_PAPERSIZE_DL_ENVELOPE type ZEXCEL_SHEET_PAPER_SIZE value 27. &quot;#EC NOTEXT
  constants C_PAPERSIZE_C5_ENVELOPE type ZEXCEL_SHEET_PAPER_SIZE value 28. &quot;#EC NOTEXT
  constants C_PAPERSIZE_C3_ENVELOPE type ZEXCEL_SHEET_PAPER_SIZE value 29. &quot;#EC NOTEXT
  constants C_PAPERSIZE_C4_ENVELOPE type ZEXCEL_SHEET_PAPER_SIZE value 30. &quot;#EC NOTEXT
  constants C_PAPERSIZE_C6_ENVELOPE type ZEXCEL_SHEET_PAPER_SIZE value 31. &quot;#EC NOTEXT
  constants C_PAPERSIZE_C65_ENVELOPE type ZEXCEL_SHEET_PAPER_SIZE value 32. &quot;#EC NOTEXT
  constants C_PAPERSIZE_B4_ENVELOPE type ZEXCEL_SHEET_PAPER_SIZE value 33. &quot;#EC NOTEXT
  constants C_PAPERSIZE_B5_ENVELOPE type ZEXCEL_SHEET_PAPER_SIZE value 34. &quot;#EC NOTEXT
  constants C_PAPERSIZE_B6_ENVELOPE type ZEXCEL_SHEET_PAPER_SIZE value 35. &quot;#EC NOTEXT
  constants C_PAPERSIZE_ITALY_ENVELOPE type ZEXCEL_SHEET_PAPER_SIZE value 36. &quot;#EC NOTEXT
  constants C_PAPERSIZE_MONARCH_ENVELOPE type ZEXCEL_SHEET_PAPER_SIZE value 37. &quot;#EC NOTEXT
  constants C_PAPERSIZE_6_3_4_ENVELOPE type ZEXCEL_SHEET_PAPER_SIZE value 38. &quot;#EC NOTEXT
  constants C_PAPERSIZE_US_STD_FANFOLD type ZEXCEL_SHEET_PAPER_SIZE value 39. &quot;#EC NOTEXT
  constants C_PAPERSIZE_DE_STD_FANFOLD type ZEXCEL_SHEET_PAPER_SIZE value 40. &quot;#EC NOTEXT
  constants C_PAPERSIZE_DE_LEG_FANFOLD type ZEXCEL_SHEET_PAPER_SIZE value 41. &quot;#EC NOTEXT
  constants C_PAPERSIZE_ISO_B4 type ZEXCEL_SHEET_PAPER_SIZE value 42. &quot;#EC NOTEXT
  constants C_PAPERSIZE_JPN_DBL_POSTCARD type ZEXCEL_SHEET_PAPER_SIZE value 43. &quot;#EC NOTEXT
  constants C_PAPERSIZE_STANDARD_PAPER_1 type ZEXCEL_SHEET_PAPER_SIZE value 44. &quot;#EC NOTEXT
  constants C_PAPERSIZE_STANDARD_PAPER_2 type ZEXCEL_SHEET_PAPER_SIZE value 45. &quot;#EC NOTEXT
  constants C_PAPERSIZE_STANDARD_PAPER_3 type ZEXCEL_SHEET_PAPER_SIZE value 46. &quot;#EC NOTEXT
  constants C_PAPERSIZE_INVITE_ENVELOPE type ZEXCEL_SHEET_PAPER_SIZE value 47. &quot;#EC NOTEXT
  constants C_PAPERSIZE_LETTER_EXTRA_PAPER type ZEXCEL_SHEET_PAPER_SIZE value 48. &quot;#EC NOTEXT
  constants C_PAPERSIZE_LEGAL_EXTRA_PAPER type ZEXCEL_SHEET_PAPER_SIZE value 49. &quot;#EC NOTEXT
  constants C_PAPERSIZE_TABL_EXTRA_PAPER type ZEXCEL_SHEET_PAPER_SIZE value 50. &quot;#EC NOTEXT
  constants C_PAPERSIZE_A4_EXTRA_PAPER type ZEXCEL_SHEET_PAPER_SIZE value 51. &quot;#EC NOTEXT
  constants C_PAPERSIZE_LETTER_TV_PAPER type ZEXCEL_SHEET_PAPER_SIZE value 52. &quot;#EC NOTEXT
  constants C_PAPERSIZE_A4_TV_PAPER type ZEXCEL_SHEET_PAPER_SIZE value 53. &quot;#EC NOTEXT
  constants C_PAPERSIZE_LETTER_EXTV_PAPER type ZEXCEL_SHEET_PAPER_SIZE value 54. &quot;#EC NOTEXT
  constants C_PAPERSIZE_SUPERA_A4_PAPER type ZEXCEL_SHEET_PAPER_SIZE value 55. &quot;#EC NOTEXT
  constants C_PAPERSIZE_SUPERB_A3_PAPER type ZEXCEL_SHEET_PAPER_SIZE value 56. &quot;#EC NOTEXT
  constants C_PAPERSIZE_LETTER_PLUS_PAPER type ZEXCEL_SHEET_PAPER_SIZE value 57. &quot;#EC NOTEXT
  constants C_PAPERSIZE_A4_PLUS_PAPER type ZEXCEL_SHEET_PAPER_SIZE value 58. &quot;#EC NOTEXT
  constants C_PAPERSIZE_A5_TV_PAPER type ZEXCEL_SHEET_PAPER_SIZE value 59. &quot;#EC NOTEXT
  constants C_PAPERSIZE_JIS_B5_TV_PAPER type ZEXCEL_SHEET_PAPER_SIZE value 60. &quot;#EC NOTEXT
  constants C_PAPERSIZE_A3_EXTRA_PAPER type ZEXCEL_SHEET_PAPER_SIZE value 61. &quot;#EC NOTEXT
  constants C_PAPERSIZE_A5_EXTRA_PAPER type ZEXCEL_SHEET_PAPER_SIZE value 62. &quot;#EC NOTEXT
  constants C_PAPERSIZE_ISO_B5_EXTRA_PAPER type ZEXCEL_SHEET_PAPER_SIZE value 63. &quot;#EC NOTEXT
  constants C_PAPERSIZE_A2_PAPER type ZEXCEL_SHEET_PAPER_SIZE value 64. &quot;#EC NOTEXT
  constants C_PAPERSIZE_A3_TV_PAPER type ZEXCEL_SHEET_PAPER_SIZE value 65. &quot;#EC NOTEXT
  constants C_PAPERSIZE_A3_EXTRA_TV_PAPER type ZEXCEL_SHEET_PAPER_SIZE value 66. &quot;#EC NOTEXT
  constants C_ORIENTATION_DEFAULT type ZEXCEL_SHEET_ORIENATATION value &apos;default&apos;. &quot;#EC NOTEXT
  constants C_ORIENTATION_LANDSCAPE type ZEXCEL_SHEET_ORIENATATION value &apos;landscape&apos;. &quot;#EC NOTEXT
  constants C_ORIENTATION_PORTRAIT type ZEXCEL_SHEET_ORIENATATION value &apos;portrait&apos;. &quot;#EC NOTEXT
  data ORIENTATION type ZEXCEL_SHEET_ORIENATATION .

  methods CONSTRUCTOR .</publicSection>
  <protectedSection>*&quot;* protected components of class ZABAP_EXCEL_STYLE
*&quot;* do not include other source files here!!!
protected section.</protectedSection>
  <privateSection>*&quot;* private components of class ZCL_EXCEL_SHEET_SETUP
*&quot;* do not include other source files here!!!
private section.</privateSection>
  <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_SHEET_SETUP" TYPEGROUP="ABAP" VERSION="1" TPUTYPE="0" EXPLICIT="X"/>
  <forwardDeclaration>ABAP</forwardDeclaration>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_ORIENTATION_DEFAULT" VERSION="1" LANGU="E" DESCRIPT="Sheet orientation" EXPOSURE="2" STATE="1" EDITORDER="67 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDON="00000000" ATTDECLTYP="2" ATTVALUE="&apos;default&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_ORIENATATION" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_ORIENTATION_LANDSCAPE" VERSION="1" LANGU="E" DESCRIPT="Sheet orientation" EXPOSURE="2" STATE="1" EDITORDER="68 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDON="00000000" ATTDECLTYP="2" ATTVALUE="&apos;landscape&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_ORIENATATION" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_ORIENTATION_PORTRAIT" VERSION="1" LANGU="E" DESCRIPT="Sheet orientation" EXPOSURE="2" STATE="1" EDITORDER="69 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDON="00000000" ATTDECLTYP="2" ATTVALUE="&apos;portrait&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_ORIENATATION" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_PAPERSIZE_6_3_4_ENVELOPE" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="38 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" ATTDECLTYP="2" ATTVALUE="38" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_PAPER_SIZE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_PAPERSIZE_A2_PAPER" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="64 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" ATTDECLTYP="2" ATTVALUE="64" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_PAPER_SIZE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_PAPERSIZE_A3" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="8 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" ATTDECLTYP="2" ATTVALUE="8" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_PAPER_SIZE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_PAPERSIZE_A3_EXTRA_PAPER" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="61 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" ATTDECLTYP="2" ATTVALUE="61" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_PAPER_SIZE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_PAPERSIZE_A3_EXTRA_TV_PAPER" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="66 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" ATTDECLTYP="2" ATTVALUE="66" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_PAPER_SIZE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_PAPERSIZE_A3_TV_PAPER" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="65 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" ATTDECLTYP="2" ATTVALUE="65" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_PAPER_SIZE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_PAPERSIZE_A4" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="9 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" ATTDECLTYP="2" ATTVALUE="9" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_PAPER_SIZE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_PAPERSIZE_A4_EXTRA_PAPER" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="51 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" ATTDECLTYP="2" ATTVALUE="51" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_PAPER_SIZE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_PAPERSIZE_A4_PLUS_PAPER" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="58 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" ATTDECLTYP="2" ATTVALUE="58" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_PAPER_SIZE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_PAPERSIZE_A4_SMALL" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="10 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" ATTDECLTYP="2" ATTVALUE="10" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_PAPER_SIZE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_PAPERSIZE_A4_TV_PAPER" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="53 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" ATTDECLTYP="2" ATTVALUE="53" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_PAPER_SIZE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_PAPERSIZE_A5" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="11 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" ATTDECLTYP="2" ATTVALUE="11" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_PAPER_SIZE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_PAPERSIZE_A5_EXTRA_PAPER" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="62 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" ATTDECLTYP="2" ATTVALUE="62" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_PAPER_SIZE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_PAPERSIZE_A5_TV_PAPER" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="59 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" ATTDECLTYP="2" ATTVALUE="59" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_PAPER_SIZE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_PAPERSIZE_B4" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="12 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" ATTDECLTYP="2" ATTVALUE="12" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_PAPER_SIZE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_PAPERSIZE_B4_ENVELOPE" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="33 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" ATTDECLTYP="2" ATTVALUE="33" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_PAPER_SIZE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_PAPERSIZE_B5" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="13 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" ATTDECLTYP="2" ATTVALUE="13" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_PAPER_SIZE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_PAPERSIZE_B5_ENVELOPE" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="34 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" ATTDECLTYP="2" ATTVALUE="34" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_PAPER_SIZE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_PAPERSIZE_B6_ENVELOPE" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="35 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" ATTDECLTYP="2" ATTVALUE="35" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_PAPER_SIZE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_PAPERSIZE_C" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="24 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" ATTDECLTYP="2" ATTVALUE="24" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_PAPER_SIZE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_PAPERSIZE_C3_ENVELOPE" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="29 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" ATTDECLTYP="2" ATTVALUE="29" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_PAPER_SIZE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_PAPERSIZE_C4_ENVELOPE" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="30 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" ATTDECLTYP="2" ATTVALUE="30" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_PAPER_SIZE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_PAPERSIZE_C5_ENVELOPE" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="28 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" ATTDECLTYP="2" ATTVALUE="28" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_PAPER_SIZE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_PAPERSIZE_C65_ENVELOPE" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="32 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" ATTDECLTYP="2" ATTVALUE="32" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_PAPER_SIZE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_PAPERSIZE_C6_ENVELOPE" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="31 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" ATTDECLTYP="2" ATTVALUE="31" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_PAPER_SIZE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_PAPERSIZE_D" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="25 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" ATTDECLTYP="2" ATTVALUE="25" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_PAPER_SIZE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_PAPERSIZE_DE_LEG_FANFOLD" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="41 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" ATTDECLTYP="2" ATTVALUE="41" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_PAPER_SIZE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_PAPERSIZE_DE_STD_FANFOLD" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="40 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" ATTDECLTYP="2" ATTVALUE="40" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_PAPER_SIZE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_PAPERSIZE_DL_ENVELOPE" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="27 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" ATTDECLTYP="2" ATTVALUE="27" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_PAPER_SIZE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_PAPERSIZE_E" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="26 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" ATTDECLTYP="2" ATTVALUE="26" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_PAPER_SIZE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_PAPERSIZE_EXECUTIVE" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="7 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" ATTDECLTYP="2" ATTVALUE="7" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_PAPER_SIZE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_PAPERSIZE_FOLIO" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="14 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" ATTDECLTYP="2" ATTVALUE="14" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_PAPER_SIZE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_PAPERSIZE_INVITE_ENVELOPE" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="47 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" ATTDECLTYP="2" ATTVALUE="47" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_PAPER_SIZE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_PAPERSIZE_ISO_B4" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="42 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" ATTDECLTYP="2" ATTVALUE="42" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_PAPER_SIZE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_PAPERSIZE_ISO_B5_EXTRA_PAPER" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="63 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" ATTDECLTYP="2" ATTVALUE="63" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_PAPER_SIZE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_PAPERSIZE_ITALY_ENVELOPE" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="36 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" ATTDECLTYP="2" ATTVALUE="36" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_PAPER_SIZE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_PAPERSIZE_JIS_B5_TV_PAPER" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="60 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" ATTDECLTYP="2" ATTVALUE="60" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_PAPER_SIZE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_PAPERSIZE_JPN_DBL_POSTCARD" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="43 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" ATTDECLTYP="2" ATTVALUE="43" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_PAPER_SIZE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_PAPERSIZE_LEDGER" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="4 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" ATTDECLTYP="2" ATTVALUE="4" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_PAPER_SIZE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_PAPERSIZE_LEGAL" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="5 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" ATTDECLTYP="2" ATTVALUE="5" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_PAPER_SIZE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_PAPERSIZE_LEGAL_EXTRA_PAPER" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="49 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" ATTDECLTYP="2" ATTVALUE="49" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_PAPER_SIZE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_PAPERSIZE_LETTER" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="1 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" ATTDECLTYP="2" ATTVALUE="1" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_PAPER_SIZE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_PAPERSIZE_LETTER_EXTRA_PAPER" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="48 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" ATTDECLTYP="2" ATTVALUE="48" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_PAPER_SIZE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_PAPERSIZE_LETTER_EXTV_PAPER" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="54 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" ATTDECLTYP="2" ATTVALUE="54" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_PAPER_SIZE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_PAPERSIZE_LETTER_PLUS_PAPER" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="57 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" ATTDECLTYP="2" ATTVALUE="57" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_PAPER_SIZE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_PAPERSIZE_LETTER_SMALL" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="2 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" ATTDECLTYP="2" ATTVALUE="2" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_PAPER_SIZE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_PAPERSIZE_LETTER_TV_PAPER" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="52 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" ATTDECLTYP="2" ATTVALUE="52" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_PAPER_SIZE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_PAPERSIZE_MONARCH_ENVELOPE" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="37 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" ATTDECLTYP="2" ATTVALUE="37" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_PAPER_SIZE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_PAPERSIZE_NO10_ENVELOPE" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="20 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" ATTDECLTYP="2" ATTVALUE="20" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_PAPER_SIZE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_PAPERSIZE_NO11_ENVELOPE" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="21 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" ATTDECLTYP="2" ATTVALUE="21" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_PAPER_SIZE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_PAPERSIZE_NO12_ENVELOPE" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="22 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" ATTDECLTYP="2" ATTVALUE="22" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_PAPER_SIZE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_PAPERSIZE_NO14_ENVELOPE" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="23 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" ATTDECLTYP="2" ATTVALUE="23" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_PAPER_SIZE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_PAPERSIZE_NO9_ENVELOPE" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="19 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" ATTDECLTYP="2" ATTVALUE="19" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_PAPER_SIZE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_PAPERSIZE_NOTE" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="18 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" ATTDECLTYP="2" ATTVALUE="18" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_PAPER_SIZE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_PAPERSIZE_QUARTO" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="15 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" ATTDECLTYP="2" ATTVALUE="15" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_PAPER_SIZE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_PAPERSIZE_STANDARD_1" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="16 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" ATTDECLTYP="2" ATTVALUE="16" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_PAPER_SIZE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_PAPERSIZE_STANDARD_2" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="17 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" ATTDECLTYP="2" ATTVALUE="17" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_PAPER_SIZE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_PAPERSIZE_STANDARD_PAPER_1" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="44 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" ATTDECLTYP="2" ATTVALUE="44" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_PAPER_SIZE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_PAPERSIZE_STANDARD_PAPER_2" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="45 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" ATTDECLTYP="2" ATTVALUE="45" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_PAPER_SIZE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_PAPERSIZE_STANDARD_PAPER_3" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="46 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" ATTDECLTYP="2" ATTVALUE="46" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_PAPER_SIZE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_PAPERSIZE_STATEMENT" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="6 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" ATTDECLTYP="2" ATTVALUE="6" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_PAPER_SIZE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_PAPERSIZE_SUPERA_A4_PAPER" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="55 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" ATTDECLTYP="2" ATTVALUE="55" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_PAPER_SIZE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_PAPERSIZE_SUPERB_A3_PAPER" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="56 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" ATTDECLTYP="2" ATTVALUE="56" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_PAPER_SIZE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_PAPERSIZE_TABLOID" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="3 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" ATTDECLTYP="2" ATTVALUE="3" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_PAPER_SIZE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_PAPERSIZE_TABL_EXTRA_PAPER" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="50 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" ATTDECLTYP="2" ATTVALUE="50" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_PAPER_SIZE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_PAPERSIZE_US_STD_FANFOLD" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="39 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" ATTDECLTYP="2" ATTVALUE="39" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_PAPER_SIZE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="ORIENTATION" VERSION="1" LANGU="E" DESCRIPT="Sheet orientation" EXPOSURE="2" STATE="1" EDITORDER="70 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDON="00000000" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_ORIENATATION" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <method CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="CONSTRUCTOR" VERSION="1" LANGU="E" DESCRIPT="CONSTRUCTOR" EXPOSURE="2" STATE="1" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDON="00000000" MTDTYPE="2" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <source>METHOD constructor.
  orientation = me-&gt;c_orientation_default.
ENDMETHOD.</source>
  </method>
 </CLAS>
 <CLAS CLSNAME="ZCL_EXCEL_STYLE" VERSION="1" LANGU="E" DESCRIPT="Style" UUID="90B1284C304B5E2DE1000000C0A8FA19" CATEGORY="00" EXPOSURE="2" STATE="1" RELEASE="0" AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" CHGDANYON="00000000" CLSFINAL="X" CLSCCINCL="X" FIXPT="X" UNICODE="X" R3RELEASE="701" CLSBCCAT="00" DURATION_TYPE="0 " RISK_LEVEL="0 ">
  <publicSection>class ZCL_EXCEL_STYLE definition
  public
  final
  create public .

*&quot;* public components of class ZCL_EXCEL_STYLE
*&quot;* do not include other source files here!!!
public section.

  data FONT type ref to ZCL_EXCEL_STYLE_FONT .
  data FILL type ref to ZCL_EXCEL_STYLE_FILL .
  data BORDERS type ref to ZCL_EXCEL_STYLE_BORDERS .
  data NUMBER_FORMAT type ref to ZCL_EXCEL_STYLE_NUMBER_FORMAT .

  methods CONSTRUCTOR .
  methods GET_GUID
    returning
      value(EP_GUID) type ZEXCEL_CELL_STYLE .</publicSection>
  <protectedSection>*&quot;* protected components of class ZABAP_EXCEL_STYLE
*&quot;* do not include other source files here!!!
protected section.</protectedSection>
  <privateSection>*&quot;* private components of class ZCL_EXCEL_STYLE
*&quot;* do not include other source files here!!!
private section.

  data ALIGNMENT type ref to ZCL_EXCEL_STYLE_ALIGNMENT .
  data PROTECTION type ref to ZCL_EXCEL_STYLE_PROTECTION .
  data GUID type ZEXCEL_CELL_STYLE .</privateSection>
  <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>
  <attribute CLSNAME="ZCL_EXCEL_STYLE" CMPNAME="ALIGNMENT" VERSION="1" LANGU="E" DESCRIPT="Font Style" EXPOSURE="0" STATE="1" EDITORDER="4 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100704" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="3" TYPE="ZCL_EXCEL_STYLE_ALIGNMENT" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE" CMPNAME="BORDERS" VERSION="1" LANGU="E" DESCRIPT="Font Style" EXPOSURE="2" STATE="1" EDITORDER="3 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100704" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="3" TYPE="ZCL_EXCEL_STYLE_BORDERS" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE" CMPNAME="FILL" VERSION="1" LANGU="E" DESCRIPT="Font Style" EXPOSURE="2" STATE="1" EDITORDER="2 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100704" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="3" TYPE="ZCL_EXCEL_STYLE_FILL" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE" CMPNAME="FONT" VERSION="1" LANGU="E" DESCRIPT="Font Style" EXPOSURE="2" STATE="1" EDITORDER="1 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100704" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="3" TYPE="ZCL_EXCEL_STYLE_FONT" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE" CMPNAME="GUID" VERSION="1" LANGU="E" DESCRIPT="Style identifier" EXPOSURE="0" STATE="1" EDITORDER="7 " AUTHOR="FEMIA" CREATEDON="20100704" CHANGEDBY="FEMIA" CHANGEDON="20100708" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_CELL_STYLE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE" CMPNAME="NUMBER_FORMAT" VERSION="1" LANGU="E" DESCRIPT="Font Style" EXPOSURE="2" STATE="1" EDITORDER="5 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100708" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="3" TYPE="ZCL_EXCEL_STYLE_NUMBER_FORMAT" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE" CMPNAME="PROTECTION" VERSION="1" LANGU="E" DESCRIPT="Font Style" EXPOSURE="0" STATE="1" EDITORDER="6 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100708" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="3" TYPE="ZCL_EXCEL_STYLE_PROTECTION" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <method CLSNAME="ZCL_EXCEL_STYLE" CMPNAME="CONSTRUCTOR" VERSION="1" LANGU="E" DESCRIPT="CONSTRUCTOR" EXPOSURE="2" STATE="1" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" MTDTYPE="2" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <source>METHOD constructor.


  CREATE OBJECT font.
  CREATE OBJECT fill.
  CREATE OBJECT borders.
  CREATE OBJECT alignment.
  CREATE OBJECT number_format.
  CREATE OBJECT protection.

  CALL FUNCTION &apos;GUID_CREATE&apos;
    IMPORTING
      ev_guid_16 = me-&gt;guid.

ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_STYLE" CMPNAME="GET_GUID" VERSION="1" LANGU="E" EXPOSURE="2" STATE="1" EDITORDER="2 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100704" CHANGEDON="00000000" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" 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 " AUTHOR="FEMIA" CREATEDON="20100704" CHANGEDBY="FEMIA" CHANGEDON="20100705" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="ZEXCEL_CELL_STYLE"/>
   <source>METHOD get_guid.


  ep_guid = me-&gt;guid.
ENDMETHOD.</source>
  </method>
 </CLAS>
 <CLAS CLSNAME="ZCL_EXCEL_STYLES" VERSION="1" LANGU="E" DESCRIPT="Styles collection" UUID="53B0284C304B5E2DE1000000C0A8FA19" CATEGORY="00" EXPOSURE="2" STATE="1" RELEASE="0" AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" CHGDANYON="00000000" CLSFINAL="X" CLSCCINCL="X" FIXPT="X" UNICODE="X" R3RELEASE="701" CLSBCCAT="00" DURATION_TYPE="0 " RISK_LEVEL="0 ">
  <publicSection>class ZCL_EXCEL_STYLES definition
  public
  final
  create public .

*&quot;* public components of class ZCL_EXCEL_STYLES
*&quot;* do not include other source files here!!!
public section.

  methods ADD
    importing
      !IP_STYLE type ref to ZCL_EXCEL_STYLE .
  methods CLEAR .
  methods CONSTRUCTOR .
  methods GET
    importing
      !IP_INDEX type I
    returning
      value(EO_STYLE) type ref to ZCL_EXCEL_STYLE .
  methods GET_ITERATOR
    returning
      value(EO_ITERATOR) type ref to CL_OBJECT_COLLECTION_ITERATOR .
  methods IS_EMPTY
    returning
      value(IS_EMPTY) type FLAG .
  methods REMOVE
    importing
      !IP_STYLE type ref to ZCL_EXCEL_STYLE .
  methods SIZE
    returning
      value(EP_SIZE) type I .
  methods REGISTER_NEW_STYLE
    importing
      !IO_STYLE type ref to ZCL_EXCEL_STYLE
    returning
      value(EP_STYLE_CODE) type I .</publicSection>
  <protectedSection>*&quot;* protected components of class ZABAP_EXCEL_WORKSHEETS
*&quot;* do not include other source files here!!!
protected section.</protectedSection>
  <privateSection>*&quot;* private components of class ZCL_EXCEL_STYLES
*&quot;* do not include other source files here!!!
private section.

  data STYLES type ref to CL_OBJECT_COLLECTION .</privateSection>
  <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>
  <attribute CLSNAME="ZCL_EXCEL_STYLES" CMPNAME="STYLES" VERSION="1" LANGU="E" EXPOSURE="0" STATE="1" EDITORDER="1 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="3" TYPE="CL_OBJECT_COLLECTION" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <method CLSNAME="ZCL_EXCEL_STYLES" CMPNAME="ADD" VERSION="1" LANGU="E" DESCRIPT="Adds an Element to the Collection" EXPOSURE="2" STATE="1" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100704" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_STYLES" CMPNAME="ADD" SCONAME="IP_STYLE" VERSION="1" LANGU="E" DESCRIPT="Worksheet" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100628" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="3" TYPE="ZCL_EXCEL_STYLE"/>
   <source>METHOD add.


  styles-&gt;add( ip_style ).
ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_STYLES" CMPNAME="CLEAR" VERSION="1" LANGU="E" DESCRIPT="Initializes the Collection" EXPOSURE="2" STATE="1" EDITORDER="2 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100704" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <source>METHOD clear.


  styles-&gt;clear( ).
ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_STYLES" CMPNAME="CONSTRUCTOR" VERSION="1" LANGU="E" DESCRIPT="CONSTRUCTOR" EXPOSURE="2" STATE="1" EDITORDER="3 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" MTDTYPE="2" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <source>METHOD constructor.


  CREATE OBJECT styles.
ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_STYLES" CMPNAME="GET" VERSION="1" LANGU="E" DESCRIPT="Gets Element" EXPOSURE="2" STATE="1" EDITORDER="4 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_STYLES" CMPNAME="GET" SCONAME="IP_INDEX" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="I"/>
   <parameter CLSNAME="ZCL_EXCEL_STYLES" CMPNAME="GET" SCONAME="EO_STYLE" VERSION="1" LANGU="E" DESCRIPT="Style" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100628" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="3" TYPE="ZCL_EXCEL_STYLE"/>
   <source>METHOD get.


  eo_style ?= styles-&gt;if_object_collection~get( ip_index ).
ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_STYLES" CMPNAME="GET_ITERATOR" VERSION="1" LANGU="E" DESCRIPT="Returns an iterator" EXPOSURE="2" STATE="1" EDITORDER="5 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_STYLES" CMPNAME="GET_ITERATOR" SCONAME="EO_ITERATOR" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="3" TYPE="CL_OBJECT_COLLECTION_ITERATOR"/>
   <source>METHOD get_iterator.


  eo_iterator ?= styles-&gt;if_object_collection~get_iterator( ).
ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_STYLES" CMPNAME="IS_EMPTY" VERSION="1" LANGU="E" DESCRIPT="Checks whether elements are contained" EXPOSURE="2" STATE="1" EDITORDER="6 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_STYLES" CMPNAME="IS_EMPTY" SCONAME="IS_EMPTY" VERSION="1" LANGU="E" DESCRIPT="General Flag" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="FLAG"/>
   <source>METHOD is_empty.


  is_empty = styles-&gt;if_object_collection~is_empty( ).
ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_STYLES" CMPNAME="REGISTER_NEW_STYLE" VERSION="1" LANGU="E" DESCRIPT="Register a new style" EXPOSURE="2" STATE="1" EDITORDER="9 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100704" CHANGEDBY="FEMIA" CHANGEDON="20100704" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_STYLES" CMPNAME="REGISTER_NEW_STYLE" SCONAME="IO_STYLE" VERSION="1" LANGU="E" DESCRIPT="Style" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100704" CHANGEDON="00000000" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="3" TYPE="ZCL_EXCEL_STYLE"/>
   <parameter CLSNAME="ZCL_EXCEL_STYLES" CMPNAME="REGISTER_NEW_STYLE" SCONAME="EP_STYLE_CODE" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100704" CHANGEDBY="FEMIA" CHANGEDON="20100704" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="I"/>
   <source>METHOD register_new_style.


  me-&gt;add( io_style ).
  ep_style_code = me-&gt;size( ) - 1. &quot;style count starts from 0
ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_STYLES" CMPNAME="REMOVE" VERSION="1" LANGU="E" DESCRIPT="Deletes an Element from the Collection" EXPOSURE="2" STATE="1" EDITORDER="7 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_STYLES" CMPNAME="REMOVE" SCONAME="IP_STYLE" VERSION="1" LANGU="E" DESCRIPT="Worksheet" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100628" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="3" TYPE="ZCL_EXCEL_STYLE"/>
   <source>METHOD remove.


  styles-&gt;remove( ip_style ).
ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_STYLES" CMPNAME="SIZE" VERSION="1" LANGU="E" DESCRIPT="Specifies number of contained elements" EXPOSURE="2" STATE="1" EDITORDER="8 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_STYLES" CMPNAME="SIZE" SCONAME="EP_SIZE" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="I"/>
   <source>METHOD size.


  ep_size = styles-&gt;if_object_collection~size( ).
ENDMETHOD.</source>
  </method>
 </CLAS>
 <CLAS CLSNAME="ZCL_EXCEL_STYLES_CONDITIONAL" VERSION="1" LANGU="E" DESCRIPT="Styles conditional collection" UUID="57A5354C6579E82CE1000000C0A8FA19" CATEGORY="00" EXPOSURE="2" STATE="1" RELEASE="0" AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDBY="FEMIA" CHANGEDON="20100708" CHGDANYON="00000000" CLSFINAL="X" CLSCCINCL="X" FIXPT="X" UNICODE="X" R3RELEASE="701" CLSBCCAT="00" DURATION_TYPE="0 " RISK_LEVEL="0 ">
  <publicSection>class ZCL_EXCEL_STYLES_CONDITIONAL definition
  public
  final
  create public .

*&quot;* public components of class ZCL_EXCEL_STYLES_CONDITIONAL
*&quot;* do not include other source files here!!!
public section.

  methods ADD
    importing
      !IP_STYLE_CONDITIONAL type ref to ZCL_EXCEL_STYLE_CONDITIONAL .
  methods CLEAR .
  methods CONSTRUCTOR .
  methods GET
    importing
      !IP_INDEX type ZEXCEL_ACTIVE_WORKSHEET
    returning
      value(EO_STYLE_CONDITIONAL) type ref to ZCL_EXCEL_STYLE_CONDITIONAL .
  methods GET_ITERATOR
    returning
      value(EO_ITERATOR) type ref to CL_OBJECT_COLLECTION_ITERATOR .
  methods IS_EMPTY
    returning
      value(IS_EMPTY) type FLAG .
  methods REMOVE
    importing
      !IP_STYLE_CONDITIONAL type ref to ZCL_EXCEL_STYLE_CONDITIONAL .
  methods SIZE
    returning
      value(EP_SIZE) type I .</publicSection>
  <protectedSection>*&quot;* protected components of class ZABAP_EXCEL_WORKSHEETS
*&quot;* do not include other source files here!!!
protected section.</protectedSection>
  <privateSection>*&quot;* private components of class ZCL_EXCEL_STYLES_CONDITIONAL
*&quot;* do not include other source files here!!!
private section.

  data STYLES_CONDITIONAL type ref to CL_OBJECT_COLLECTION .</privateSection>
  <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>
  <attribute CLSNAME="ZCL_EXCEL_STYLES_CONDITIONAL" CMPNAME="STYLES_CONDITIONAL" VERSION="1" LANGU="E" EXPOSURE="0" STATE="1" EDITORDER="1 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDON="00000000" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="3" TYPE="CL_OBJECT_COLLECTION" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <method CLSNAME="ZCL_EXCEL_STYLES_CONDITIONAL" CMPNAME="ADD" VERSION="1" LANGU="E" DESCRIPT="Adds an Element to the Collection" EXPOSURE="2" STATE="1" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDON="00000000" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_STYLES_CONDITIONAL" CMPNAME="ADD" SCONAME="IP_STYLE_CONDITIONAL" VERSION="1" LANGU="E" DESCRIPT="Worksheet" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDON="00000000" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="3" TYPE="ZCL_EXCEL_STYLE_CONDITIONAL"/>
   <source>METHOD add.
  styles_conditional-&gt;add( ip_style_conditional ).
ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_STYLES_CONDITIONAL" CMPNAME="CLEAR" VERSION="1" LANGU="E" DESCRIPT="Initializes the Collection" EXPOSURE="2" STATE="1" EDITORDER="2 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDON="00000000" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <source>METHOD clear.
  styles_conditional-&gt;clear( ).
ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_STYLES_CONDITIONAL" CMPNAME="CONSTRUCTOR" VERSION="1" LANGU="E" DESCRIPT="CONSTRUCTOR" EXPOSURE="2" STATE="1" EDITORDER="3 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDON="00000000" MTDTYPE="2" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <source>METHOD constructor.

  CREATE OBJECT styles_conditional.

ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_STYLES_CONDITIONAL" CMPNAME="GET" VERSION="1" LANGU="E" DESCRIPT="Gets Element" EXPOSURE="2" STATE="1" EDITORDER="4 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDON="00000000" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_STYLES_CONDITIONAL" CMPNAME="GET" SCONAME="IP_INDEX" VERSION="1" LANGU="E" DESCRIPT="Active Worksheet" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDON="00000000" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_ACTIVE_WORKSHEET"/>
   <parameter CLSNAME="ZCL_EXCEL_STYLES_CONDITIONAL" CMPNAME="GET" SCONAME="EO_STYLE_CONDITIONAL" VERSION="1" LANGU="E" DESCRIPT="Font Style" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDBY="FEMIA" CHANGEDON="20100708" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="3" TYPE="ZCL_EXCEL_STYLE_CONDITIONAL"/>
   <source>METHOD get.
  DATA lv_index TYPE i.
  lv_index = ip_index.
  eo_style_conditional ?= styles_conditional-&gt;if_object_collection~get( lv_index ).
ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_STYLES_CONDITIONAL" CMPNAME="GET_ITERATOR" VERSION="1" LANGU="E" DESCRIPT="Returns an iterator" EXPOSURE="2" STATE="1" EDITORDER="5 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDON="00000000" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_STYLES_CONDITIONAL" CMPNAME="GET_ITERATOR" SCONAME="EO_ITERATOR" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDON="00000000" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="3" TYPE="CL_OBJECT_COLLECTION_ITERATOR"/>
   <source>METHOD get_iterator.
  eo_iterator ?= styles_conditional-&gt;if_object_collection~get_iterator( ).
ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_STYLES_CONDITIONAL" CMPNAME="IS_EMPTY" VERSION="1" LANGU="E" DESCRIPT="Checks whether elements are contained" EXPOSURE="2" STATE="1" EDITORDER="6 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDON="00000000" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_STYLES_CONDITIONAL" CMPNAME="IS_EMPTY" SCONAME="IS_EMPTY" VERSION="1" LANGU="E" DESCRIPT="General Flag" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDON="00000000" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="FLAG"/>
   <source>METHOD is_empty.
  is_empty = styles_conditional-&gt;if_object_collection~is_empty( ).
ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_STYLES_CONDITIONAL" CMPNAME="REMOVE" VERSION="1" LANGU="E" DESCRIPT="Deletes an Element from the Collection" EXPOSURE="2" STATE="1" EDITORDER="7 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDON="00000000" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_STYLES_CONDITIONAL" CMPNAME="REMOVE" SCONAME="IP_STYLE_CONDITIONAL" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDON="00000000" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="3" TYPE="ZCL_EXCEL_STYLE_CONDITIONAL"/>
   <source>METHOD remove.
  styles_conditional-&gt;remove( ip_style_conditional ).
ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_STYLES_CONDITIONAL" CMPNAME="SIZE" VERSION="1" LANGU="E" DESCRIPT="Specifies number of contained elements" EXPOSURE="2" STATE="1" EDITORDER="8 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDON="00000000" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_STYLES_CONDITIONAL" CMPNAME="SIZE" SCONAME="EP_SIZE" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDON="00000000" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="I"/>
   <source>METHOD size.
  ep_size = styles_conditional-&gt;if_object_collection~size( ).
ENDMETHOD.</source>
  </method>
 </CLAS>
 <DOMA DOMNAME="ZEXCEL_FORMAT" DDLANGUAGE="E" DATATYPE="CHAR" LENG="000004" OUTPUTLEN="000004" DECIMALS="000000" VALEXI="X" MASKLEN="0000" DDTEXT="File format" AUTHCLASS="00" AS4USER="FEMIA" AS4DATE="20100628" AS4TIME="155425">
  <dd07v DOMNAME="ZEXCEL_FORMAT" VALPOS="0001" DDLANGUAGE="E" DOMVALUE_L="XLSX" DDTEXT="Excel 2007 workbook (.xlsx)"/>
  <dd07v DOMNAME="ZEXCEL_FORMAT" VALPOS="0002" DDLANGUAGE="E" DOMVALUE_L="XLS" DDTEXT="Excel 2003 workbook (.xls)"/>
 </DOMA>
 <DTEL ROLLNAME="ZEXCEL_SHEET_STATE" DDLANGUAGE="E" DOMNAME="CHAR20" ROUTPUTLEN="000000" HEADLEN="20" SCRLEN1="10" SCRLEN2="15" SCRLEN3="20" DDTEXT="Sheet state" REPTEXT="Sheet state" SCRTEXT_S="State" SCRTEXT_M="Sheet state" SCRTEXT_L="Sheet state" AUTHCLASS="00" AS4USER="FEMIA" AS4DATE="20100629" AS4TIME="102247" DTELMASTER="E" DATATYPE="CHAR" LENG="000020" DECIMALS="000000" OUTPUTLEN="000020" REFKIND="D">
  <tpara/>
 </DTEL>
 <DTEL ROLLNAME="ZEXCEL_SHEET_PAPER_SIZE" DDLANGUAGE="E" DOMNAME="INT1" ROUTPUTLEN="000000" HEADLEN="09" SCRLEN1="09" SCRLEN2="09" SCRLEN3="09" DDTEXT="Fill Type" REPTEXT="Fill Type" SCRTEXT_S="Fill Type" SCRTEXT_M="Fill Type" SCRTEXT_L="Fill Type" AUTHCLASS="00" AS4USER="FEMIA" AS4DATE="20100629" AS4TIME="104727" DTELMASTER="E" DATATYPE="INT1" LENG="000003" DECIMALS="000000" OUTPUTLEN="000003" REFKIND="D">
  <tpara/>
 </DTEL>
 <DTEL ROLLNAME="ZEXCEL_SHEET_ORIENATATION" DDLANGUAGE="E" DOMNAME="CHAR20" ROUTPUTLEN="000000" HEADLEN="20" SCRLEN1="10" SCRLEN2="17" SCRLEN3="20" DDTEXT="Sheet orientation" REPTEXT="Sheet orientation" SCRTEXT_S="Orientat." SCRTEXT_M="Sheet orientation" SCRTEXT_L="Sheet orientation" AUTHCLASS="00" AS4USER="FEMIA" AS4DATE="20100629" AS4TIME="105348" DTELMASTER="E" DATATYPE="CHAR" LENG="000020" DECIMALS="000000" OUTPUTLEN="000020" REFKIND="D">
  <tpara/>
 </DTEL>
 <DTEL ROLLNAME="ZEXCEL_SCALECROP" DDLANGUAGE="E" DOMNAME="FLAG" ROUTPUTLEN="000000" HEADLEN="55" SCRLEN1="10" SCRLEN2="15" SCRLEN3="20" DDTEXT="ScaleCrop" REPTEXT="ScaleCrop" SCRTEXT_S="ScaleCrop" SCRTEXT_M="ScaleCrop" SCRTEXT_L="ScaleCrop" AUTHCLASS="00" AS4USER="FEMIA" AS4DATE="20100701" AS4TIME="173224" DTELMASTER="E" DATATYPE="CHAR" LENG="000001" DECIMALS="000000" OUTPUTLEN="000001" VALEXI="X" REFKIND="D">
  <tpara/>
 </DTEL>
 <DTEL ROLLNAME="ZEXCEL_ROTATION" DDLANGUAGE="E" DOMNAME="DEC_15_3" ROUTPUTLEN="000000" HEADLEN="19" SCRLEN1="10" SCRLEN2="15" SCRLEN3="20" DDTEXT="Rotation" REPTEXT="Rotation" SCRTEXT_S="Rotation" SCRTEXT_M="Rotation" SCRTEXT_L="Rotation" AUTHCLASS="00" AS4USER="FEMIA" AS4DATE="20100628" AS4TIME="175104" DTELMASTER="E" DATATYPE="DEC" LENG="000015" DECIMALS="000003" OUTPUTLEN="000019" REFKIND="D">
  <tpara/>
 </DTEL>
 <DTEL ROLLNAME="ZEXCEL_REVISIONSPASSWORD" DDLANGUAGE="E" DOMNAME="TEXT80" ROUTPUTLEN="000000" HEADLEN="55" SCRLEN1="10" SCRLEN2="20" SCRLEN3="20" DDTEXT="Revisions password" REPTEXT="Revisions password" SCRTEXT_S="Password" SCRTEXT_M="Revisions password" SCRTEXT_L="Revisions password" AUTHCLASS="00" AS4USER="FEMIA" AS4DATE="20100628" AS4TIME="151410" DTELMASTER="E" DATATYPE="CHAR" LENG="000080" DECIMALS="000000" OUTPUTLEN="000080" LOWERCASE="X" REFKIND="D">
  <tpara/>
 </DTEL>
 <DTEL ROLLNAME="ZEXCEL_PROTECTION" DDLANGUAGE="E" DOMNAME="CHAR20" ROUTPUTLEN="000000" HEADLEN="20" SCRLEN1="10" SCRLEN2="15" SCRLEN3="20" DDTEXT="Protection" REPTEXT="Protection" SCRTEXT_S="Protection" SCRTEXT_M="Protection" SCRTEXT_L="Protection" AUTHCLASS="00" AS4USER="FEMIA" AS4DATE="20100628" AS4TIME="184716" DTELMASTER="E" DATATYPE="CHAR" LENG="000020" DECIMALS="000000" OUTPUTLEN="000020" REFKIND="D">
  <tpara/>
 </DTEL>
 <DTEL ROLLNAME="ZEXCEL_NUMBER_FORMAT" DDLANGUAGE="E" DOMNAME="CHAR20" ROUTPUTLEN="000000" HEADLEN="20" SCRLEN1="10" SCRLEN2="15" SCRLEN3="20" DDTEXT="Number format" REPTEXT="Number format" SCRTEXT_S="Format" SCRTEXT_M="Number format" SCRTEXT_L="Number format" AUTHCLASS="00" AS4USER="FEMIA" AS4DATE="20100628" AS4TIME="183529" DTELMASTER="E" DATATYPE="CHAR" LENG="000020" DECIMALS="000000" OUTPUTLEN="000020" REFKIND="D">
  <tpara/>
 </DTEL>
 <DTEL ROLLNAME="ZEXCEL_KEYWORDS" DDLANGUAGE="E" DOMNAME="TEXT80" ROUTPUTLEN="000000" HEADLEN="55" SCRLEN1="10" SCRLEN2="15" SCRLEN3="20" DDTEXT="Keywords" REPTEXT="Keywords" SCRTEXT_S="Keywords" SCRTEXT_M="Keywords" SCRTEXT_L="Keywords" AUTHCLASS="00" AS4USER="FEMIA" AS4DATE="20100628" AS4TIME="145741" DTELMASTER="E" DATATYPE="CHAR" LENG="000080" DECIMALS="000000" OUTPUTLEN="000080" LOWERCASE="X" REFKIND="D">
  <tpara/>
 </DTEL>
 <DTEL ROLLNAME="ZEXCEL_INDENT" DDLANGUAGE="E" DOMNAME="INT1" ROUTPUTLEN="000000" HEADLEN="13" SCRLEN1="10" SCRLEN2="15" SCRLEN3="20" DDTEXT="Indent" REPTEXT="Indent" SCRTEXT_S="Indent" SCRTEXT_M="Indent" SCRTEXT_L="Indent" AUTHCLASS="00" AS4USER="FEMIA" AS4DATE="20100628" AS4TIME="183128" DTELMASTER="E" DATATYPE="INT1" LENG="000003" DECIMALS="000000" OUTPUTLEN="000003" REFKIND="D">
  <tpara/>
 </DTEL>
 <DTEL ROLLNAME="ZEXCEL_GRAPH_TYPE" DDLANGUAGE="E" DOMNAME="INT1" ROUTPUTLEN="000000" HEADLEN="10" SCRLEN1="10" SCRLEN2="15" SCRLEN3="20" DDTEXT="Graph type" REPTEXT="Graph type" SCRTEXT_S="Graph type" SCRTEXT_M="Graph type" SCRTEXT_L="Graph type" AUTHCLASS="00" AS4USER="FEMIA" AS4DATE="20100708" AS4TIME="170025" DTELMASTER="E" DATATYPE="INT1" LENG="000003" DECIMALS="000000" OUTPUTLEN="000003" REFKIND="D">
  <tpara/>
 </DTEL>
 <DTEL ROLLNAME="ZEXCEL_FORMAT" DDLANGUAGE="E" DOMNAME="ZEXCEL_FORMAT" ROUTPUTLEN="000000" HEADLEN="11" SCRLEN1="10" SCRLEN2="15" SCRLEN3="20" DDTEXT="File format" REPTEXT="File format" SCRTEXT_S="File type" SCRTEXT_M="File format" SCRTEXT_L="File format" AUTHCLASS="00" AS4USER="FEMIA" AS4DATE="20100628" AS4TIME="155538" DTELMASTER="E" DATATYPE="CHAR" LENG="000004" DECIMALS="000000" OUTPUTLEN="000004" VALEXI="X" REFKIND="D">
  <tpara/>
 </DTEL>
 <DTEL ROLLNAME="ZEXCEL_FONT" DDLANGUAGE="E" DOMNAME="CHAR10" ROUTPUTLEN="000000" HEADLEN="04" SCRLEN1="04" SCRLEN2="04" SCRLEN3="04" DDTEXT="Font" REPTEXT="Font" SCRTEXT_S="Font" SCRTEXT_M="Font" SCRTEXT_L="Font" AUTHCLASS="00" AS4USER="FEMIA" AS4DATE="20100628" AS4TIME="163757" DTELMASTER="E" DATATYPE="CHAR" LENG="000010" DECIMALS="000000" OUTPUTLEN="000010" REFKIND="D">
  <tpara/>
 </DTEL>
 <DTEL ROLLNAME="ZEXCEL_WORKSHEETS_NAME" DDLANGUAGE="E" DOMNAME="TEXT80" ROUTPUTLEN="000000" HEADLEN="55" SCRLEN1="10" SCRLEN2="15" SCRLEN3="20" DDTEXT="Worksheets name" REPTEXT="Worksheets name" SCRTEXT_S="Name" SCRTEXT_M="Worksheets name" SCRTEXT_L="Worksheets name" AUTHCLASS="00" AS4USER="FEMIA" AS4DATE="20100701" AS4TIME="174843" DTELMASTER="E" DATATYPE="CHAR" LENG="000080" DECIMALS="000000" OUTPUTLEN="000080" LOWERCASE="X" REFKIND="D">
  <tpara/>
 </DTEL>
 <DTEL ROLLNAME="ZEXCEL_WORKBOOKPASSWORD" DDLANGUAGE="E" DOMNAME="TEXT80" ROUTPUTLEN="000000" HEADLEN="55" SCRLEN1="10" SCRLEN2="20" SCRLEN3="20" DDTEXT="Workbook password" REPTEXT="Workbook password" SCRTEXT_S="Password" SCRTEXT_M="Workbook password" SCRTEXT_L="Workbook password" AUTHCLASS="00" AS4USER="FEMIA" AS4DATE="20100628" AS4TIME="151443" DTELMASTER="E" DATATYPE="CHAR" LENG="000080" DECIMALS="000000" OUTPUTLEN="000080" LOWERCASE="X" REFKIND="D">
  <tpara/>
 </DTEL>
 <DTEL ROLLNAME="ZEXCEL_TITLE" DDLANGUAGE="E" DOMNAME="TEXT80" ROUTPUTLEN="000000" HEADLEN="55" SCRLEN1="10" SCRLEN2="15" SCRLEN3="20" DDTEXT="Title" REPTEXT="Title" SCRTEXT_S="Title" SCRTEXT_M="Title" SCRTEXT_L="Title" AUTHCLASS="00" AS4USER="FEMIA" AS4DATE="20100628" AS4TIME="145528" DTELMASTER="E" DATATYPE="CHAR" LENG="000080" DECIMALS="000000" OUTPUTLEN="000080" LOWERCASE="X" REFKIND="D">
  <tpara/>
 </DTEL>
 <DTEL ROLLNAME="ZEXCEL_TEXT_ROTATION" DDLANGUAGE="E" DOMNAME="INT1" ROUTPUTLEN="000000" HEADLEN="13" SCRLEN1="10" SCRLEN2="15" SCRLEN3="20" DDTEXT="Text Rotation" REPTEXT="Text Rotation" SCRTEXT_S="Rotation" SCRTEXT_M="Text Rotation" SCRTEXT_L="Text Rotation" AUTHCLASS="00" AS4USER="FEMIA" AS4DATE="20100628" AS4TIME="181018" DTELMASTER="E" DATATYPE="INT1" LENG="000003" DECIMALS="000000" OUTPUTLEN="000003" REFKIND="D">
  <tpara/>
 </DTEL>
 <DTEL ROLLNAME="ZEXCEL_SUBJECT" DDLANGUAGE="E" DOMNAME="TEXT80" ROUTPUTLEN="000000" HEADLEN="55" SCRLEN1="10" SCRLEN2="15" SCRLEN3="20" DDTEXT="Subject" REPTEXT="Subject" SCRTEXT_S="Subject" SCRTEXT_M="Subject" SCRTEXT_L="Subject" AUTHCLASS="00" AS4USER="FEMIA" AS4DATE="20100628" AS4TIME="145646" DTELMASTER="E" DATATYPE="CHAR" LENG="000080" DECIMALS="000000" OUTPUTLEN="000080" LOWERCASE="X" REFKIND="D">
  <tpara/>
 </DTEL>
 <DTEL ROLLNAME="ZEXCEL_STYLE_PRIORITY" DDLANGUAGE="E" DOMNAME="INT1" ROUTPUTLEN="000000" HEADLEN="14" SCRLEN1="10" SCRLEN2="15" SCRLEN3="20" DDTEXT="Style Priority" REPTEXT="Style Priority" SCRTEXT_S="Priority" SCRTEXT_M="Style Priority" SCRTEXT_L="Style Priority" AUTHCLASS="00" AS4USER="FEMIA" AS4DATE="20100708" AS4TIME="172619" DTELMASTER="E" DATATYPE="INT1" LENG="000003" DECIMALS="000000" OUTPUTLEN="000003" REFKIND="D">
  <tpara/>
 </DTEL>
 <DTEL ROLLNAME="ZEXCEL_STYLE_FORMULA" DDLANGUAGE="E" DOMNAME="STRING" ROUTPUTLEN="000000" HEADLEN="13" SCRLEN1="10" SCRLEN2="15" SCRLEN3="20" DDTEXT="Style formula" REPTEXT="Style formula" SCRTEXT_S="Formula" SCRTEXT_M="Style formula" SCRTEXT_L="Style formula" AUTHCLASS="00" AS4USER="FEMIA" AS4DATE="20100708" AS4TIME="172713" DTELMASTER="E" DATATYPE="STRG" LENG="000000" DECIMALS="000000" OUTPUTLEN="000000" REFKIND="D">
  <tpara/>
 </DTEL>
 <DTEL ROLLNAME="ZEXCEL_STYLE_FONT_SCHEME" DDLANGUAGE="E" DOMNAME="CHAR20" ROUTPUTLEN="000000" HEADLEN="20" SCRLEN1="10" SCRLEN2="15" SCRLEN3="20" DDTEXT="Font scheme" REPTEXT="Font scheme" SCRTEXT_S="Scheme" SCRTEXT_M="Font scheme" SCRTEXT_L="Font scheme" AUTHCLASS="00" AS4USER="FEMIA" AS4DATE="20100704" AS4TIME="222313" DTELMASTER="E" DATATYPE="CHAR" LENG="000020" DECIMALS="000000" OUTPUTLEN="000020" REFKIND="D">
  <tpara/>
 </DTEL>
 <DTEL ROLLNAME="ZEXCEL_STYLE_COLOR_COMPONENT" DDLANGUAGE="E" DOMNAME="CHAR2" ROUTPUTLEN="000000" HEADLEN="15" SCRLEN1="10" SCRLEN2="15" SCRLEN3="15" DDTEXT="Color Component" REPTEXT="Color Component" SCRTEXT_S="Color Comp" SCRTEXT_M="Color Component" SCRTEXT_L="Color Component" AUTHCLASS="00" AS4USER="FEMIA" AS4DATE="20100705" AS4TIME="115840" DTELMASTER="E" DATATYPE="CHAR" LENG="000002" DECIMALS="000000" OUTPUTLEN="000002" REFKIND="D">
  <tpara/>
 </DTEL>
 <DTEL ROLLNAME="ZEXCEL_STYLE_COLOR_ARGB" DDLANGUAGE="E" DOMNAME="CHAR8" ROUTPUTLEN="000000" HEADLEN="10" SCRLEN1="10" SCRLEN2="15" SCRLEN3="20" DDTEXT="Color ARGB" REPTEXT="Color ARGB" SCRTEXT_S="Color ARGB" SCRTEXT_M="Color ARGB" SCRTEXT_L="Color ARGB" AUTHCLASS="00" AS4USER="FEMIA" AS4DATE="20100705" AS4TIME="115643" DTELMASTER="E" DATATYPE="CHAR" LENG="000008" DECIMALS="000000" OUTPUTLEN="000008" REFKIND="D">
  <tpara/>
 </DTEL>
 <DTEL ROLLNAME="ZEXCEL_SHEET_TITLE" DDLANGUAGE="E" DOMNAME="TEXT16" ROUTPUTLEN="000000" HEADLEN="55" SCRLEN1="10" SCRLEN2="15" SCRLEN3="20" DDTEXT="Title" REPTEXT="Title" SCRTEXT_S="Title" SCRTEXT_M="Title" SCRTEXT_L="Title" AUTHCLASS="00" AS4USER="FEMIA" AS4DATE="20100707" AS4TIME="171946" DTELMASTER="E" DATATYPE="CHAR" LENG="000016" DECIMALS="000000" OUTPUTLEN="000016" LOWERCASE="X" REFKIND="D">
  <tpara/>
 </DTEL>
 <DTEL ROLLNAME="ZEXCEL_FILL_TYPE" DDLANGUAGE="E" DOMNAME="CHAR20" ROUTPUTLEN="000000" HEADLEN="09" SCRLEN1="09" SCRLEN2="09" SCRLEN3="09" DDTEXT="Fill Type" REPTEXT="Fill Type" SCRTEXT_S="Fill Type" SCRTEXT_M="Fill Type" SCRTEXT_L="Fill Type" AUTHCLASS="00" AS4USER="FEMIA" AS4DATE="20100628" AS4TIME="175141" DTELMASTER="E" DATATYPE="CHAR" LENG="000020" DECIMALS="000000" OUTPUTLEN="000020" REFKIND="D">
  <tpara/>
 </DTEL>
 <DTEL ROLLNAME="ZEXCEL_CELL_ROW" DDLANGUAGE="E" DOMNAME="INT4" ROUTPUTLEN="000000" HEADLEN="08" SCRLEN1="08" SCRLEN2="08" SCRLEN3="08" DDTEXT="Cell Row" REPTEXT="Cell Row" SCRTEXT_S="Row" SCRTEXT_M="Cell Row" SCRTEXT_L="Cell Row" AUTHCLASS="00" AS4USER="FEMIA" AS4DATE="20100629" AS4TIME="112227" DTELMASTER="E" DATATYPE="INT4" LENG="000010" DECIMALS="000000" OUTPUTLEN="000010" SIGNFLAG="X" REFKIND="D">
  <tpara/>
 </DTEL>
 <DTEL ROLLNAME="ZEXCEL_CELL_FORMULA" DDLANGUAGE="E" DOMNAME="STRING" ROUTPUTLEN="000000" HEADLEN="12" SCRLEN1="10" SCRLEN2="15" SCRLEN3="20" DDTEXT="Cell Formula" REPTEXT="Cell Formula" SCRTEXT_S="Formula" SCRTEXT_M="Cell Formula" SCRTEXT_L="Cell Formula" AUTHCLASS="00" AS4USER="FEMIA" AS4DATE="20100710" AS4TIME="100133" DTELMASTER="E" DATATYPE="STRG" LENG="000000" DECIMALS="000000" OUTPUTLEN="000000" REFKIND="D">
  <tpara/>
 </DTEL>
 <DTEL ROLLNAME="ZEXCEL_CELL_COORDS" DDLANGUAGE="E" DOMNAME="STRING" ROUTPUTLEN="000000" HEADLEN="25" SCRLEN1="10" SCRLEN2="16" SCRLEN3="25" DDTEXT="Cell coordinates as Excel" REPTEXT="Cell coordinates as Excel" SCRTEXT_S="Cell coord" SCRTEXT_M="Cell coordinates" SCRTEXT_L="Cell coordinates as Excel" AUTHCLASS="00" AS4USER="FEMIA" AS4DATE="20100704" AS4TIME="162915" DTELMASTER="E" DATATYPE="STRG" LENG="000000" DECIMALS="000000" OUTPUTLEN="000000" REFKIND="D">
  <tpara/>
 </DTEL>
 <DTEL ROLLNAME="ZEXCEL_CELL_COLUMN_ALPHA" DDLANGUAGE="E" DOMNAME="CHAR2" ROUTPUTLEN="000000" HEADLEN="11" SCRLEN1="06" SCRLEN2="11" SCRLEN3="11" DDTEXT="Cell Column" REPTEXT="Cell Column" SCRTEXT_S="Column" SCRTEXT_M="Cell Column" SCRTEXT_L="Cell Column" AUTHCLASS="00" AS4USER="FEMIA" AS4DATE="20100629" AS4TIME="113748" DTELMASTER="E" DATATYPE="CHAR" LENG="000002" DECIMALS="000000" OUTPUTLEN="000002" REFKIND="D">
  <tpara/>
 </DTEL>
 <DTEL ROLLNAME="ZEXCEL_CELL_COLUMN" DDLANGUAGE="E" DOMNAME="INT4" ROUTPUTLEN="000000" HEADLEN="11" SCRLEN1="06" SCRLEN2="11" SCRLEN3="11" DDTEXT="Cell Column" REPTEXT="Cell Column" SCRTEXT_S="Column" SCRTEXT_M="Cell Column" SCRTEXT_L="Cell Column" AUTHCLASS="00" AS4USER="FEMIA" AS4DATE="20100629" AS4TIME="112051" DTELMASTER="E" DATATYPE="INT4" LENG="000010" DECIMALS="000000" OUTPUTLEN="000010" SIGNFLAG="X" REFKIND="D">
  <tpara/>
 </DTEL>
 <DTEL ROLLNAME="ZEXCEL_CATEGORY" DDLANGUAGE="E" DOMNAME="TEXT80" ROUTPUTLEN="000000" HEADLEN="55" SCRLEN1="10" SCRLEN2="15" SCRLEN3="20" DDTEXT="Category" REPTEXT="Category" SCRTEXT_S="Category" SCRTEXT_M="Category" SCRTEXT_L="Category" AUTHCLASS="00" AS4USER="FEMIA" AS4DATE="20100628" AS4TIME="145805" DTELMASTER="E" DATATYPE="CHAR" LENG="000080" DECIMALS="000000" OUTPUTLEN="000080" LOWERCASE="X" REFKIND="D">
  <tpara/>
 </DTEL>
 <DTEL ROLLNAME="ZEXCEL_BREAK" DDLANGUAGE="E" DOMNAME="INT1" ROUTPUTLEN="000000" HEADLEN="15" SCRLEN1="10" SCRLEN2="15" SCRLEN3="20" DDTEXT="Worksheet Break" REPTEXT="Worksheet Break" SCRTEXT_S="Break" SCRTEXT_M="Worksheet Break" SCRTEXT_L="Worksheet Break" AUTHCLASS="00" AS4USER="FEMIA" AS4DATE="20100629" AS4TIME="102144" DTELMASTER="E" DATATYPE="INT1" LENG="000003" DECIMALS="000000" OUTPUTLEN="000003" REFKIND="D">
  <tpara/>
 </DTEL>
 <DTEL ROLLNAME="ZEXCEL_BORDER" DDLANGUAGE="E" DOMNAME="CHAR20" ROUTPUTLEN="000000" HEADLEN="12" SCRLEN1="06" SCRLEN2="12" SCRLEN3="12" DDTEXT="Border style" REPTEXT="Border style" SCRTEXT_S="Border" SCRTEXT_M="Border style" SCRTEXT_L="Border style" AUTHCLASS="00" AS4USER="FEMIA" AS4DATE="20100628" AS4TIME="180210" DTELMASTER="E" DATATYPE="CHAR" LENG="000020" DECIMALS="000000" OUTPUTLEN="000020" REFKIND="D">
  <tpara/>
 </DTEL>
 <DTEL ROLLNAME="ZEXCEL_APPVERSION" DDLANGUAGE="E" DOMNAME="CHAR07" ROUTPUTLEN="000000" HEADLEN="19" SCRLEN1="10" SCRLEN2="19" SCRLEN3="20" DDTEXT="Application version" REPTEXT="Application version" SCRTEXT_S="AppVersion" SCRTEXT_M="Application version" SCRTEXT_L="Application version" AUTHCLASS="00" AS4USER="FEMIA" AS4DATE="20100702" AS4TIME="100702" DTELMASTER="E" DATATYPE="CHAR" LENG="000007" DECIMALS="000000" OUTPUTLEN="000007" REFKIND="D">
  <tpara/>
 </DTEL>
 <DTEL ROLLNAME="ZEXCEL_APPLICATION" DDLANGUAGE="E" DOMNAME="TEXT80" ROUTPUTLEN="000000" HEADLEN="55" SCRLEN1="10" SCRLEN2="15" SCRLEN3="20" DDTEXT="Application" REPTEXT="Application" SCRTEXT_S="Applic." SCRTEXT_M="Application" SCRTEXT_L="Application" AUTHCLASS="00" AS4USER="FEMIA" AS4DATE="20100701" AS4TIME="172918" DTELMASTER="E" DATATYPE="CHAR" LENG="000080" DECIMALS="000000" OUTPUTLEN="000080" LOWERCASE="X" REFKIND="D">
  <tpara/>
 </DTEL>
 <DTEL ROLLNAME="ZEXCEL_ALIGNMENT" DDLANGUAGE="E" DOMNAME="CHAR20" ROUTPUTLEN="000000" HEADLEN="09" SCRLEN1="09" SCRLEN2="09" SCRLEN3="09" DDTEXT="Alignment" REPTEXT="Alignment" SCRTEXT_S="Alignment" SCRTEXT_M="Alignment" SCRTEXT_L="Alignment" AUTHCLASS="00" AS4USER="FEMIA" AS4DATE="20100628" AS4TIME="180748" DTELMASTER="E" DATATYPE="CHAR" LENG="000020" DECIMALS="000000" OUTPUTLEN="000020" REFKIND="D">
  <tpara/>
 </DTEL>
 <DTEL ROLLNAME="ZEXCEL_ACTIVE_WORKSHEET" DDLANGUAGE="E" DOMNAME="INT1" ROUTPUTLEN="000000" HEADLEN="16" SCRLEN1="06" SCRLEN2="16" SCRLEN3="16" DDTEXT="Active Worksheet" REPTEXT="Active Worksheet" SCRTEXT_S="Active" SCRTEXT_M="Active Worksheet" SCRTEXT_L="Active Worksheet" AUTHCLASS="00" AS4USER="FEMIA" AS4DATE="20100628" AS4TIME="152531" DTELMASTER="E" DATATYPE="INT1" LENG="000003" DECIMALS="000000" OUTPUTLEN="000003" REFKIND="D">
  <tpara/>
 </DTEL>
 <DTEL ROLLNAME="ZEXCEL_CELL_STYLE" DDLANGUAGE="E" DOMNAME="GUID16" ROUTPUTLEN="000000" HEADLEN="16" SCRLEN1="10" SCRLEN2="16" SCRLEN3="20" DDTEXT="Style identifier" REPTEXT="Style identifier" SCRTEXT_S="Style no" SCRTEXT_M="Style identifier" SCRTEXT_L="Style identifier" AUTHCLASS="00" AS4USER="FEMIA" AS4DATE="20100704" AS4TIME="221000" DTELMASTER="E" DATATYPE="RAW" LENG="000016" DECIMALS="000000" OUTPUTLEN="000032" REFKIND="D">
  <tpara/>
 </DTEL>
 <DTEL ROLLNAME="ZEXCEL_FILL" DDLANGUAGE="E" DOMNAME="CHAR10" ROUTPUTLEN="000000" HEADLEN="04" SCRLEN1="04" SCRLEN2="04" SCRLEN3="04" DDTEXT="Font" REPTEXT="Font" SCRTEXT_S="Font" SCRTEXT_M="Font" SCRTEXT_L="Font" AUTHCLASS="00" AS4USER="FEMIA" AS4DATE="20100628" AS4TIME="175104" DTELMASTER="E" DATATYPE="CHAR" LENG="000010" DECIMALS="000000" OUTPUTLEN="000010" REFKIND="D">
  <tpara/>
 </DTEL>
 <DTEL ROLLNAME="ZEXCEL_DOCSECURITY" DDLANGUAGE="E" DOMNAME="NUMC1" ROUTPUTLEN="000000" HEADLEN="55" SCRLEN1="10" SCRLEN2="15" SCRLEN3="20" DDTEXT="DocSecurity" REPTEXT="DocSecurity" SCRTEXT_S="DocSec." SCRTEXT_M="DocSecurity" SCRTEXT_L="DocSecurity" AUTHCLASS="00" AS4USER="FEMIA" AS4DATE="20100702" AS4TIME="102503" DTELMASTER="E" DATATYPE="NUMC" LENG="000001" DECIMALS="000000" OUTPUTLEN="000001" VALEXI="X" REFKIND="D">
  <tpara/>
 </DTEL>
 <DTEL ROLLNAME="ZEXCEL_DIAGONAL" DDLANGUAGE="E" DOMNAME="INT1" ROUTPUTLEN="000000" HEADLEN="09" SCRLEN1="09" SCRLEN2="09" SCRLEN3="09" DDTEXT="Diagonal" REPTEXT="Fill Type" SCRTEXT_S="Fill Type" SCRTEXT_M="Fill Type" SCRTEXT_L="Fill Type" AUTHCLASS="00" AS4USER="FEMIA" AS4DATE="20100628" AS4TIME="175618" DTELMASTER="E" DATATYPE="INT1" LENG="000003" DECIMALS="000000" OUTPUTLEN="000003" REFKIND="D">
  <tpara/>
 </DTEL>
 <DTEL ROLLNAME="ZEXCEL_DESCRIPTION" DDLANGUAGE="E" DOMNAME="TEXT80" ROUTPUTLEN="000000" HEADLEN="55" SCRLEN1="10" SCRLEN2="15" SCRLEN3="20" DDTEXT="Description" REPTEXT="Description" SCRTEXT_S="Descr." SCRTEXT_M="Description" SCRTEXT_L="Description" AUTHCLASS="00" AS4USER="FEMIA" AS4DATE="20100628" AS4TIME="145725" DTELMASTER="E" DATATYPE="CHAR" LENG="000080" DECIMALS="000000" OUTPUTLEN="000080" LOWERCASE="X" REFKIND="D">
  <tpara/>
 </DTEL>
 <DTEL ROLLNAME="ZEXCEL_CREATOR" DDLANGUAGE="E" DOMNAME="TEXT80" ROUTPUTLEN="000000" HEADLEN="07" SCRLEN1="07" SCRLEN2="07" SCRLEN3="07" DDTEXT="Creator" REPTEXT="Creator" SCRTEXT_S="Creator" SCRTEXT_M="Creator" SCRTEXT_L="Creator" AUTHCLASS="00" AS4USER="FEMIA" AS4DATE="20100628" AS4TIME="145200" DTELMASTER="E" DATATYPE="CHAR" LENG="000080" DECIMALS="000000" OUTPUTLEN="000080" LOWERCASE="X" REFKIND="D">
  <tpara/>
 </DTEL>
 <DTEL ROLLNAME="ZEXCEL_CONDITION_RULE_ICONSET" DDLANGUAGE="E" DOMNAME="CHAR20" ROUTPUTLEN="000000" HEADLEN="22" SCRLEN1="10" SCRLEN2="18" SCRLEN3="22" DDTEXT="Condition rule iconset" REPTEXT="Condition rule iconset" SCRTEXT_S="Cond. rule" SCRTEXT_M="Cond. rule iconset" SCRTEXT_L="Condition rule iconset" AUTHCLASS="00" AS4USER="FEMIA" AS4DATE="20100708" AS4TIME="172922" DTELMASTER="E" DATATYPE="CHAR" LENG="000020" DECIMALS="000000" OUTPUTLEN="000020" REFKIND="D">
  <tpara/>
 </DTEL>
 <DTEL ROLLNAME="ZEXCEL_CONDITION_RULE" DDLANGUAGE="E" DOMNAME="CHAR20" ROUTPUTLEN="000000" HEADLEN="20" SCRLEN1="10" SCRLEN2="15" SCRLEN3="20" DDTEXT="Condition rule" REPTEXT="Condition rule" SCRTEXT_S="Cond. rule" SCRTEXT_M="Condition rule" SCRTEXT_L="Condition rule" AUTHCLASS="00" AS4USER="FEMIA" AS4DATE="20100708" AS4TIME="170658" DTELMASTER="E" DATATYPE="CHAR" LENG="000020" DECIMALS="000000" OUTPUTLEN="000020" REFKIND="D">
  <tpara/>
 </DTEL>
 <DTEL ROLLNAME="ZEXCEL_CONDITION_OPERATOR" DDLANGUAGE="E" DOMNAME="CHAR20" ROUTPUTLEN="000000" HEADLEN="20" SCRLEN1="10" SCRLEN2="18" SCRLEN3="20" DDTEXT="Condition operator" REPTEXT="Condition operator" SCRTEXT_S="Cond. oper" SCRTEXT_M="Condition operator" SCRTEXT_L="Condition operator" AUTHCLASS="00" AS4USER="FEMIA" AS4DATE="20100708" AS4TIME="171214" DTELMASTER="E" DATATYPE="CHAR" LENG="000020" DECIMALS="000000" OUTPUTLEN="000020" REFKIND="D">
  <tpara/>
 </DTEL>
 <DTEL ROLLNAME="ZEXCEL_CONDITIONAL" DDLANGUAGE="E" DOMNAME="CHAR20" ROUTPUTLEN="000000" HEADLEN="20" SCRLEN1="10" SCRLEN2="15" SCRLEN3="20" DDTEXT="Conditional" REPTEXT="Conditional" SCRTEXT_S="Condit." SCRTEXT_M="Conditional" SCRTEXT_L="Conditional" AUTHCLASS="00" AS4USER="FEMIA" AS4DATE="20100628" AS4TIME="184130" DTELMASTER="E" DATATYPE="CHAR" LENG="000020" DECIMALS="000000" OUTPUTLEN="000020" REFKIND="D">
  <tpara/>
 </DTEL>
 <DTEL ROLLNAME="ZEXCEL_COMPANY" DDLANGUAGE="E" DOMNAME="TEXT80" ROUTPUTLEN="000000" HEADLEN="55" SCRLEN1="10" SCRLEN2="15" SCRLEN3="20" DDTEXT="Company" REPTEXT="Company" SCRTEXT_S="Company" SCRTEXT_M="Company" SCRTEXT_L="Company" AUTHCLASS="00" AS4USER="FEMIA" AS4DATE="20100628" AS4TIME="145840" DTELMASTER="E" DATATYPE="CHAR" LENG="000080" DECIMALS="000000" OUTPUTLEN="000080" LOWERCASE="X" REFKIND="D">
  <tpara/>
 </DTEL>
 <DTEL ROLLNAME="ZEXCEL_COLOR" DDLANGUAGE="E" DOMNAME="CHAR8" ROUTPUTLEN="000000" HEADLEN="12" SCRLEN1="06" SCRLEN2="12" SCRLEN3="12" DDTEXT="Color" REPTEXT="Color" SCRTEXT_S="Color" SCRTEXT_M="Color" SCRTEXT_L="Color" AUTHCLASS="00" AS4USER="FEMIA" AS4DATE="20100628" AS4TIME="180424" DTELMASTER="E" DATATYPE="CHAR" LENG="000008" DECIMALS="000000" OUTPUTLEN="000008" REFKIND="D">
  <tpara/>
 </DTEL>
 <DTEL ROLLNAME="ZEXCEL_CELL_VALUE" DDLANGUAGE="E" DOMNAME="STRING" ROUTPUTLEN="000000" HEADLEN="10" SCRLEN1="10" SCRLEN2="15" SCRLEN3="20" DDTEXT="Cell Value" REPTEXT="Cell Value" SCRTEXT_S="Value" SCRTEXT_M="Cell Value" SCRTEXT_L="Cell Value" AUTHCLASS="00" AS4USER="FEMIA" AS4DATE="20100702" AS4TIME="163301" DTELMASTER="E" DATATYPE="STRG" LENG="000000" DECIMALS="000000" OUTPUTLEN="000000" REFKIND="D">
  <tpara/>
 </DTEL>
 <TABL TABNAME="ZEXCEL_S_STYLE_FONT" DDLANGUAGE="E" TABCLASS="INTTAB" DATMIN="0000000000" DATMAX="0000000000" DATAVG="0000000000" DDTEXT="Cell Font" AUTHCLASS="00" AS4USER="FEMIA" AS4DATE="20100705" AS4TIME="120344" PROZPUFF="000" EXCLASS="1">
  <dd09l AS4VERS="0000" SCHFELDANZ="000" AS4DATE="00000000" AS4TIME="000000"/>
  <dd03p TABNAME="ZEXCEL_S_STYLE_FONT" FIELDNAME="BOLD" 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"/>
  <dd03p TABNAME="ZEXCEL_S_STYLE_FONT" FIELDNAME="ITALIC" 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"/>
  <dd03p TABNAME="ZEXCEL_S_STYLE_FONT" FIELDNAME="UNDERLINE" 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"/>
  <dd03p TABNAME="ZEXCEL_S_STYLE_FONT" FIELDNAME="UNDERLINE_MODE" DDLANGUAGE="E" POSITION="0004" ROLLNAME="CHAR20" ADMINFIELD="0" INTTYPE="C" INTLEN="000040" DOMNAME="CHAR20" ROUTPUTLEN="000000" HEADLEN="55" SCRLEN1="10" SCRLEN2="15" SCRLEN3="20" DATATYPE="CHAR" LENG="000020" OUTPUTLEN="000020" DECIMALS="000000" MASK="  CHARE" MASKLEN="0000" DDTEXT="Char 20" REPTEXT="Char20" SCRTEXT_S="Char20" SCRTEXT_M="Char20" SCRTEXT_L="Char20" DOMNAME3L="CHAR20" DEPTH="00" COMPTYPE="E" EXCLASS="0" DBPOSITION="0000"/>
  <dd03p TABNAME="ZEXCEL_S_STYLE_FONT" FIELDNAME="STRIKETHROUGH" DDLANGUAGE="E" POSITION="0005" 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"/>
  <dd03p TABNAME="ZEXCEL_S_STYLE_FONT" FIELDNAME="SIZE" DDLANGUAGE="E" POSITION="0006" ROLLNAME="INT1" ADMINFIELD="0" INTTYPE="X" INTLEN="000001" DOMNAME="INT1" ROUTPUTLEN="000000" HEADLEN="00" SCRLEN1="04" SCRLEN2="04" SCRLEN3="04" DTELMASTER="D" DATATYPE="INT1" LENG="000003" OUTPUTLEN="000003" DECIMALS="000000" MASK="  INT1E" MASKLEN="0000" DDTEXT="Byte Value" SCRTEXT_S="Byte" SCRTEXT_M="Byte" SCRTEXT_L="Byte" DOMNAME3L="INT1" DEPTH="00" COMPTYPE="E" EXCLASS="0" DBPOSITION="0000"/>
  <dd03p TABNAME="ZEXCEL_S_STYLE_FONT" FIELDNAME="COLOR" DDLANGUAGE="E" POSITION="0007" ROLLNAME="ZEXCEL_STYLE_COLOR_ARGB" ADMINFIELD="0" INTTYPE="C" INTLEN="000016" DOMNAME="CHAR8" ROUTPUTLEN="000000" HEADLEN="10" SCRLEN1="10" SCRLEN2="15" SCRLEN3="20" DTELMASTER="E" DATATYPE="CHAR" LENG="000008" OUTPUTLEN="000008" DECIMALS="000000" MASK="  CHARE" MASKLEN="0000" DDTEXT="Color ARGB" REPTEXT="Color ARGB" SCRTEXT_S="Color ARGB" SCRTEXT_M="Color ARGB" SCRTEXT_L="Color ARGB" DOMNAME3L="CHAR8" DEPTH="00" COMPTYPE="E" EXCLASS="0" DBPOSITION="0000"/>
  <dd03p TABNAME="ZEXCEL_S_STYLE_FONT" FIELDNAME="NAME" DDLANGUAGE="E" POSITION="0008" ROLLNAME="CHAR255" ADMINFIELD="0" INTTYPE="C" INTLEN="000510" DOMNAME="CHAR255" ROUTPUTLEN="000000" HEADLEN="00" SCRLEN1="07" SCRLEN2="00" SCRLEN3="00" DATATYPE="CHAR" LENG="000255" OUTPUTLEN="000255" DECIMALS="000000" MASK="  CHARE" MASKLEN="0000" DDTEXT="Char255" SCRTEXT_S="Char255" DOMNAME3L="CHAR255" DEPTH="00" COMPTYPE="E" EXCLASS="0" DBPOSITION="0000"/>
  <dd03p TABNAME="ZEXCEL_S_STYLE_FONT" FIELDNAME="FAMILY" DDLANGUAGE="E" POSITION="0009" ROLLNAME="INT1" ADMINFIELD="0" INTTYPE="X" INTLEN="000001" DOMNAME="INT1" ROUTPUTLEN="000000" HEADLEN="00" SCRLEN1="04" SCRLEN2="04" SCRLEN3="04" DTELMASTER="D" DATATYPE="INT1" LENG="000003" OUTPUTLEN="000003" DECIMALS="000000" MASK="  INT1E" MASKLEN="0000" DDTEXT="Byte Value" SCRTEXT_S="Byte" SCRTEXT_M="Byte" SCRTEXT_L="Byte" DOMNAME3L="INT1" DEPTH="00" COMPTYPE="E" EXCLASS="0" DBPOSITION="0000"/>
  <dd03p TABNAME="ZEXCEL_S_STYLE_FONT" FIELDNAME="SCHEME" DDLANGUAGE="E" POSITION="0010" ROLLNAME="ZEXCEL_STYLE_FONT_SCHEME" ADMINFIELD="0" INTTYPE="C" INTLEN="000040" DOMNAME="CHAR20" ROUTPUTLEN="000000" HEADLEN="20" SCRLEN1="10" SCRLEN2="15" SCRLEN3="20" DTELMASTER="E" DATATYPE="CHAR" LENG="000020" OUTPUTLEN="000020" DECIMALS="000000" MASK="  CHARE" MASKLEN="0000" DDTEXT="Font scheme" REPTEXT="Font scheme" SCRTEXT_S="Scheme" SCRTEXT_M="Font scheme" SCRTEXT_L="Font scheme" DOMNAME3L="CHAR20" DEPTH="00" COMPTYPE="E" EXCLASS="0" DBPOSITION="0000"/>
 </TABL>
 <TABL TABNAME="ZEXCEL_S_STYLE_FILL" DDLANGUAGE="E" TABCLASS="INTTAB" DATMIN="0000000000" DATMAX="0000000000" DATAVG="0000000000" DDTEXT="Cell Fill" AUTHCLASS="00" AS4USER="FEMIA" AS4DATE="20100705" AS4TIME="120552" PROZPUFF="000" EXCLASS="1">
  <dd09l AS4VERS="0000" SCHFELDANZ="000" AS4DATE="00000000" AS4TIME="000000"/>
  <dd03p TABNAME="ZEXCEL_S_STYLE_FILL" FIELDNAME="FILLTYPE" DDLANGUAGE="E" POSITION="0001" ROLLNAME="ZEXCEL_FILL_TYPE" ADMINFIELD="0" INTTYPE="C" INTLEN="000040" DOMNAME="CHAR20" ROUTPUTLEN="000000" HEADLEN="09" SCRLEN1="09" SCRLEN2="09" SCRLEN3="09" DTELMASTER="E" DATATYPE="CHAR" LENG="000020" OUTPUTLEN="000020" DECIMALS="000000" MASK="  CHARE" MASKLEN="0000" DDTEXT="Fill Type" REPTEXT="Fill Type" SCRTEXT_S="Fill Type" SCRTEXT_M="Fill Type" SCRTEXT_L="Fill Type" DOMNAME3L="CHAR20" DEPTH="00" COMPTYPE="E" EXCLASS="0" DBPOSITION="0000"/>
  <dd03p TABNAME="ZEXCEL_S_STYLE_FILL" FIELDNAME="ROTATION" DDLANGUAGE="E" POSITION="0002" ROLLNAME="ZEXCEL_ROTATION" ADMINFIELD="0" INTTYPE="P" INTLEN="000008" DOMNAME="DEC_15_3" ROUTPUTLEN="000000" HEADLEN="19" SCRLEN1="10" SCRLEN2="15" SCRLEN3="20" DTELMASTER="E" DATATYPE="DEC" LENG="000015" OUTPUTLEN="000019" DECIMALS="000003" MASK="  DEC E" MASKLEN="0000" DDTEXT="Rotation" REPTEXT="Rotation" SCRTEXT_S="Rotation" SCRTEXT_M="Rotation" SCRTEXT_L="Rotation" DOMNAME3L="DEC_15_3" DEPTH="00" COMPTYPE="E" EXCLASS="0" DBPOSITION="0000"/>
  <dd03p TABNAME="ZEXCEL_S_STYLE_FILL" FIELDNAME="FGCOLOR" DDLANGUAGE="E" POSITION="0003" ROLLNAME="ZEXCEL_STYLE_COLOR_ARGB" ADMINFIELD="0" INTTYPE="C" INTLEN="000016" DOMNAME="CHAR8" ROUTPUTLEN="000000" HEADLEN="10" SCRLEN1="10" SCRLEN2="15" SCRLEN3="20" DTELMASTER="E" DATATYPE="CHAR" LENG="000008" OUTPUTLEN="000008" DECIMALS="000000" MASK="  CHARE" MASKLEN="0000" DDTEXT="Color ARGB" REPTEXT="Color ARGB" SCRTEXT_S="Color ARGB" SCRTEXT_M="Color ARGB" SCRTEXT_L="Color ARGB" DOMNAME3L="CHAR8" DEPTH="00" COMPTYPE="E" EXCLASS="0" DBPOSITION="0000"/>
  <dd03p TABNAME="ZEXCEL_S_STYLE_FILL" FIELDNAME="BGCOLOR" DDLANGUAGE="E" POSITION="0004" ROLLNAME="ZEXCEL_STYLE_COLOR_ARGB" ADMINFIELD="0" INTTYPE="C" INTLEN="000016" DOMNAME="CHAR8" ROUTPUTLEN="000000" HEADLEN="10" SCRLEN1="10" SCRLEN2="15" SCRLEN3="20" DTELMASTER="E" DATATYPE="CHAR" LENG="000008" OUTPUTLEN="000008" DECIMALS="000000" MASK="  CHARE" MASKLEN="0000" DDTEXT="Color ARGB" REPTEXT="Color ARGB" SCRTEXT_S="Color ARGB" SCRTEXT_M="Color ARGB" SCRTEXT_L="Color ARGB" DOMNAME3L="CHAR8" DEPTH="00" COMPTYPE="E" EXCLASS="0" DBPOSITION="0000"/>
 </TABL>
 <TABL TABNAME="ZEXCEL_S_STYLE_BORDER" DDLANGUAGE="E" TABCLASS="INTTAB" DATMIN="0000000000" DATMAX="0000000000" DATAVG="0000000000" DDTEXT="Border Style" AUTHCLASS="00" AS4USER="FEMIA" AS4DATE="20100706" AS4TIME="120557" PROZPUFF="000" EXCLASS="1">
  <dd09l AS4VERS="0000" SCHFELDANZ="000" AS4DATE="00000000" AS4TIME="000000"/>
  <dd03p TABNAME="ZEXCEL_S_STYLE_BORDER" FIELDNAME="LEFT_COLOR" DDLANGUAGE="E" POSITION="0001" ROLLNAME="ZEXCEL_STYLE_COLOR_ARGB" ADMINFIELD="0" INTTYPE="C" INTLEN="000016" DOMNAME="CHAR8" ROUTPUTLEN="000000" HEADLEN="10" SCRLEN1="10" SCRLEN2="15" SCRLEN3="20" DTELMASTER="E" DATATYPE="CHAR" LENG="000008" OUTPUTLEN="000008" DECIMALS="000000" MASK="  CHARE" MASKLEN="0000" DDTEXT="Color ARGB" REPTEXT="Color ARGB" SCRTEXT_S="Color ARGB" SCRTEXT_M="Color ARGB" SCRTEXT_L="Color ARGB" DOMNAME3L="CHAR8" DEPTH="00" COMPTYPE="E" EXCLASS="0" DBPOSITION="0000"/>
  <dd03p TABNAME="ZEXCEL_S_STYLE_BORDER" FIELDNAME="LEFT_STYLE" DDLANGUAGE="E" POSITION="0002" ROLLNAME="ZEXCEL_BORDER" ADMINFIELD="0" INTTYPE="C" INTLEN="000040" DOMNAME="CHAR20" ROUTPUTLEN="000000" HEADLEN="12" SCRLEN1="06" SCRLEN2="12" SCRLEN3="12" DTELMASTER="E" DATATYPE="CHAR" LENG="000020" OUTPUTLEN="000020" DECIMALS="000000" MASK="  CHARE" MASKLEN="0000" DDTEXT="Border style" REPTEXT="Border style" SCRTEXT_S="Border" SCRTEXT_M="Border style" SCRTEXT_L="Border style" DOMNAME3L="CHAR20" DEPTH="00" COMPTYPE="E" EXCLASS="0" DBPOSITION="0000"/>
  <dd03p TABNAME="ZEXCEL_S_STYLE_BORDER" FIELDNAME="RIGHT_COLOR" DDLANGUAGE="E" POSITION="0003" ROLLNAME="ZEXCEL_STYLE_COLOR_ARGB" ADMINFIELD="0" INTTYPE="C" INTLEN="000016" DOMNAME="CHAR8" ROUTPUTLEN="000000" HEADLEN="10" SCRLEN1="10" SCRLEN2="15" SCRLEN3="20" DTELMASTER="E" DATATYPE="CHAR" LENG="000008" OUTPUTLEN="000008" DECIMALS="000000" MASK="  CHARE" MASKLEN="0000" DDTEXT="Color ARGB" REPTEXT="Color ARGB" SCRTEXT_S="Color ARGB" SCRTEXT_M="Color ARGB" SCRTEXT_L="Color ARGB" DOMNAME3L="CHAR8" DEPTH="00" COMPTYPE="E" EXCLASS="0" DBPOSITION="0000"/>
  <dd03p TABNAME="ZEXCEL_S_STYLE_BORDER" FIELDNAME="RIGHT_STYLE" DDLANGUAGE="E" POSITION="0004" ROLLNAME="ZEXCEL_BORDER" ADMINFIELD="0" INTTYPE="C" INTLEN="000040" DOMNAME="CHAR20" ROUTPUTLEN="000000" HEADLEN="12" SCRLEN1="06" SCRLEN2="12" SCRLEN3="12" DTELMASTER="E" DATATYPE="CHAR" LENG="000020" OUTPUTLEN="000020" DECIMALS="000000" MASK="  CHARE" MASKLEN="0000" DDTEXT="Border style" REPTEXT="Border style" SCRTEXT_S="Border" SCRTEXT_M="Border style" SCRTEXT_L="Border style" DOMNAME3L="CHAR20" DEPTH="00" COMPTYPE="E" EXCLASS="0" DBPOSITION="0000"/>
  <dd03p TABNAME="ZEXCEL_S_STYLE_BORDER" FIELDNAME="TOP_COLOR" DDLANGUAGE="E" POSITION="0005" ROLLNAME="ZEXCEL_STYLE_COLOR_ARGB" ADMINFIELD="0" INTTYPE="C" INTLEN="000016" DOMNAME="CHAR8" ROUTPUTLEN="000000" HEADLEN="10" SCRLEN1="10" SCRLEN2="15" SCRLEN3="20" DTELMASTER="E" DATATYPE="CHAR" LENG="000008" OUTPUTLEN="000008" DECIMALS="000000" MASK="  CHARE" MASKLEN="0000" DDTEXT="Color ARGB" REPTEXT="Color ARGB" SCRTEXT_S="Color ARGB" SCRTEXT_M="Color ARGB" SCRTEXT_L="Color ARGB" DOMNAME3L="CHAR8" DEPTH="00" COMPTYPE="E" EXCLASS="0" DBPOSITION="0000"/>
  <dd03p TABNAME="ZEXCEL_S_STYLE_BORDER" FIELDNAME="TOP_STYLE" DDLANGUAGE="E" POSITION="0006" ROLLNAME="ZEXCEL_BORDER" ADMINFIELD="0" INTTYPE="C" INTLEN="000040" DOMNAME="CHAR20" ROUTPUTLEN="000000" HEADLEN="12" SCRLEN1="06" SCRLEN2="12" SCRLEN3="12" DTELMASTER="E" DATATYPE="CHAR" LENG="000020" OUTPUTLEN="000020" DECIMALS="000000" MASK="  CHARE" MASKLEN="0000" DDTEXT="Border style" REPTEXT="Border style" SCRTEXT_S="Border" SCRTEXT_M="Border style" SCRTEXT_L="Border style" DOMNAME3L="CHAR20" DEPTH="00" COMPTYPE="E" EXCLASS="0" DBPOSITION="0000"/>
  <dd03p TABNAME="ZEXCEL_S_STYLE_BORDER" FIELDNAME="BOTTOM_COLOR" DDLANGUAGE="E" POSITION="0007" ROLLNAME="ZEXCEL_STYLE_COLOR_ARGB" ADMINFIELD="0" INTTYPE="C" INTLEN="000016" DOMNAME="CHAR8" ROUTPUTLEN="000000" HEADLEN="10" SCRLEN1="10" SCRLEN2="15" SCRLEN3="20" DTELMASTER="E" DATATYPE="CHAR" LENG="000008" OUTPUTLEN="000008" DECIMALS="000000" MASK="  CHARE" MASKLEN="0000" DDTEXT="Color ARGB" REPTEXT="Color ARGB" SCRTEXT_S="Color ARGB" SCRTEXT_M="Color ARGB" SCRTEXT_L="Color ARGB" DOMNAME3L="CHAR8" DEPTH="00" COMPTYPE="E" EXCLASS="0" DBPOSITION="0000"/>
  <dd03p TABNAME="ZEXCEL_S_STYLE_BORDER" FIELDNAME="BOTTOM_STYLE" DDLANGUAGE="E" POSITION="0008" ROLLNAME="ZEXCEL_BORDER" ADMINFIELD="0" INTTYPE="C" INTLEN="000040" DOMNAME="CHAR20" ROUTPUTLEN="000000" HEADLEN="12" SCRLEN1="06" SCRLEN2="12" SCRLEN3="12" DTELMASTER="E" DATATYPE="CHAR" LENG="000020" OUTPUTLEN="000020" DECIMALS="000000" MASK="  CHARE" MASKLEN="0000" DDTEXT="Border style" REPTEXT="Border style" SCRTEXT_S="Border" SCRTEXT_M="Border style" SCRTEXT_L="Border style" DOMNAME3L="CHAR20" DEPTH="00" COMPTYPE="E" EXCLASS="0" DBPOSITION="0000"/>
  <dd03p TABNAME="ZEXCEL_S_STYLE_BORDER" FIELDNAME="DIAGONAL_COLOR" DDLANGUAGE="E" POSITION="0009" ROLLNAME="ZEXCEL_STYLE_COLOR_ARGB" ADMINFIELD="0" INTTYPE="C" INTLEN="000016" DOMNAME="CHAR8" ROUTPUTLEN="000000" HEADLEN="10" SCRLEN1="10" SCRLEN2="15" SCRLEN3="20" DTELMASTER="E" DATATYPE="CHAR" LENG="000008" OUTPUTLEN="000008" DECIMALS="000000" MASK="  CHARE" MASKLEN="0000" DDTEXT="Color ARGB" REPTEXT="Color ARGB" SCRTEXT_S="Color ARGB" SCRTEXT_M="Color ARGB" SCRTEXT_L="Color ARGB" DOMNAME3L="CHAR8" DEPTH="00" COMPTYPE="E" EXCLASS="0" DBPOSITION="0000"/>
  <dd03p TABNAME="ZEXCEL_S_STYLE_BORDER" FIELDNAME="DIAGONAL_STYLE" DDLANGUAGE="E" POSITION="0010" ROLLNAME="ZEXCEL_BORDER" ADMINFIELD="0" INTTYPE="C" INTLEN="000040" DOMNAME="CHAR20" ROUTPUTLEN="000000" HEADLEN="12" SCRLEN1="06" SCRLEN2="12" SCRLEN3="12" DTELMASTER="E" DATATYPE="CHAR" LENG="000020" OUTPUTLEN="000020" DECIMALS="000000" MASK="  CHARE" MASKLEN="0000" DDTEXT="Border style" REPTEXT="Border style" SCRTEXT_S="Border" SCRTEXT_M="Border style" SCRTEXT_L="Border style" DOMNAME3L="CHAR20" DEPTH="00" COMPTYPE="E" EXCLASS="0" DBPOSITION="0000"/>
 </TABL>
 <TABL TABNAME="ZEXCEL_S_STYLES_MAPPING" DDLANGUAGE="E" TABCLASS="INTTAB" DATMIN="0000000000" DATMAX="0000000000" DATAVG="0000000000" DDTEXT="Style mapping" AUTHCLASS="00" AS4USER="FEMIA" AS4DATE="20100709" AS4TIME="174300" PROZPUFF="000" EXCLASS="1">
  <dd09l AS4VERS="0000" SCHFELDANZ="000" AS4DATE="00000000" AS4TIME="000000"/>
  <dd03p TABNAME="ZEXCEL_S_STYLES_MAPPING" FIELDNAME="GUID" DDLANGUAGE="E" POSITION="0001" ROLLNAME="GUID_16" ADMINFIELD="0" INTTYPE="X" INTLEN="000016" DOMNAME="SYSUUID" ROUTPUTLEN="000000" HEADLEN="07" SCRLEN1="10" SCRLEN2="15" SCRLEN3="20" DTELMASTER="D" DATATYPE="RAW" LENG="000016" OUTPUTLEN="000032" DECIMALS="000000" MASK="  RAW E" MASKLEN="0000" DDTEXT="GUID in &apos;RAW&apos; format" REPTEXT="GUID 16" SCRTEXT_S="GUID 16" SCRTEXT_M="GUID 16" SCRTEXT_L="GUID 16" DOMNAME3L="SYSUUID" DEPTH="00" COMPTYPE="E" EXCLASS="0" DBPOSITION="0000"/>
  <dd03p TABNAME="ZEXCEL_S_STYLES_MAPPING" FIELDNAME="STYLE" DDLANGUAGE="E" POSITION="0002" ROLLNAME="INT1" ADMINFIELD="0" INTTYPE="X" INTLEN="000001" DOMNAME="INT1" ROUTPUTLEN="000000" HEADLEN="00" SCRLEN1="04" SCRLEN2="04" SCRLEN3="04" DTELMASTER="D" DATATYPE="INT1" LENG="000003" OUTPUTLEN="000003" DECIMALS="000000" MASK="  INT1E" MASKLEN="0000" DDTEXT="Byte Value" SCRTEXT_S="Byte" SCRTEXT_M="Byte" SCRTEXT_L="Byte" DOMNAME3L="INT1" DEPTH="00" COMPTYPE="E" EXCLASS="0" DBPOSITION="0000"/>
  <dd03p TABNAME="ZEXCEL_S_STYLES_MAPPING" FIELDNAME="CELL_FORMAT" DDLANGUAGE="E" POSITION="0003" ROLLNAME="CHAR1" ADMINFIELD="0" INTTYPE="C" INTLEN="000002" DOMNAME="CHAR1" ROUTPUTLEN="000000" HEADLEN="00" SCRLEN1="00" SCRLEN2="00" SCRLEN3="00" DTELMASTER="D" DATATYPE="CHAR" LENG="000001" OUTPUTLEN="000001" DECIMALS="000000" MASK="  CHARE" MASKLEN="0000" DDTEXT="Single-Character Indicator" DOMNAME3L="CHAR1" DEPTH="00" COMPTYPE="E" EXCLASS="0" DBPOSITION="0000"/>
 </TABL>
 <TABL TABNAME="ZEXCEL_S_SHARED_STRING" DDLANGUAGE="E" TABCLASS="INTTAB" DATMIN="0000000000" DATMAX="0000000000" DATAVG="0000000000" DDTEXT="Shared strings" AUTHCLASS="00" AS4USER="FEMIA" AS4DATE="20100702" AS4TIME="163328" PROZPUFF="000" EXCLASS="1">
  <dd09l AS4VERS="0000" SCHFELDANZ="000" AS4DATE="00000000" AS4TIME="000000"/>
  <dd03p TABNAME="ZEXCEL_S_SHARED_STRING" FIELDNAME="STRING_NO" 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"/>
  <dd03p TABNAME="ZEXCEL_S_SHARED_STRING" FIELDNAME="STRING_VALUE" DDLANGUAGE="E" POSITION="0002" ROLLNAME="ZEXCEL_CELL_VALUE" ADMINFIELD="0" INTTYPE="g" INTLEN="000008" DOMNAME="STRING" ROUTPUTLEN="000000" HEADLEN="10" SCRLEN1="10" SCRLEN2="15" SCRLEN3="20" DTELMASTER="E" DATATYPE="STRG" LENG="000000" OUTPUTLEN="000000" DECIMALS="000000" MASK="  STRGE" MASKLEN="0000" DDTEXT="Cell Value" REPTEXT="Cell Value" SCRTEXT_S="Value" SCRTEXT_M="Cell Value" SCRTEXT_L="Cell Value" DOMNAME3L="STRING" DEPTH="00" COMPTYPE="E" EXCLASS="0" DBPOSITION="0000"/>
 </TABL>
 <TABL TABNAME="ZEXCEL_S_CELL_DATA" DDLANGUAGE="E" TABCLASS="INTTAB" DATMIN="0000000000" DATMAX="0000000000" DATAVG="0000000000" DDTEXT="Cell data" AUTHCLASS="00" AS4USER="FEMIA" AS4DATE="20100710" AS4TIME="094200" PROZPUFF="000" EXCLASS="1">
  <dd09l AS4VERS="0000" SCHFELDANZ="000" AS4DATE="00000000" AS4TIME="000000"/>
  <dd03p TABNAME="ZEXCEL_S_CELL_DATA" FIELDNAME="CELL_ROW" DDLANGUAGE="E" POSITION="0001" ROLLNAME="ZEXCEL_CELL_ROW" ADMINFIELD="0" INTTYPE="X" INTLEN="000004" DOMNAME="INT4" ROUTPUTLEN="000000" HEADLEN="08" SCRLEN1="08" SCRLEN2="08" SCRLEN3="08" DTELMASTER="E" DATATYPE="INT4" LENG="000010" OUTPUTLEN="000010" DECIMALS="000000" SIGNFLAG="X" MASK="  INT4E" MASKLEN="0000" DDTEXT="Cell Row" REPTEXT="Cell Row" SCRTEXT_S="Row" SCRTEXT_M="Cell Row" SCRTEXT_L="Cell Row" DOMNAME3L="INT4" DEPTH="00" COMPTYPE="E" EXCLASS="0" DBPOSITION="0000"/>
  <dd03p TABNAME="ZEXCEL_S_CELL_DATA" FIELDNAME="CELL_COLUMN" DDLANGUAGE="E" POSITION="0002" ROLLNAME="ZEXCEL_CELL_COLUMN" ADMINFIELD="0" INTTYPE="X" INTLEN="000004" DOMNAME="INT4" ROUTPUTLEN="000000" HEADLEN="11" SCRLEN1="06" SCRLEN2="11" SCRLEN3="11" DTELMASTER="E" DATATYPE="INT4" LENG="000010" OUTPUTLEN="000010" DECIMALS="000000" SIGNFLAG="X" MASK="  INT4E" MASKLEN="0000" DDTEXT="Cell Column" REPTEXT="Cell Column" SCRTEXT_S="Column" SCRTEXT_M="Cell Column" SCRTEXT_L="Cell Column" DOMNAME3L="INT4" DEPTH="00" COMPTYPE="E" EXCLASS="0" DBPOSITION="0000"/>
  <dd03p TABNAME="ZEXCEL_S_CELL_DATA" FIELDNAME="CELL_VALUE" DDLANGUAGE="E" POSITION="0003" ROLLNAME="ZEXCEL_CELL_VALUE" ADMINFIELD="0" INTTYPE="g" INTLEN="000008" DOMNAME="STRING" ROUTPUTLEN="000000" HEADLEN="10" SCRLEN1="10" SCRLEN2="15" SCRLEN3="20" DTELMASTER="E" DATATYPE="STRG" LENG="000000" OUTPUTLEN="000000" DECIMALS="000000" MASK="  STRGE" MASKLEN="0000" DDTEXT="Cell Value" REPTEXT="Cell Value" SCRTEXT_S="Value" SCRTEXT_M="Cell Value" SCRTEXT_L="Cell Value" DOMNAME3L="STRING" DEPTH="00" COMPTYPE="E" EXCLASS="0" DBPOSITION="0000"/>
  <dd03p TABNAME="ZEXCEL_S_CELL_DATA" FIELDNAME="CELL_FORMULA" DDLANGUAGE="E" POSITION="0004" ROLLNAME="ZEXCEL_CELL_FORMULA" ADMINFIELD="0" INTTYPE="g" INTLEN="000008" DOMNAME="STRING" ROUTPUTLEN="000000" HEADLEN="12" SCRLEN1="10" SCRLEN2="15" SCRLEN3="20" DTELMASTER="E" DATATYPE="STRG" LENG="000000" OUTPUTLEN="000000" DECIMALS="000000" MASK="  STRGE" MASKLEN="0000" DDTEXT="Cell Formula" REPTEXT="Cell Formula" SCRTEXT_S="Formula" SCRTEXT_M="Cell Formula" SCRTEXT_L="Cell Formula" DOMNAME3L="STRING" DEPTH="00" COMPTYPE="E" EXCLASS="0" DBPOSITION="0000"/>
  <dd03p TABNAME="ZEXCEL_S_CELL_DATA" FIELDNAME="CELL_COORDS" DDLANGUAGE="E" POSITION="0005" ROLLNAME="ZEXCEL_CELL_COORDS" ADMINFIELD="0" INTTYPE="g" INTLEN="000008" DOMNAME="STRING" ROUTPUTLEN="000000" HEADLEN="25" SCRLEN1="10" SCRLEN2="16" SCRLEN3="25" DTELMASTER="E" DATATYPE="STRG" LENG="000000" OUTPUTLEN="000000" DECIMALS="000000" MASK="  STRGE" MASKLEN="0000" DDTEXT="Cell coordinates as Excel" REPTEXT="Cell coordinates as Excel" SCRTEXT_S="Cell coord" SCRTEXT_M="Cell coordinates" SCRTEXT_L="Cell coordinates as Excel" DOMNAME3L="STRING" DEPTH="00" COMPTYPE="E" EXCLASS="0" DBPOSITION="0000"/>
  <dd03p TABNAME="ZEXCEL_S_CELL_DATA" FIELDNAME="CELL_STYLE" DDLANGUAGE="E" POSITION="0006" ROLLNAME="ZEXCEL_CELL_STYLE" ADMINFIELD="0" INTTYPE="X" INTLEN="000016" DOMNAME="GUID16" 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="GUID16" DEPTH="00" COMPTYPE="E" EXCLASS="0" DBPOSITION="0000"/>
 </TABL>
 <TABL TABNAME="ZEXCEL_S_CELLXFS" DDLANGUAGE="E" TABCLASS="INTTAB" DATMIN="0000000000" DATMAX="0000000000" DATAVG="0000000000" DDTEXT="Cell style" AUTHCLASS="00" AS4USER="FEMIA" AS4DATE="20100708" AS4TIME="234104" PROZPUFF="000" EXCLASS="1">
  <dd09l AS4VERS="0000" SCHFELDANZ="000" AS4DATE="00000000" AS4TIME="000000"/>
  <dd03p TABNAME="ZEXCEL_S_CELLXFS" FIELDNAME="NUMFMTID" DDLANGUAGE="E" POSITION="0001" ROLLNAME="INT1" ADMINFIELD="0" INTTYPE="X" INTLEN="000001" DOMNAME="INT1" ROUTPUTLEN="000000" HEADLEN="00" SCRLEN1="04" SCRLEN2="04" SCRLEN3="04" DTELMASTER="D" DATATYPE="INT1" LENG="000003" OUTPUTLEN="000003" DECIMALS="000000" MASK="  INT1E" MASKLEN="0000" DDTEXT="Byte Value" SCRTEXT_S="Byte" SCRTEXT_M="Byte" SCRTEXT_L="Byte" DOMNAME3L="INT1" DEPTH="00" COMPTYPE="E" EXCLASS="0" DBPOSITION="0000"/>
  <dd03p TABNAME="ZEXCEL_S_CELLXFS" FIELDNAME="FONTID" DDLANGUAGE="E" POSITION="0002" ROLLNAME="INT1" ADMINFIELD="0" INTTYPE="X" INTLEN="000001" DOMNAME="INT1" ROUTPUTLEN="000000" HEADLEN="00" SCRLEN1="04" SCRLEN2="04" SCRLEN3="04" DTELMASTER="D" DATATYPE="INT1" LENG="000003" OUTPUTLEN="000003" DECIMALS="000000" MASK="  INT1E" MASKLEN="0000" DDTEXT="Byte Value" SCRTEXT_S="Byte" SCRTEXT_M="Byte" SCRTEXT_L="Byte" DOMNAME3L="INT1" DEPTH="00" COMPTYPE="E" EXCLASS="0" DBPOSITION="0000"/>
  <dd03p TABNAME="ZEXCEL_S_CELLXFS" FIELDNAME="FILLID" DDLANGUAGE="E" POSITION="0003" ROLLNAME="INT1" ADMINFIELD="0" INTTYPE="X" INTLEN="000001" DOMNAME="INT1" ROUTPUTLEN="000000" HEADLEN="00" SCRLEN1="04" SCRLEN2="04" SCRLEN3="04" DTELMASTER="D" DATATYPE="INT1" LENG="000003" OUTPUTLEN="000003" DECIMALS="000000" MASK="  INT1E" MASKLEN="0000" DDTEXT="Byte Value" SCRTEXT_S="Byte" SCRTEXT_M="Byte" SCRTEXT_L="Byte" DOMNAME3L="INT1" DEPTH="00" COMPTYPE="E" EXCLASS="0" DBPOSITION="0000"/>
  <dd03p TABNAME="ZEXCEL_S_CELLXFS" FIELDNAME="BORDERID" DDLANGUAGE="E" POSITION="0004" ROLLNAME="INT1" ADMINFIELD="0" INTTYPE="X" INTLEN="000001" DOMNAME="INT1" ROUTPUTLEN="000000" HEADLEN="00" SCRLEN1="04" SCRLEN2="04" SCRLEN3="04" DTELMASTER="D" DATATYPE="INT1" LENG="000003" OUTPUTLEN="000003" DECIMALS="000000" MASK="  INT1E" MASKLEN="0000" DDTEXT="Byte Value" SCRTEXT_S="Byte" SCRTEXT_M="Byte" SCRTEXT_L="Byte" DOMNAME3L="INT1" DEPTH="00" COMPTYPE="E" EXCLASS="0" DBPOSITION="0000"/>
  <dd03p TABNAME="ZEXCEL_S_CELLXFS" FIELDNAME="XFID" DDLANGUAGE="E" POSITION="0005" ROLLNAME="INT1" ADMINFIELD="0" INTTYPE="X" INTLEN="000001" DOMNAME="INT1" ROUTPUTLEN="000000" HEADLEN="00" SCRLEN1="04" SCRLEN2="04" SCRLEN3="04" DTELMASTER="D" DATATYPE="INT1" LENG="000003" OUTPUTLEN="000003" DECIMALS="000000" MASK="  INT1E" MASKLEN="0000" DDTEXT="Byte Value" SCRTEXT_S="Byte" SCRTEXT_M="Byte" SCRTEXT_L="Byte" DOMNAME3L="INT1" DEPTH="00" COMPTYPE="E" EXCLASS="0" DBPOSITION="0000"/>
  <dd03p TABNAME="ZEXCEL_S_CELLXFS" FIELDNAME="APPLYNUMBERFORMAT" DDLANGUAGE="E" POSITION="0006" ROLLNAME="INT1" ADMINFIELD="0" INTTYPE="X" INTLEN="000001" DOMNAME="INT1" ROUTPUTLEN="000000" HEADLEN="00" SCRLEN1="04" SCRLEN2="04" SCRLEN3="04" DTELMASTER="D" DATATYPE="INT1" LENG="000003" OUTPUTLEN="000003" DECIMALS="000000" MASK="  INT1E" MASKLEN="0000" DDTEXT="Byte Value" SCRTEXT_S="Byte" SCRTEXT_M="Byte" SCRTEXT_L="Byte" DOMNAME3L="INT1" DEPTH="00" COMPTYPE="E" EXCLASS="0" DBPOSITION="0000"/>
  <dd03p TABNAME="ZEXCEL_S_CELLXFS" FIELDNAME="APPLYFONT" DDLANGUAGE="E" POSITION="0007" ROLLNAME="INT1" ADMINFIELD="0" INTTYPE="X" INTLEN="000001" DOMNAME="INT1" ROUTPUTLEN="000000" HEADLEN="00" SCRLEN1="04" SCRLEN2="04" SCRLEN3="04" DTELMASTER="D" DATATYPE="INT1" LENG="000003" OUTPUTLEN="000003" DECIMALS="000000" MASK="  INT1E" MASKLEN="0000" DDTEXT="Byte Value" SCRTEXT_S="Byte" SCRTEXT_M="Byte" SCRTEXT_L="Byte" DOMNAME3L="INT1" DEPTH="00" COMPTYPE="E" EXCLASS="0" DBPOSITION="0000"/>
  <dd03p TABNAME="ZEXCEL_S_CELLXFS" FIELDNAME="APPLYFILL" DDLANGUAGE="E" POSITION="0008" ROLLNAME="INT1" ADMINFIELD="0" INTTYPE="X" INTLEN="000001" DOMNAME="INT1" ROUTPUTLEN="000000" HEADLEN="00" SCRLEN1="04" SCRLEN2="04" SCRLEN3="04" DTELMASTER="D" DATATYPE="INT1" LENG="000003" OUTPUTLEN="000003" DECIMALS="000000" MASK="  INT1E" MASKLEN="0000" DDTEXT="Byte Value" SCRTEXT_S="Byte" SCRTEXT_M="Byte" SCRTEXT_L="Byte" DOMNAME3L="INT1" DEPTH="00" COMPTYPE="E" EXCLASS="0" DBPOSITION="0000"/>
  <dd03p TABNAME="ZEXCEL_S_CELLXFS" FIELDNAME="APPLYBORDER" DDLANGUAGE="E" POSITION="0009" ROLLNAME="INT1" ADMINFIELD="0" INTTYPE="X" INTLEN="000001" DOMNAME="INT1" ROUTPUTLEN="000000" HEADLEN="00" SCRLEN1="04" SCRLEN2="04" SCRLEN3="04" DTELMASTER="D" DATATYPE="INT1" LENG="000003" OUTPUTLEN="000003" DECIMALS="000000" MASK="  INT1E" MASKLEN="0000" DDTEXT="Byte Value" SCRTEXT_S="Byte" SCRTEXT_M="Byte" SCRTEXT_L="Byte" DOMNAME3L="INT1" DEPTH="00" COMPTYPE="E" EXCLASS="0" DBPOSITION="0000"/>
 </TABL>
 <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" AS4USER="FEMIA" AS4DATE="20100705" AS4TIME="120344" DDTEXT="Table type for styles ZEXCEL_S_STYLE_FONT" TYPELEN="000618" CTLENG="000000" CTDECIMALS="000000" OCCURS="00000">
  <dd42v TYPENAME="ZEXCEL_T_STYLE_FONT" KEYFDPOS="0001" ROWTYPEPOS="0001" KEYFIELD="BOLD"/>
  <dd42v TYPENAME="ZEXCEL_T_STYLE_FONT" KEYFDPOS="0002" ROWTYPEPOS="0002" KEYFIELD="ITALIC"/>
  <dd42v TYPENAME="ZEXCEL_T_STYLE_FONT" KEYFDPOS="0003" ROWTYPEPOS="0003" KEYFIELD="UNDERLINE"/>
  <dd42v TYPENAME="ZEXCEL_T_STYLE_FONT" KEYFDPOS="0004" ROWTYPEPOS="0004" KEYFIELD="UNDERLINE_MODE"/>
  <dd42v TYPENAME="ZEXCEL_T_STYLE_FONT" KEYFDPOS="0005" ROWTYPEPOS="0005" KEYFIELD="STRIKETHROUGH"/>
  <dd42v TYPENAME="ZEXCEL_T_STYLE_FONT" KEYFDPOS="0006" ROWTYPEPOS="0006" KEYFIELD="SIZE"/>
  <dd42v TYPENAME="ZEXCEL_T_STYLE_FONT" KEYFDPOS="0007" ROWTYPEPOS="0007" KEYFIELD="COLOR"/>
  <dd42v TYPENAME="ZEXCEL_T_STYLE_FONT" KEYFDPOS="0008" ROWTYPEPOS="0008" KEYFIELD="NAME"/>
  <dd42v TYPENAME="ZEXCEL_T_STYLE_FONT" KEYFDPOS="0009" ROWTYPEPOS="0009" KEYFIELD="FAMILY"/>
  <dd42v TYPENAME="ZEXCEL_T_STYLE_FONT" KEYFDPOS="0010" ROWTYPEPOS="0010" KEYFIELD="SCHEME"/>
 </TTYP>
 <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" AS4USER="FEMIA" AS4DATE="20100705" AS4TIME="120624" DDTEXT="Cell Fills" TYPELEN="000080" 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="0004" KEYFIELD="BGCOLOR"/>
 </TTYP>
 <TTYP TYPENAME="ZEXCEL_T_STYLE_BORDER" DDLANGUAGE="E" ROWTYPE="ZEXCEL_S_STYLE_BORDER" ROWKIND="S" DATATYPE="STRU" LENG="000000" DECIMALS="000000" ACCESSMODE="T" KEYDEF="K" KEYKIND="N" KEYFDCOUNT="0010" AS4USER="FEMIA" AS4DATE="20100706" AS4TIME="120613" DDTEXT="Border Style" TYPELEN="000280" CTLENG="000000" CTDECIMALS="000000" OCCURS="00000">
  <dd42v TYPENAME="ZEXCEL_T_STYLE_BORDER" KEYFDPOS="0001" ROWTYPEPOS="0001" KEYFIELD="LEFT_COLOR"/>
  <dd42v TYPENAME="ZEXCEL_T_STYLE_BORDER" KEYFDPOS="0002" ROWTYPEPOS="0002" KEYFIELD="LEFT_STYLE"/>
  <dd42v TYPENAME="ZEXCEL_T_STYLE_BORDER" KEYFDPOS="0003" ROWTYPEPOS="0003" KEYFIELD="RIGHT_COLOR"/>
  <dd42v TYPENAME="ZEXCEL_T_STYLE_BORDER" KEYFDPOS="0004" ROWTYPEPOS="0004" KEYFIELD="RIGHT_STYLE"/>
  <dd42v TYPENAME="ZEXCEL_T_STYLE_BORDER" KEYFDPOS="0005" ROWTYPEPOS="0005" KEYFIELD="TOP_COLOR"/>
  <dd42v TYPENAME="ZEXCEL_T_STYLE_BORDER" KEYFDPOS="0006" ROWTYPEPOS="0006" KEYFIELD="TOP_STYLE"/>
  <dd42v TYPENAME="ZEXCEL_T_STYLE_BORDER" KEYFDPOS="0007" ROWTYPEPOS="0007" KEYFIELD="BOTTOM_COLOR"/>
  <dd42v TYPENAME="ZEXCEL_T_STYLE_BORDER" KEYFDPOS="0008" ROWTYPEPOS="0008" KEYFIELD="BOTTOM_STYLE"/>
  <dd42v TYPENAME="ZEXCEL_T_STYLE_BORDER" KEYFDPOS="0009" ROWTYPEPOS="0009" KEYFIELD="DIAGONAL_COLOR"/>
  <dd42v TYPENAME="ZEXCEL_T_STYLE_BORDER" KEYFDPOS="0010" ROWTYPEPOS="0010" KEYFIELD="DIAGONAL_STYLE"/>
 </TTYP>
 <TTYP TYPENAME="ZEXCEL_T_STYLES_MAPPING" DDLANGUAGE="E" ROWTYPE="ZEXCEL_S_STYLES_MAPPING" ROWKIND="S" DATATYPE="STRU" LENG="000000" DECIMALS="000000" ACCESSMODE="T" KEYDEF="D" KEYKIND="N" KEYFDCOUNT="0000" AS4USER="FEMIA" AS4DATE="20100709" AS4TIME="174301" DDTEXT="Styles mapping" TYPELEN="000020" CTLENG="000000" CTDECIMALS="000000" OCCURS="00000"/>
 <TTYP TYPENAME="ZEXCEL_T_SHARED_STRING" DDLANGUAGE="E" ROWTYPE="ZEXCEL_S_SHARED_STRING" ROWKIND="S" DATATYPE="STRU" LENG="000000" DECIMALS="000000" ACCESSMODE="T" KEYDEF="D" KEYKIND="N" KEYFDCOUNT="0000" AS4USER="FEMIA" AS4DATE="20100702" AS4TIME="163328" DDTEXT="Shared Strings" TYPELEN="000012" CTLENG="000000" CTDECIMALS="000000" OCCURS="00000"/>
 <TTYP TYPENAME="ZEXCEL_T_CELL_DATA_UNSORTED" DDLANGUAGE="E" ROWTYPE="ZEXCEL_S_CELL_DATA" ROWKIND="S" DATATYPE="STRU" LENG="000000" DECIMALS="000000" ACCESSMODE="T" KEYDEF="D" KEYKIND="N" KEYFDCOUNT="0000" AS4USER="FEMIA" AS4DATE="20100710" AS4TIME="094202" DDTEXT="Excel worksheet content" TYPELEN="000048" CTLENG="000000" CTDECIMALS="000000" OCCURS="00000"/>
 <TTYP TYPENAME="ZEXCEL_T_CELL_DATA" DDLANGUAGE="E" ROWTYPE="ZEXCEL_S_CELL_DATA" ROWKIND="S" DATATYPE="STRU" LENG="000000" DECIMALS="000000" ACCESSMODE="T" KEYDEF="K" KEYKIND="N" KEYFDCOUNT="0002" AS4USER="FEMIA" AS4DATE="20100710" AS4TIME="094202" DDTEXT="Excel worksheet content" TYPELEN="000048" CTLENG="000000" CTDECIMALS="000000" OCCURS="00000">
  <dd42v TYPENAME="ZEXCEL_T_CELL_DATA" KEYFDPOS="0001" ROWTYPEPOS="0001" KEYFIELD="CELL_ROW"/>
  <dd42v TYPENAME="ZEXCEL_T_CELL_DATA" KEYFDPOS="0002" ROWTYPEPOS="0002" KEYFIELD="CELL_COLUMN"/>
 </TTYP>
 <TTYP TYPENAME="ZEXCEL_T_CELLXFS" DDLANGUAGE="E" ROWTYPE="ZEXCEL_S_CELLXFS" ROWKIND="S" DATATYPE="STRU" LENG="000000" DECIMALS="000000" ACCESSMODE="T" KEYDEF="K" KEYKIND="N" KEYFDCOUNT="0009" AS4USER="FEMIA" AS4DATE="20100708" AS4TIME="235645" DDTEXT="Cell styles" TYPELEN="000009" CTLENG="000000" CTDECIMALS="000000" OCCURS="00000">
  <dd42v TYPENAME="ZEXCEL_T_CELLXFS" KEYFDPOS="0001" ROWTYPEPOS="0001" KEYFIELD="NUMFMTID"/>
  <dd42v TYPENAME="ZEXCEL_T_CELLXFS" KEYFDPOS="0002" ROWTYPEPOS="0002" KEYFIELD="FONTID"/>
  <dd42v TYPENAME="ZEXCEL_T_CELLXFS" KEYFDPOS="0003" ROWTYPEPOS="0003" KEYFIELD="FILLID"/>
  <dd42v TYPENAME="ZEXCEL_T_CELLXFS" KEYFDPOS="0004" ROWTYPEPOS="0004" KEYFIELD="BORDERID"/>
  <dd42v TYPENAME="ZEXCEL_T_CELLXFS" KEYFDPOS="0005" ROWTYPEPOS="0005" KEYFIELD="XFID"/>
  <dd42v TYPENAME="ZEXCEL_T_CELLXFS" KEYFDPOS="0006" ROWTYPEPOS="0006" KEYFIELD="APPLYNUMBERFORMAT"/>
  <dd42v TYPENAME="ZEXCEL_T_CELLXFS" KEYFDPOS="0007" ROWTYPEPOS="0007" KEYFIELD="APPLYFONT"/>
  <dd42v TYPENAME="ZEXCEL_T_CELLXFS" KEYFDPOS="0008" ROWTYPEPOS="0008" KEYFIELD="APPLYFILL"/>
  <dd42v TYPENAME="ZEXCEL_T_CELLXFS" KEYFDPOS="0009" ROWTYPEPOS="0009" KEYFIELD="APPLYBORDER"/>
 </TTYP>
 <CLAS CLSNAME="ZCL_EXCEL_STYLE_ALIGNMENT" VERSION="1" LANGU="E" DESCRIPT="Font Style" UUID="E8BF274C8A345F2DE1000000C0A8FA19" CATEGORY="00" EXPOSURE="2" STATE="1" RELEASE="0" AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" CHGDANYON="00000000" CLSFINAL="X" CLSCCINCL="X" FIXPT="X" UNICODE="X" R3RELEASE="701" CLSBCCAT="00" DURATION_TYPE="0 " RISK_LEVEL="0 ">
  <publicSection>class ZCL_EXCEL_STYLE_ALIGNMENT definition
  public
  final
  create public .

*&quot;* public components of class ZCL_EXCEL_STYLE_ALIGNMENT
*&quot;* do not include other source files here!!!
public section.
  type-pools ABAP .

  data HORIZONTAL type ZEXCEL_ALIGNMENT .
  data VERTICAL type ZEXCEL_ALIGNMENT .
  data TEXTROTATION type ZEXCEL_TEXT_ROTATION value 0. &quot;#EC NOTEXT .
  data WRAPTEXT type FLAG .
  data SHRINKTOFIT type FLAG .
  data INDENT type ZEXCEL_INDENT value 0. &quot;#EC NOTEXT .

  methods CONSTRUCTOR .</publicSection>
  <protectedSection>*&quot;* protected components of class ZABAP_EXCEL_STYLE_FONT
*&quot;* do not include other source files here!!!
protected section.</protectedSection>
  <privateSection>*&quot;* private components of class ZCL_EXCEL_STYLE_ALIGNMENT
*&quot;* do not include other source files here!!!
private section.

  constants C_HORIZONTAL_GENERAL type ZEXCEL_ALIGNMENT value &apos;general&apos;. &quot;#EC NOTEXT
  constants C_HORIZONTAL_LEFT type ZEXCEL_ALIGNMENT value &apos;left&apos;. &quot;#EC NOTEXT
  constants C_HORIZONTAL_RIGHT type ZEXCEL_ALIGNMENT value &apos;right&apos;. &quot;#EC NOTEXT
  constants C_HORIZONTAL_CENTER type ZEXCEL_ALIGNMENT value &apos;center&apos;. &quot;#EC NOTEXT
  constants C_HORIZONTAL_CENTER_CONTINUOUS type ZEXCEL_ALIGNMENT value &apos;centerContinuous&apos;. &quot;#EC NOTEXT
  constants C_HORIZONTAL_JUSTIFY type ZEXCEL_ALIGNMENT value &apos;justify&apos;. &quot;#EC NOTEXT
  constants C_VERTICAL_BOTTOM type ZEXCEL_ALIGNMENT value &apos;bottom&apos;. &quot;#EC NOTEXT
  constants C_VERTICAL_TOP type ZEXCEL_ALIGNMENT value &apos;top&apos;. &quot;#EC NOTEXT
  constants C_VERTICAL_CENTER type ZEXCEL_ALIGNMENT value &apos;center&apos;. &quot;#EC NOTEXT
  constants C_VERTICAL_JUSTIFY type ZEXCEL_ALIGNMENT value &apos;justify&apos;. &quot;#EC NOTEXT</privateSection>
  <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_STYLE_ALIGNMENT" TYPEGROUP="ABAP" VERSION="1" TPUTYPE="0" EXPLICIT="X"/>
  <forwardDeclaration>ABAP</forwardDeclaration>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_ALIGNMENT" CMPNAME="C_HORIZONTAL_CENTER" VERSION="1" LANGU="E" DESCRIPT="Alignment" EXPOSURE="0" STATE="1" EDITORDER="4 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" ATTDECLTYP="2" ATTVALUE="&apos;center&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_ALIGNMENT" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_ALIGNMENT" CMPNAME="C_HORIZONTAL_CENTER_CONTINUOUS" VERSION="1" LANGU="E" DESCRIPT="Alignment" EXPOSURE="0" STATE="1" EDITORDER="5 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" ATTDECLTYP="2" ATTVALUE="&apos;centerContinuous&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_ALIGNMENT" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_ALIGNMENT" CMPNAME="C_HORIZONTAL_GENERAL" VERSION="1" LANGU="E" DESCRIPT="Alignment" EXPOSURE="0" STATE="1" EDITORDER="1 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" ATTDECLTYP="2" ATTVALUE="&apos;general&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_ALIGNMENT" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_ALIGNMENT" CMPNAME="C_HORIZONTAL_JUSTIFY" VERSION="1" LANGU="E" DESCRIPT="Alignment" EXPOSURE="0" STATE="1" EDITORDER="6 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" ATTDECLTYP="2" ATTVALUE="&apos;justify&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_ALIGNMENT" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_ALIGNMENT" CMPNAME="C_HORIZONTAL_LEFT" VERSION="1" LANGU="E" DESCRIPT="Alignment" EXPOSURE="0" STATE="1" EDITORDER="2 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" ATTDECLTYP="2" ATTVALUE="&apos;left&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_ALIGNMENT" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_ALIGNMENT" CMPNAME="C_HORIZONTAL_RIGHT" VERSION="1" LANGU="E" DESCRIPT="Alignment" EXPOSURE="0" STATE="1" EDITORDER="3 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" ATTDECLTYP="2" ATTVALUE="&apos;right&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_ALIGNMENT" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_ALIGNMENT" CMPNAME="C_VERTICAL_BOTTOM" VERSION="1" LANGU="E" DESCRIPT="Alignment" EXPOSURE="0" STATE="1" EDITORDER="7 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" ATTDECLTYP="2" ATTVALUE="&apos;bottom&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_ALIGNMENT" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_ALIGNMENT" CMPNAME="C_VERTICAL_CENTER" VERSION="1" LANGU="E" DESCRIPT="Alignment" EXPOSURE="0" STATE="1" EDITORDER="9 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" ATTDECLTYP="2" ATTVALUE="&apos;center&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_ALIGNMENT" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_ALIGNMENT" CMPNAME="C_VERTICAL_JUSTIFY" VERSION="1" LANGU="E" DESCRIPT="Alignment" EXPOSURE="0" STATE="1" EDITORDER="10 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" ATTDECLTYP="2" ATTVALUE="&apos;justify&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_ALIGNMENT" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_ALIGNMENT" CMPNAME="C_VERTICAL_TOP" VERSION="1" LANGU="E" DESCRIPT="Alignment" EXPOSURE="0" STATE="1" EDITORDER="8 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" ATTDECLTYP="2" ATTVALUE="&apos;top&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_ALIGNMENT" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_ALIGNMENT" CMPNAME="HORIZONTAL" VERSION="1" LANGU="E" DESCRIPT="Alignment" EXPOSURE="2" STATE="1" EDITORDER="11 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_ALIGNMENT" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_ALIGNMENT" CMPNAME="INDENT" VERSION="1" LANGU="E" DESCRIPT="Indent" EXPOSURE="2" STATE="1" EDITORDER="16 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" ATTDECLTYP="0" ATTVALUE="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_INDENT" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_ALIGNMENT" CMPNAME="SHRINKTOFIT" VERSION="1" LANGU="E" DESCRIPT="General Flag" EXPOSURE="2" STATE="1" EDITORDER="15 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="FLAG" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_ALIGNMENT" CMPNAME="TEXTROTATION" VERSION="1" LANGU="E" DESCRIPT="Text Rotation" EXPOSURE="2" STATE="1" EDITORDER="13 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100628" ATTDECLTYP="0" ATTVALUE="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_TEXT_ROTATION" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_ALIGNMENT" CMPNAME="VERTICAL" VERSION="1" LANGU="E" DESCRIPT="Alignment" EXPOSURE="2" STATE="1" EDITORDER="12 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_ALIGNMENT" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_ALIGNMENT" CMPNAME="WRAPTEXT" VERSION="1" LANGU="E" DESCRIPT="General Flag" EXPOSURE="2" STATE="1" EDITORDER="14 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="FLAG" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <method CLSNAME="ZCL_EXCEL_STYLE_ALIGNMENT" CMPNAME="CONSTRUCTOR" VERSION="1" LANGU="E" DESCRIPT="CONSTRUCTOR" EXPOSURE="2" STATE="1" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" MTDTYPE="2" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <source>METHOD constructor.
  horizontal  = me-&gt;c_horizontal_general.
  vertical    = me-&gt;c_vertical_bottom.
  wrapText    = abap_false.
  shrinkToFit = abap_false.
ENDMETHOD.</source>
  </method>
 </CLAS>
 <CLAS CLSNAME="ZCL_EXCEL_STYLE_BORDER" VERSION="1" LANGU="E" DESCRIPT="Border" UUID="85E3284C6D8F5D2DE1000000C0A8FA19" CATEGORY="00" EXPOSURE="2" STATE="1" RELEASE="0" AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100628" CHGDANYON="00000000" CLSFINAL="X" CLSCCINCL="X" FIXPT="X" UNICODE="X" R3RELEASE="701" CLSBCCAT="00" DURATION_TYPE="0 " RISK_LEVEL="0 ">
  <publicSection>class ZCL_EXCEL_STYLE_BORDER definition
  public
  final
  create public .

*&quot;* public components of class ZCL_EXCEL_STYLE_BORDER
*&quot;* do not include other source files here!!!
public section.

  data BORDER_STYLE type ZEXCEL_BORDER .
  data BORDER_COLOR type ZEXCEL_STYLE_COLOR_ARGB .
  class-data C_BORDER_NONE type ZEXCEL_BORDER value &apos;none&apos;. &quot;#EC NOTEXT .
  class-data C_BORDER_DASHDOT type ZEXCEL_BORDER value &apos;dashDot&apos;. &quot;#EC NOTEXT .
  class-data C_BORDER_DASHDOTDOT type ZEXCEL_BORDER value &apos;dashDotDot&apos;. &quot;#EC NOTEXT .
  class-data C_BORDER_DASHED type ZEXCEL_BORDER value &apos;dashed&apos;. &quot;#EC NOTEXT .
  class-data C_BORDER_DOTTED type ZEXCEL_BORDER value &apos;dotted&apos;. &quot;#EC NOTEXT .
  class-data C_BORDER_DOUBLE type ZEXCEL_BORDER value &apos;double&apos;. &quot;#EC NOTEXT .
  class-data C_BORDER_HAIR type ZEXCEL_BORDER value &apos;hair&apos;. &quot;#EC NOTEXT .
  class-data C_BORDER_MEDIUM type ZEXCEL_BORDER value &apos;medium&apos;. &quot;#EC NOTEXT .
  class-data C_BORDER_MEDIUMDASHDOT type ZEXCEL_BORDER value &apos;mediumDashDot&apos;. &quot;#EC NOTEXT .
  class-data C_BORDER_MEDIUMDASHDOTDOT type ZEXCEL_BORDER value &apos;mediumDashDotDot&apos;. &quot;#EC NOTEXT .
  class-data C_BORDER_MEDIUMDASHED type ZEXCEL_BORDER value &apos;mediumDashed&apos;. &quot;#EC NOTEXT .
  class-data C_BORDER_SLANTDASHDOT type ZEXCEL_BORDER value &apos;slantDashDot&apos;. &quot;#EC NOTEXT .
  class-data C_BORDER_THICK type ZEXCEL_BORDER value &apos;thick&apos;. &quot;#EC NOTEXT .
  class-data C_BORDER_THIN type ZEXCEL_BORDER value &apos;thin&apos;. &quot;#EC NOTEXT .

  methods CONSTRUCTOR .</publicSection>
  <protectedSection>*&quot;* protected components of class ZABAP_EXCEL_STYLE_FONT
*&quot;* do not include other source files here!!!
protected section.</protectedSection>
  <privateSection>*&quot;* private components of class ZCL_EXCEL_STYLE_BORDER
*&quot;* do not include other source files here!!!
private section.</privateSection>
  <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>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_BORDER" CMPNAME="BORDER_COLOR" VERSION="1" LANGU="E" DESCRIPT="Color ARGB" EXPOSURE="2" STATE="1" EDITORDER="2 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100705" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_STYLE_COLOR_ARGB" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_BORDER" CMPNAME="BORDER_STYLE" VERSION="1" LANGU="E" DESCRIPT="Border style" EXPOSURE="2" STATE="1" EDITORDER="1 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_BORDER" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_BORDER" CMPNAME="C_BORDER_DASHDOT" VERSION="1" LANGU="E" DESCRIPT="Border style" EXPOSURE="2" STATE="1" EDITORDER="4 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100706" ATTDECLTYP="1" ATTVALUE="&apos;dashDot&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_BORDER" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_BORDER" CMPNAME="C_BORDER_DASHDOTDOT" VERSION="1" LANGU="E" DESCRIPT="Border style" EXPOSURE="2" STATE="1" EDITORDER="5 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100706" ATTDECLTYP="1" ATTVALUE="&apos;dashDotDot&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_BORDER" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_BORDER" CMPNAME="C_BORDER_DASHED" VERSION="1" LANGU="E" DESCRIPT="Border style" EXPOSURE="2" STATE="1" EDITORDER="6 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100706" ATTDECLTYP="1" ATTVALUE="&apos;dashed&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_BORDER" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_BORDER" CMPNAME="C_BORDER_DOTTED" VERSION="1" LANGU="E" DESCRIPT="Border style" EXPOSURE="2" STATE="1" EDITORDER="7 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100706" ATTDECLTYP="1" ATTVALUE="&apos;dotted&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_BORDER" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_BORDER" CMPNAME="C_BORDER_DOUBLE" VERSION="1" LANGU="E" DESCRIPT="Border style" EXPOSURE="2" STATE="1" EDITORDER="8 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100706" ATTDECLTYP="1" ATTVALUE="&apos;double&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_BORDER" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_BORDER" CMPNAME="C_BORDER_HAIR" VERSION="1" LANGU="E" DESCRIPT="Border style" EXPOSURE="2" STATE="1" EDITORDER="9 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100706" ATTDECLTYP="1" ATTVALUE="&apos;hair&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_BORDER" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_BORDER" CMPNAME="C_BORDER_MEDIUM" VERSION="1" LANGU="E" DESCRIPT="Border style" EXPOSURE="2" STATE="1" EDITORDER="10 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100706" ATTDECLTYP="1" ATTVALUE="&apos;medium&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_BORDER" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_BORDER" CMPNAME="C_BORDER_MEDIUMDASHDOT" VERSION="1" LANGU="E" DESCRIPT="Border style" EXPOSURE="2" STATE="1" EDITORDER="11 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100706" ATTDECLTYP="1" ATTVALUE="&apos;mediumDashDot&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_BORDER" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_BORDER" CMPNAME="C_BORDER_MEDIUMDASHDOTDOT" VERSION="1" LANGU="E" DESCRIPT="Border style" EXPOSURE="2" STATE="1" EDITORDER="12 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100706" ATTDECLTYP="1" ATTVALUE="&apos;mediumDashDotDot&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_BORDER" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_BORDER" CMPNAME="C_BORDER_MEDIUMDASHED" VERSION="1" LANGU="E" DESCRIPT="Border style" EXPOSURE="2" STATE="1" EDITORDER="13 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100706" ATTDECLTYP="1" ATTVALUE="&apos;mediumDashed&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_BORDER" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_BORDER" CMPNAME="C_BORDER_NONE" VERSION="1" LANGU="E" DESCRIPT="Border style" EXPOSURE="2" STATE="1" EDITORDER="3 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100706" ATTDECLTYP="1" ATTVALUE="&apos;none&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_BORDER" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_BORDER" CMPNAME="C_BORDER_SLANTDASHDOT" VERSION="1" LANGU="E" DESCRIPT="Border style" EXPOSURE="2" STATE="1" EDITORDER="14 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100706" ATTDECLTYP="1" ATTVALUE="&apos;slantDashDot&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_BORDER" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_BORDER" CMPNAME="C_BORDER_THICK" VERSION="1" LANGU="E" DESCRIPT="Border style" EXPOSURE="2" STATE="1" EDITORDER="15 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100706" ATTDECLTYP="1" ATTVALUE="&apos;thick&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_BORDER" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_BORDER" CMPNAME="C_BORDER_THIN" VERSION="1" LANGU="E" DESCRIPT="Border style" EXPOSURE="2" STATE="1" EDITORDER="16 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100706" ATTDECLTYP="1" ATTVALUE="&apos;thin&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_BORDER" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <method CLSNAME="ZCL_EXCEL_STYLE_BORDER" CMPNAME="CONSTRUCTOR" VERSION="1" LANGU="E" DESCRIPT="CONSTRUCTOR" EXPOSURE="2" STATE="1" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100628" MTDTYPE="2" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <source>METHOD constructor.
  border_style = zcl_excel_style_border=&gt;c_border_none.
ENDMETHOD.</source>
  </method>
 </CLAS>
 <CLAS CLSNAME="ZCL_EXCEL_STYLE_BORDERS" VERSION="1" LANGU="E" DESCRIPT="Font Style" UUID="FFBF274C8A345F2DE1000000C0A8FA19" CATEGORY="00" EXPOSURE="2" STATE="1" RELEASE="0" AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" CHGDANYON="00000000" CLSFINAL="X" CLSCCINCL="X" FIXPT="X" UNICODE="X" R3RELEASE="701" CLSBCCAT="00" DURATION_TYPE="0 " RISK_LEVEL="0 ">
  <publicSection>class ZCL_EXCEL_STYLE_BORDERS definition
  public
  final
  create public .

*&quot;* public components of class ZCL_EXCEL_STYLE_BORDERS
*&quot;* do not include other source files here!!!
public section.

  data LEFT type ref to ZCL_EXCEL_STYLE_BORDER .
  data RIGHT type ref to ZCL_EXCEL_STYLE_BORDER .
  data TOP type ref to ZCL_EXCEL_STYLE_BORDER .
  data DOWN type ref to ZCL_EXCEL_STYLE_BORDER .
  data DIAGONAL type ref to ZCL_EXCEL_STYLE_BORDER .
  data ALLBORDERS type ref to ZCL_EXCEL_STYLE_BORDER .

  methods CONSTRUCTOR .
  methods GET_STRUCTURE
    returning
      value(ES_FILL) type ZEXCEL_S_STYLE_BORDER .</publicSection>
  <protectedSection>*&quot;* protected components of class ZABAP_EXCEL_STYLE_FONT
*&quot;* do not include other source files here!!!
protected section.</protectedSection>
  <privateSection>*&quot;* private components of class ZCL_EXCEL_STYLE_BORDERS
*&quot;* do not include other source files here!!!
private section.

  constants C_DIAGONAL_NONE type ZEXCEL_DIAGONAL value 0. &quot;#EC NOTEXT
  constants C_DIAGONAL_UP type ZEXCEL_DIAGONAL value 1. &quot;#EC NOTEXT
  constants C_DIAGONAL_DOWN type ZEXCEL_DIAGONAL value 2. &quot;#EC NOTEXT
  constants C_DIAGONAL_BOTH type ZEXCEL_DIAGONAL value 3. &quot;#EC NOTEXT</privateSection>
  <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>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_BORDERS" CMPNAME="ALLBORDERS" VERSION="1" LANGU="E" DESCRIPT="Diagonal" EXPOSURE="2" STATE="1" EDITORDER="6 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100628" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="3" TYPE="ZCL_EXCEL_STYLE_BORDER" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_BORDERS" CMPNAME="C_DIAGONAL_BOTH" VERSION="1" LANGU="E" DESCRIPT="Diagonal" EXPOSURE="0" STATE="1" EDITORDER="4 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" ATTDECLTYP="2" ATTVALUE="3" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_DIAGONAL" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_BORDERS" CMPNAME="C_DIAGONAL_DOWN" VERSION="1" LANGU="E" DESCRIPT="Diagonal" EXPOSURE="0" STATE="1" EDITORDER="3 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" ATTDECLTYP="2" ATTVALUE="2" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_DIAGONAL" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_BORDERS" CMPNAME="C_DIAGONAL_NONE" VERSION="1" LANGU="E" DESCRIPT="Diagonal" EXPOSURE="0" STATE="1" EDITORDER="1 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" ATTDECLTYP="2" ATTVALUE="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_DIAGONAL" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_BORDERS" CMPNAME="C_DIAGONAL_UP" VERSION="1" LANGU="E" DESCRIPT="Diagonal" EXPOSURE="0" STATE="1" EDITORDER="2 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" ATTDECLTYP="2" ATTVALUE="1" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_DIAGONAL" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_BORDERS" CMPNAME="DIAGONAL" VERSION="1" LANGU="E" DESCRIPT="Diagonal" EXPOSURE="2" STATE="1" EDITORDER="5 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100628" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="3" TYPE="ZCL_EXCEL_STYLE_BORDER" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_BORDERS" CMPNAME="DOWN" VERSION="1" LANGU="E" DESCRIPT="Diagonal" EXPOSURE="2" STATE="1" EDITORDER="4 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100628" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="3" TYPE="ZCL_EXCEL_STYLE_BORDER" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_BORDERS" CMPNAME="LEFT" VERSION="1" LANGU="E" DESCRIPT="Diagonal" EXPOSURE="2" STATE="1" EDITORDER="1 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100628" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="3" TYPE="ZCL_EXCEL_STYLE_BORDER" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_BORDERS" CMPNAME="RIGHT" VERSION="1" LANGU="E" DESCRIPT="Diagonal" EXPOSURE="2" STATE="1" EDITORDER="2 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100628" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="3" TYPE="ZCL_EXCEL_STYLE_BORDER" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_BORDERS" CMPNAME="TOP" VERSION="1" LANGU="E" DESCRIPT="Diagonal" EXPOSURE="2" STATE="1" EDITORDER="3 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100628" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="3" TYPE="ZCL_EXCEL_STYLE_BORDER" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <method CLSNAME="ZCL_EXCEL_STYLE_BORDERS" CMPNAME="CONSTRUCTOR" VERSION="1" LANGU="E" DESCRIPT="CONSTRUCTOR" EXPOSURE="2" STATE="1" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" MTDTYPE="2" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <source>method CONSTRUCTOR.
endmethod.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_STYLE_BORDERS" CMPNAME="GET_STRUCTURE" VERSION="1" LANGU="E" DESCRIPT="Get structure" EXPOSURE="2" STATE="1" EDITORDER="2 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100704" CHANGEDON="00000000" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_STYLE_BORDERS" CMPNAME="GET_STRUCTURE" SCONAME="ES_FILL" VERSION="1" LANGU="E" DESCRIPT="Single-Character Indicator" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100706" CHANGEDBY="FEMIA" CHANGEDON="20100706" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="ZEXCEL_S_STYLE_BORDER"/>
   <source>METHOD get_structure.

* Check if all borders is set otherwise check single border
  IF me-&gt;allborders IS BOUND.
    es_fill-left_color    = me-&gt;allborders-&gt;border_color.
    es_fill-left_style    = me-&gt;allborders-&gt;border_style.
    es_fill-right_color   = me-&gt;allborders-&gt;border_color.
    es_fill-right_style   = me-&gt;allborders-&gt;border_style.
    es_fill-top_color     = me-&gt;allborders-&gt;border_color.
    es_fill-top_style     = me-&gt;allborders-&gt;border_style.
    es_fill-bottom_color  = me-&gt;allborders-&gt;border_color.
    es_fill-bottom_style  = me-&gt;allborders-&gt;border_style.
  ELSE.
    IF me-&gt;left IS BOUND.
      es_fill-left_color = me-&gt;left-&gt;border_color.
      es_fill-left_style = me-&gt;left-&gt;border_style.
    ENDIF.
    IF me-&gt;right IS BOUND.
      es_fill-right_color = me-&gt;right-&gt;border_color.
      es_fill-right_style = me-&gt;right-&gt;border_style.
    ENDIF.
    IF me-&gt;top IS BOUND.
      es_fill-top_color = me-&gt;top-&gt;border_color.
      es_fill-top_style = me-&gt;top-&gt;border_style.
    ENDIF.
    IF me-&gt;down IS BOUND.
      es_fill-bottom_color = me-&gt;down-&gt;border_color.
      es_fill-bottom_style = me-&gt;down-&gt;border_style.
    ENDIF.
  ENDIF.

* Check if diagonal is set
  IF me-&gt;diagonal IS BOUND.
    es_fill-diagonal_color = me-&gt;diagonal-&gt;border_color.
    es_fill-diagonal_style = me-&gt;diagonal-&gt;border_style.
  ENDIF.

ENDMETHOD.                    &quot;get_structure</source>
  </method>
 </CLAS>
 <CLAS CLSNAME="ZCL_EXCEL_STYLE_COLOR" VERSION="1" LANGU="E" DESCRIPT="Excel Style Color" UUID="AE8C304C8769E92CE1000000C0A8FA19" CATEGORY="00" EXPOSURE="2" STATE="1" RELEASE="0" AUTHOR="FEMIA" CREATEDON="20100705" CHANGEDON="00000000" CHGDANYON="00000000" CLSFINAL="X" CLSCCINCL="X" FIXPT="X" UNICODE="X" R3RELEASE="701" CLSBCCAT="00" DURATION_TYPE="0 " RISK_LEVEL="0 ">
  <publicSection>class ZCL_EXCEL_STYLE_COLOR definition
  public
  final
  create public .

*&quot;* public components of class ZCL_EXCEL_STYLE_COLOR
*&quot;* do not include other source files here!!!
public section.

  class-data C_BLACK type ZEXCEL_STYLE_COLOR_ARGB value &apos;FF000000&apos;. &quot;#EC NOTEXT .
  class-data C_BLUE type ZEXCEL_STYLE_COLOR_ARGB value &apos;FF0000FF&apos;. &quot;#EC NOTEXT .
  class-data C_DARKBLUE type ZEXCEL_STYLE_COLOR_ARGB value &apos;FF000080&apos;. &quot;#EC NOTEXT .
  class-data C_DARKGREEN type ZEXCEL_STYLE_COLOR_ARGB value &apos;FF008000&apos;. &quot;#EC NOTEXT .
  class-data C_DARKRED type ZEXCEL_STYLE_COLOR_ARGB value &apos;FF800000&apos;. &quot;#EC NOTEXT .
  class-data C_DARKYELLOW type ZEXCEL_STYLE_COLOR_ARGB value &apos;FF808000&apos;. &quot;#EC NOTEXT .
  class-data C_GRAY type ZEXCEL_STYLE_COLOR_ARGB value &apos;FFCCCCCC&apos;. &quot;#EC NOTEXT .
  class-data C_GREEN type ZEXCEL_STYLE_COLOR_ARGB value &apos;FF00FF00&apos;. &quot;#EC NOTEXT .
  class-data C_RED type ZEXCEL_STYLE_COLOR_ARGB value &apos;FFFF0000&apos;. &quot;#EC NOTEXT .
  class-data C_WHITE type ZEXCEL_STYLE_COLOR_ARGB value &apos;FFFFFFFF&apos;. &quot;#EC NOTEXT .
  class-data C_YELLOW type ZEXCEL_STYLE_COLOR_ARGB value &apos;FFFFFF00&apos;. &quot;#EC NOTEXT .

  methods CONSTRUCTOR .
  class-methods CREATE_NEW_ARGB
    importing
      !IP_RED type ZEXCEL_STYLE_COLOR_COMPONENT
      !IP_GREEN type ZEXCEL_STYLE_COLOR_COMPONENT
      !IP_BLU type ZEXCEL_STYLE_COLOR_COMPONENT
    returning
      value(EP_COLOR_ARGB) type ZEXCEL_STYLE_COLOR_ARGB .</publicSection>
  <protectedSection>*&quot;* protected components of class ZCL_EXCEL_STYLE_COLOR
*&quot;* do not include other source files here!!!
protected section.</protectedSection>
  <privateSection>*&quot;* private components of class ZCL_EXCEL_STYLE_COLOR
*&quot;* do not include other source files here!!!
private section.

  class-data C_ALPHA type CHAR2 value &apos;FF&apos;. &quot;#EC NOTEXT .</privateSection>
  <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>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_COLOR" CMPNAME="C_ALPHA" VERSION="1" LANGU="E" DESCRIPT="Color Alpha" EXPOSURE="0" STATE="1" EDITORDER="1 " AUTHOR="FEMIA" CREATEDON="20100705" CHANGEDBY="FEMIA" CHANGEDON="20100709" ATTDECLTYP="1" ATTVALUE="&apos;FF&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="CHAR2" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_COLOR" CMPNAME="C_BLACK" VERSION="1" LANGU="E" DESCRIPT="Color ARGB" EXPOSURE="2" STATE="1" EDITORDER="2 " AUTHOR="FEMIA" CREATEDON="20100705" CHANGEDBY="FEMIA" CHANGEDON="20100709" ATTDECLTYP="1" ATTVALUE="&apos;FF000000&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_STYLE_COLOR_ARGB" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_COLOR" CMPNAME="C_BLUE" VERSION="1" LANGU="E" DESCRIPT="Color ARGB" EXPOSURE="2" STATE="1" EDITORDER="3 " AUTHOR="FEMIA" CREATEDON="20100705" CHANGEDBY="FEMIA" CHANGEDON="20100709" ATTDECLTYP="1" ATTVALUE="&apos;FF0000FF&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_STYLE_COLOR_ARGB" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_COLOR" CMPNAME="C_DARKBLUE" VERSION="1" LANGU="E" DESCRIPT="Color ARGB" EXPOSURE="2" STATE="1" EDITORDER="4 " AUTHOR="FEMIA" CREATEDON="20100705" CHANGEDBY="FEMIA" CHANGEDON="20100709" ATTDECLTYP="1" ATTVALUE="&apos;FF000080&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_STYLE_COLOR_ARGB" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_COLOR" CMPNAME="C_DARKGREEN" VERSION="1" LANGU="E" DESCRIPT="Color ARGB" EXPOSURE="2" STATE="1" EDITORDER="5 " AUTHOR="FEMIA" CREATEDON="20100705" CHANGEDBY="FEMIA" CHANGEDON="20100709" ATTDECLTYP="1" ATTVALUE="&apos;FF008000&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_STYLE_COLOR_ARGB" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_COLOR" CMPNAME="C_DARKRED" VERSION="1" LANGU="E" DESCRIPT="Color ARGB" EXPOSURE="2" STATE="1" EDITORDER="6 " AUTHOR="FEMIA" CREATEDON="20100705" CHANGEDBY="FEMIA" CHANGEDON="20100709" ATTDECLTYP="1" ATTVALUE="&apos;FF800000&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_STYLE_COLOR_ARGB" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_COLOR" CMPNAME="C_DARKYELLOW" VERSION="1" LANGU="E" DESCRIPT="Color ARGB" EXPOSURE="2" STATE="1" EDITORDER="7 " AUTHOR="FEMIA" CREATEDON="20100705" CHANGEDBY="FEMIA" CHANGEDON="20100709" ATTDECLTYP="1" ATTVALUE="&apos;FF808000&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_STYLE_COLOR_ARGB" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_COLOR" CMPNAME="C_GRAY" VERSION="1" LANGU="E" DESCRIPT="Color ARGB" EXPOSURE="2" STATE="1" EDITORDER="8 " AUTHOR="FEMIA" CREATEDON="20100709" CHANGEDBY="FEMIA" CHANGEDON="20100709" ATTDECLTYP="1" ATTVALUE="&apos;FFCCCCCC&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_STYLE_COLOR_ARGB" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_COLOR" CMPNAME="C_GREEN" VERSION="1" LANGU="E" DESCRIPT="Color ARGB" EXPOSURE="2" STATE="1" EDITORDER="9 " AUTHOR="FEMIA" CREATEDON="20100705" CHANGEDBY="FEMIA" CHANGEDON="20100709" ATTDECLTYP="1" ATTVALUE="&apos;FF00FF00&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_STYLE_COLOR_ARGB" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_COLOR" CMPNAME="C_RED" VERSION="1" LANGU="E" DESCRIPT="Color ARGB" EXPOSURE="2" STATE="1" EDITORDER="10 " AUTHOR="FEMIA" CREATEDON="20100705" CHANGEDBY="FEMIA" CHANGEDON="20100709" ATTDECLTYP="1" ATTVALUE="&apos;FFFF0000&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_STYLE_COLOR_ARGB" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_COLOR" CMPNAME="C_WHITE" VERSION="1" LANGU="E" DESCRIPT="Color ARGB" EXPOSURE="2" STATE="1" EDITORDER="11 " AUTHOR="FEMIA" CREATEDON="20100705" CHANGEDBY="FEMIA" CHANGEDON="20100709" ATTDECLTYP="1" ATTVALUE="&apos;FFFFFFFF&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_STYLE_COLOR_ARGB" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_COLOR" CMPNAME="C_YELLOW" VERSION="1" LANGU="E" DESCRIPT="Color ARGB" EXPOSURE="2" STATE="1" EDITORDER="12 " AUTHOR="FEMIA" CREATEDON="20100705" CHANGEDBY="FEMIA" CHANGEDON="20100709" ATTDECLTYP="1" ATTVALUE="&apos;FFFFFF00&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_STYLE_COLOR_ARGB" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <method CLSNAME="ZCL_EXCEL_STYLE_COLOR" CMPNAME="CONSTRUCTOR" VERSION="1" LANGU="E" DESCRIPT="CONSTRUCTOR" EXPOSURE="2" STATE="1" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100705" CHANGEDON="00000000" MTDTYPE="2" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <source>method CONSTRUCTOR.


endmethod.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_STYLE_COLOR" CMPNAME="CREATE_NEW_ARGB" VERSION="1" LANGU="E" DESCRIPT="Create a custom ARGB color from RGB" EXPOSURE="2" STATE="1" EDITORDER="2 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100705" CHANGEDBY="FEMIA" CHANGEDON="20100705" MTDTYPE="0" MTDDECLTYP="1" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_STYLE_COLOR" CMPNAME="CREATE_NEW_ARGB" SCONAME="IP_RED" VERSION="1" LANGU="E" DESCRIPT="Color Component" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100705" CHANGEDON="00000000" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_STYLE_COLOR_COMPONENT"/>
   <parameter CLSNAME="ZCL_EXCEL_STYLE_COLOR" CMPNAME="CREATE_NEW_ARGB" SCONAME="IP_GREEN" VERSION="1" LANGU="E" DESCRIPT="Color Component" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100705" CHANGEDON="00000000" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_STYLE_COLOR_COMPONENT"/>
   <parameter CLSNAME="ZCL_EXCEL_STYLE_COLOR" CMPNAME="CREATE_NEW_ARGB" SCONAME="IP_BLU" VERSION="1" LANGU="E" DESCRIPT="Color Component" CMPTYPE="1" MTDTYPE="0" EDITORDER="3 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100705" CHANGEDON="00000000" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_STYLE_COLOR_COMPONENT"/>
   <parameter CLSNAME="ZCL_EXCEL_STYLE_COLOR" CMPNAME="CREATE_NEW_ARGB" SCONAME="EP_COLOR_ARGB" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="4 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100705" CHANGEDBY="FEMIA" CHANGEDON="20100705" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="ZEXCEL_STYLE_COLOR_ARGB"/>
   <source>METHOD create_new_argb.


  CONCATENATE zcl_excel_style_color=&gt;c_alpha ip_red ip_green ip_blu INTO ep_color_argb.

ENDMETHOD.</source>
  </method>
 </CLAS>
 <CLAS CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" VERSION="1" LANGU="E" DESCRIPT="Font Style" UUID="25C0274C8A345F2DE1000000C0A8FA19" CATEGORY="00" EXPOSURE="2" STATE="1" RELEASE="0" AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" CHGDANYON="00000000" CLSFINAL="X" CLSCCINCL="X" FIXPT="X" UNICODE="X" R3RELEASE="701" CLSBCCAT="00" DURATION_TYPE="0 " RISK_LEVEL="0 ">
  <publicSection>class ZCL_EXCEL_STYLE_CONDITIONAL definition
  public
  final
  create public .

*&quot;* public components of class ZCL_EXCEL_STYLE_CONDITIONAL
*&quot;* do not include other source files here!!!
public section.

  class-data C_ICONSET_3ARROWS type ZEXCEL_CONDITION_RULE_ICONSET value &apos;3Arrows&apos;. &quot;#EC NOTEXT .
  class-data C_ICONSET_3ARROWSGRAY type ZEXCEL_CONDITION_RULE_ICONSET value &apos;3ArrowsGray&apos;. &quot;#EC NOTEXT .
  class-data C_ICONSET_3FLAGS type ZEXCEL_CONDITION_RULE_ICONSET value &apos;3Flags&apos;. &quot;#EC NOTEXT .
  class-data C_ICONSET_3SIGNS type ZEXCEL_CONDITION_RULE_ICONSET value &apos;3Signs&apos;. &quot;#EC NOTEXT .
  class-data C_ICONSET_3SYMBOLS type ZEXCEL_CONDITION_RULE_ICONSET value &apos;3Symbols&apos;. &quot;#EC NOTEXT .
  class-data C_ICONSET_3SYMBOLS2 type ZEXCEL_CONDITION_RULE_ICONSET value &apos;3Symbols2&apos;. &quot;#EC NOTEXT .
  class-data C_ICONSET_3TRAFFICLIGHTS type ZEXCEL_CONDITION_RULE_ICONSET value &apos;&apos;. &quot;#EC NOTEXT .
  class-data C_ICONSET_3TRAFFICLIGHTS2 type ZEXCEL_CONDITION_RULE_ICONSET value &apos;3TrafficLights2&apos;. &quot;#EC NOTEXT .
  class-data C_ICONSET_4ARROWS type ZEXCEL_CONDITION_RULE_ICONSET value &apos;4Arrows&apos;. &quot;#EC NOTEXT .
  class-data C_ICONSET_4ARROWSGRAY type ZEXCEL_CONDITION_RULE_ICONSET value &apos;4ArrowsGray&apos;. &quot;#EC NOTEXT .
  class-data C_ICONSET_4RATING type ZEXCEL_CONDITION_RULE_ICONSET value &apos;4Rating&apos;. &quot;#EC NOTEXT .
  class-data C_ICONSET_4REDTOBLACK type ZEXCEL_CONDITION_RULE_ICONSET value &apos;4RedToBlack&apos;. &quot;#EC NOTEXT .
  class-data C_ICONSET_4TRAFFICLIGHTS type ZEXCEL_CONDITION_RULE_ICONSET value &apos;4TrafficLights&apos;. &quot;#EC NOTEXT .
  class-data C_ICONSET_5ARROWS type ZEXCEL_CONDITION_RULE_ICONSET value &apos;5Arrows&apos;. &quot;#EC NOTEXT .
  class-data C_ICONSET_5ARROWSGRAY type ZEXCEL_CONDITION_RULE_ICONSET value &apos;5ArrowsGray&apos;. &quot;#EC NOTEXT .
  class-data C_ICONSET_5QUARTERS type ZEXCEL_CONDITION_RULE_ICONSET value &apos;5Quarters&apos;. &quot;#EC NOTEXT .
  class-data C_ICONSET_5RATING type ZEXCEL_CONDITION_RULE_ICONSET value &apos;5Rating&apos;. &quot;#EC NOTEXT .
  class-data C_OPERATOR_BEGINSWITH type ZEXCEL_CONDITION_OPERATOR value &apos;beginsWith&apos;. &quot;#EC NOTEXT .
  class-data C_OPERATOR_BETWEEN type ZEXCEL_CONDITION_OPERATOR value &apos;between&apos;. &quot;#EC NOTEXT .
  class-data C_OPERATOR_CONTAINSTEXT type ZEXCEL_CONDITION_OPERATOR value &apos;containsText&apos;. &quot;#EC NOTEXT .
  class-data C_OPERATOR_ENDSWITH type ZEXCEL_CONDITION_OPERATOR value &apos;endsWith&apos;. &quot;#EC NOTEXT .
  class-data C_OPERATOR_EQUAL type ZEXCEL_CONDITION_OPERATOR value &apos;equal&apos;. &quot;#EC NOTEXT .
  class-data C_OPERATOR_GREATERTHAN type ZEXCEL_CONDITION_OPERATOR value &apos;greaterThan&apos;. &quot;#EC NOTEXT .
  class-data C_OPERATOR_GREATERTHANOREQUAL type ZEXCEL_CONDITION_OPERATOR value &apos;greaterThanOrEqual&apos;. &quot;#EC NOTEXT .
  class-data C_OPERATOR_LESSTHAN type ZEXCEL_CONDITION_OPERATOR value &apos;lessThan&apos;. &quot;#EC NOTEXT .
  class-data C_OPERATOR_LESSTHANOREQUAL type ZEXCEL_CONDITION_OPERATOR value &apos;lessThanOrEqual&apos;. &quot;#EC NOTEXT .
  class-data C_OPERATOR_NONE type ZEXCEL_CONDITION_OPERATOR value &apos;&apos;. &quot;#EC NOTEXT .
  class-data C_OPERATOR_NOTCONTAINS type ZEXCEL_CONDITION_OPERATOR value &apos;notContains&apos;. &quot;#EC NOTEXT .
  class-data C_OPERATOR_NOTEQUAL type ZEXCEL_CONDITION_OPERATOR value &apos;notEqual&apos;. &quot;#EC NOTEXT .
  class-data C_RULE_CELLIS type ZEXCEL_CONDITION_RULE value &apos;cellIs&apos;. &quot;#EC NOTEXT .
  class-data C_RULE_CONTAINSTEXT type ZEXCEL_CONDITION_RULE value &apos;containsText&apos;. &quot;#EC NOTEXT .
  class-data C_RULE_EXPRESSION type ZEXCEL_CONDITION_RULE value &apos;expression&apos;. &quot;#EC NOTEXT .
  class-data C_RULE_ICONSET type ZEXCEL_CONDITION_RULE value &apos;iconSet&apos;. &quot;#EC NOTEXT .
  class-data C_RULE_NONE type ZEXCEL_CONDITION_RULE value &apos;none&apos;. &quot;#EC NOTEXT .
  data FORMULA type ZEXCEL_STYLE_FORMULA .
  data ICONSET type ZEXCEL_CONDITION_RULE_ICONSET .
  data OPERATOR type ZEXCEL_CONDITION_OPERATOR .
  data PRIORITY type ZEXCEL_STYLE_PRIORITY value 1. &quot;#EC NOTEXT .
  data RULE type ZEXCEL_CONDITION_RULE .

  methods CONSTRUCTOR .
  methods GET_DIMENSION_RANGE
    returning
      value(EP_DIMENSION_RANGE) type STRING .
  methods SET_RANGE
    importing
      !IP_START_ROW type ZEXCEL_CELL_ROW
      !IP_START_COLUMN type ZEXCEL_CELL_COLUMN_ALPHA
      !IP_STOP_ROW type ZEXCEL_CELL_ROW
      !IP_STOP_COLUMN type ZEXCEL_CELL_COLUMN_ALPHA .</publicSection>
  <protectedSection>*&quot;* protected components of class ZABAP_EXCEL_STYLE_FONT
*&quot;* do not include other source files here!!!
protected section.</protectedSection>
  <privateSection>*&quot;* private components of class ZCL_EXCEL_STYLE_CONDITIONAL
*&quot;* do not include other source files here!!!
private section.

  data START_CELL type ZEXCEL_S_CELL_DATA .
  data STOP_CELL type ZEXCEL_S_CELL_DATA .</privateSection>
  <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>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="C_ICONSET_3ARROWS" VERSION="1" LANGU="E" DESCRIPT="Condition rule iconset" EXPOSURE="2" STATE="1" EDITORDER="1 " AUTHOR="FEMIA" CREATEDON="20100710" CHANGEDBY="FEMIA" CHANGEDON="20100710" ATTDECLTYP="1" ATTVALUE="&apos;3Arrows&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_CONDITION_RULE_ICONSET" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="C_ICONSET_3ARROWSGRAY" VERSION="1" LANGU="E" DESCRIPT="Condition rule iconset" EXPOSURE="2" STATE="1" EDITORDER="2 " AUTHOR="FEMIA" CREATEDON="20100710" CHANGEDBY="FEMIA" CHANGEDON="20100710" ATTDECLTYP="1" ATTVALUE="&apos;3ArrowsGray&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_CONDITION_RULE_ICONSET" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="C_ICONSET_3FLAGS" VERSION="1" LANGU="E" DESCRIPT="Condition rule iconset" EXPOSURE="2" STATE="1" EDITORDER="3 " AUTHOR="FEMIA" CREATEDON="20100710" CHANGEDBY="FEMIA" CHANGEDON="20100710" ATTDECLTYP="1" ATTVALUE="&apos;3Flags&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_CONDITION_RULE_ICONSET" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="C_ICONSET_3SIGNS" VERSION="1" LANGU="E" DESCRIPT="Condition rule iconset" EXPOSURE="2" STATE="1" EDITORDER="4 " AUTHOR="FEMIA" CREATEDON="20100710" CHANGEDBY="FEMIA" CHANGEDON="20100710" ATTDECLTYP="1" ATTVALUE="&apos;3Signs&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_CONDITION_RULE_ICONSET" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="C_ICONSET_3SYMBOLS" VERSION="1" LANGU="E" DESCRIPT="Condition rule iconset" EXPOSURE="2" STATE="1" EDITORDER="5 " AUTHOR="FEMIA" CREATEDON="20100710" CHANGEDBY="FEMIA" CHANGEDON="20100710" ATTDECLTYP="1" ATTVALUE="&apos;3Symbols&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_CONDITION_RULE_ICONSET" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="C_ICONSET_3SYMBOLS2" VERSION="1" LANGU="E" DESCRIPT="Condition rule iconset" EXPOSURE="2" STATE="1" EDITORDER="6 " AUTHOR="FEMIA" CREATEDON="20100710" CHANGEDBY="FEMIA" CHANGEDON="20100710" ATTDECLTYP="1" ATTVALUE="&apos;3Symbols2&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_CONDITION_RULE_ICONSET" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="C_ICONSET_3TRAFFICLIGHTS" VERSION="1" LANGU="E" DESCRIPT="Condition rule iconset" EXPOSURE="2" STATE="1" EDITORDER="7 " AUTHOR="FEMIA" CREATEDON="20100710" CHANGEDBY="FEMIA" CHANGEDON="20100710" ATTDECLTYP="1" ATTVALUE="&apos;&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_CONDITION_RULE_ICONSET" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="C_ICONSET_3TRAFFICLIGHTS2" VERSION="1" LANGU="E" DESCRIPT="Condition rule iconset" EXPOSURE="2" STATE="1" EDITORDER="8 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDBY="FEMIA" CHANGEDON="20100710" ATTDECLTYP="1" ATTVALUE="&apos;3TrafficLights2&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_CONDITION_RULE_ICONSET" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="C_ICONSET_4ARROWS" VERSION="1" LANGU="E" DESCRIPT="Condition rule iconset" EXPOSURE="2" STATE="1" EDITORDER="9 " AUTHOR="FEMIA" CREATEDON="20100710" CHANGEDBY="FEMIA" CHANGEDON="20100710" ATTDECLTYP="1" ATTVALUE="&apos;4Arrows&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_CONDITION_RULE_ICONSET" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="C_ICONSET_4ARROWSGRAY" VERSION="1" LANGU="E" DESCRIPT="Condition rule iconset" EXPOSURE="2" STATE="1" EDITORDER="10 " AUTHOR="FEMIA" CREATEDON="20100710" CHANGEDBY="FEMIA" CHANGEDON="20100710" ATTDECLTYP="1" ATTVALUE="&apos;4ArrowsGray&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_CONDITION_RULE_ICONSET" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="C_ICONSET_4RATING" VERSION="1" LANGU="E" DESCRIPT="Condition rule iconset" EXPOSURE="2" STATE="1" EDITORDER="11 " AUTHOR="FEMIA" CREATEDON="20100710" CHANGEDBY="FEMIA" CHANGEDON="20100710" ATTDECLTYP="1" ATTVALUE="&apos;4Rating&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_CONDITION_RULE_ICONSET" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="C_ICONSET_4REDTOBLACK" VERSION="1" LANGU="E" DESCRIPT="Condition rule iconset" EXPOSURE="2" STATE="1" EDITORDER="12 " AUTHOR="FEMIA" CREATEDON="20100710" CHANGEDBY="FEMIA" CHANGEDON="20100710" ATTDECLTYP="1" ATTVALUE="&apos;4RedToBlack&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_CONDITION_RULE_ICONSET" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="C_ICONSET_4TRAFFICLIGHTS" VERSION="1" LANGU="E" DESCRIPT="Condition rule iconset" EXPOSURE="2" STATE="1" EDITORDER="13 " AUTHOR="FEMIA" CREATEDON="20100710" CHANGEDBY="FEMIA" CHANGEDON="20100710" ATTDECLTYP="1" ATTVALUE="&apos;4TrafficLights&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_CONDITION_RULE_ICONSET" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="C_ICONSET_5ARROWS" VERSION="1" LANGU="E" DESCRIPT="Condition rule iconset" EXPOSURE="2" STATE="1" EDITORDER="14 " AUTHOR="FEMIA" CREATEDON="20100710" CHANGEDBY="FEMIA" CHANGEDON="20100710" ATTDECLTYP="1" ATTVALUE="&apos;5Arrows&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_CONDITION_RULE_ICONSET" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="C_ICONSET_5ARROWSGRAY" VERSION="1" LANGU="E" DESCRIPT="Condition rule iconset" EXPOSURE="2" STATE="1" EDITORDER="15 " AUTHOR="FEMIA" CREATEDON="20100710" CHANGEDBY="FEMIA" CHANGEDON="20100710" ATTDECLTYP="1" ATTVALUE="&apos;5ArrowsGray&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_CONDITION_RULE_ICONSET" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="C_ICONSET_5QUARTERS" VERSION="1" LANGU="E" DESCRIPT="Condition rule iconset" EXPOSURE="2" STATE="1" EDITORDER="16 " AUTHOR="FEMIA" CREATEDON="20100710" CHANGEDBY="FEMIA" CHANGEDON="20100710" ATTDECLTYP="1" ATTVALUE="&apos;5Quarters&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_CONDITION_RULE_ICONSET" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="C_ICONSET_5RATING" VERSION="1" LANGU="E" DESCRIPT="Condition rule iconset" EXPOSURE="2" STATE="1" EDITORDER="17 " AUTHOR="FEMIA" CREATEDON="20100710" CHANGEDBY="FEMIA" CHANGEDON="20100710" ATTDECLTYP="1" ATTVALUE="&apos;5Rating&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_CONDITION_RULE_ICONSET" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="C_OPERATOR_BEGINSWITH" VERSION="1" LANGU="E" DESCRIPT="Condition operator" EXPOSURE="2" STATE="1" EDITORDER="18 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100710" ATTDECLTYP="1" ATTVALUE="&apos;beginsWith&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_CONDITION_OPERATOR" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="C_OPERATOR_BETWEEN" VERSION="1" LANGU="E" DESCRIPT="Condition operator" EXPOSURE="2" STATE="1" EDITORDER="19 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100710" ATTDECLTYP="1" ATTVALUE="&apos;between&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_CONDITION_OPERATOR" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="C_OPERATOR_CONTAINSTEXT" VERSION="1" LANGU="E" DESCRIPT="Condition operator" EXPOSURE="2" STATE="1" EDITORDER="20 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100710" ATTDECLTYP="1" ATTVALUE="&apos;containsText&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_CONDITION_OPERATOR" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="C_OPERATOR_ENDSWITH" VERSION="1" LANGU="E" DESCRIPT="Condition operator" EXPOSURE="2" STATE="1" EDITORDER="21 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100710" ATTDECLTYP="1" ATTVALUE="&apos;endsWith&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_CONDITION_OPERATOR" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="C_OPERATOR_EQUAL" VERSION="1" LANGU="E" DESCRIPT="Condition operator" EXPOSURE="2" STATE="1" EDITORDER="22 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100710" ATTDECLTYP="1" ATTVALUE="&apos;equal&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_CONDITION_OPERATOR" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="C_OPERATOR_GREATERTHAN" VERSION="1" LANGU="E" DESCRIPT="Condition operator" EXPOSURE="2" STATE="1" EDITORDER="23 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100710" ATTDECLTYP="1" ATTVALUE="&apos;greaterThan&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_CONDITION_OPERATOR" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="C_OPERATOR_GREATERTHANOREQUAL" VERSION="1" LANGU="E" DESCRIPT="Condition operator" EXPOSURE="2" STATE="1" EDITORDER="24 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100710" ATTDECLTYP="1" ATTVALUE="&apos;greaterThanOrEqual&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_CONDITION_OPERATOR" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="C_OPERATOR_LESSTHAN" VERSION="1" LANGU="E" DESCRIPT="Condition operator" EXPOSURE="2" STATE="1" EDITORDER="25 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100710" ATTDECLTYP="1" ATTVALUE="&apos;lessThan&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_CONDITION_OPERATOR" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="C_OPERATOR_LESSTHANOREQUAL" VERSION="1" LANGU="E" DESCRIPT="Condition operator" EXPOSURE="2" STATE="1" EDITORDER="26 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100710" ATTDECLTYP="1" ATTVALUE="&apos;lessThanOrEqual&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_CONDITION_OPERATOR" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="C_OPERATOR_NONE" VERSION="1" LANGU="E" DESCRIPT="Condition operator" EXPOSURE="2" STATE="1" EDITORDER="27 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100710" ATTDECLTYP="1" ATTVALUE="&apos;&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_CONDITION_OPERATOR" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" 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="28 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100710" ATTDECLTYP="1" ATTVALUE="&apos;notContains&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_CONDITION_OPERATOR" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" 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="29 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100710" ATTDECLTYP="1" ATTVALUE="&apos;notEqual&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_CONDITION_OPERATOR" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" 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="30 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDBY="FEMIA" CHANGEDON="20100710" ATTDECLTYP="1" ATTVALUE="&apos;cellIs&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_CONDITION_RULE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" 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="31 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDBY="FEMIA" CHANGEDON="20100710" ATTDECLTYP="1" ATTVALUE="&apos;containsText&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_CONDITION_RULE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="C_RULE_EXPRESSION" VERSION="1" LANGU="E" DESCRIPT="Condition rule" EXPOSURE="2" STATE="1" EDITORDER="32 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDBY="FEMIA" CHANGEDON="20100710" ATTDECLTYP="1" ATTVALUE="&apos;expression&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_CONDITION_RULE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" 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="33 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDBY="FEMIA" CHANGEDON="20100710" ATTDECLTYP="1" ATTVALUE="&apos;iconSet&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_CONDITION_RULE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" 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="34 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDBY="FEMIA" CHANGEDON="20100710" ATTDECLTYP="1" ATTVALUE="&apos;none&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_CONDITION_RULE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="FORMULA" VERSION="1" LANGU="E" DESCRIPT="Style formula" EXPOSURE="2" STATE="1" EDITORDER="35 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDBY="FEMIA" CHANGEDON="20100710" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_STYLE_FORMULA" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="ICONSET" VERSION="1" LANGU="E" DESCRIPT="Condition rule iconset" EXPOSURE="2" STATE="1" EDITORDER="36 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDBY="FEMIA" CHANGEDON="20100710" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_CONDITION_RULE_ICONSET" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="OPERATOR" VERSION="1" LANGU="E" DESCRIPT="Condition operator" EXPOSURE="2" STATE="1" EDITORDER="37 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100710" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_CONDITION_OPERATOR" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="PRIORITY" VERSION="1" LANGU="E" DESCRIPT="Style Priority" EXPOSURE="2" STATE="1" EDITORDER="38 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDBY="FEMIA" CHANGEDON="20100710" ATTDECLTYP="0" ATTVALUE="1" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_STYLE_PRIORITY" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="RULE" VERSION="1" LANGU="E" DESCRIPT="Condition rule" EXPOSURE="2" STATE="1" EDITORDER="39 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDBY="FEMIA" CHANGEDON="20100710" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_CONDITION_RULE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="START_CELL" VERSION="1" LANGU="E" DESCRIPT="Cell data" EXPOSURE="0" STATE="1" EDITORDER="40 " AUTHOR="FEMIA" CREATEDON="20100710" CHANGEDBY="FEMIA" CHANGEDON="20100710" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_S_CELL_DATA" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="STOP_CELL" VERSION="1" LANGU="E" DESCRIPT="Cell data" EXPOSURE="0" STATE="1" EDITORDER="41 " AUTHOR="FEMIA" CREATEDON="20100710" CHANGEDBY="FEMIA" CHANGEDON="20100710" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_S_CELL_DATA" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" 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 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" MTDTYPE="2" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <source>METHOD constructor.
  rule      = me-&gt;c_rule_none.
  operator  = me-&gt;c_operator_none.
* inizialize dimension range
  stop_cell-cell_row     = 1.
  stop_cell-cell_column  = 1.
  start_cell-cell_row     = 1.
  start_cell-cell_column  = 1.
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 " AUTHOR="FEMIA" CREATEDON="20100709" CHANGEDBY="FEMIA" CHANGEDON="20100709" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" 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 " AUTHOR="FEMIA" CREATEDON="20100709" CHANGEDON="00000000" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="STRING"/>
   <source>METHOD get_dimension_range.
  IF stop_cell EQ start_cell. &quot;only one cell
    ep_dimension_range = start_cell-cell_coords.
  ELSE.
    CONCATENATE start_cell-cell_coords &apos;:&apos; stop_cell-cell_coords INTO ep_dimension_range.
  ENDIF.
ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="SET_RANGE" VERSION="1" LANGU="E" DESCRIPT="Set range used in conditional formatting" EXPOSURE="2" STATE="1" EDITORDER="3 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100709" CHANGEDON="00000000" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="SET_RANGE" SCONAME="IP_START_ROW" VERSION="1" LANGU="E" DESCRIPT="Cell Row" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100710" CHANGEDON="00000000" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_CELL_ROW"/>
   <parameter CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="SET_RANGE" SCONAME="IP_START_COLUMN" VERSION="1" LANGU="E" DESCRIPT="Cell Column" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100710" CHANGEDON="00000000" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_CELL_COLUMN_ALPHA"/>
   <parameter CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="SET_RANGE" SCONAME="IP_STOP_ROW" VERSION="1" LANGU="E" DESCRIPT="Cell Row" CMPTYPE="1" MTDTYPE="0" EDITORDER="3 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100710" CHANGEDON="00000000" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_CELL_ROW"/>
   <parameter CLSNAME="ZCL_EXCEL_STYLE_CONDITIONAL" CMPNAME="SET_RANGE" SCONAME="IP_STOP_COLUMN" VERSION="1" LANGU="E" DESCRIPT="Cell Column" CMPTYPE="1" MTDTYPE="0" EDITORDER="4 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100710" CHANGEDON="00000000" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_CELL_COLUMN_ALPHA"/>
   <source>METHOD set_range.
  DATA: lv_column                 TYPE zexcel_cell_column,
        lv_row_alpha              TYPE string.

  lv_column = zcl_excel_common=&gt;convert_column2int( ip_stop_column ).
  stop_cell-cell_row     = 1.
  stop_cell-cell_column  = lv_column.
  lv_row_alpha = ip_stop_row.
  SHIFT lv_row_alpha RIGHT DELETING TRAILING space.
  SHIFT lv_row_alpha LEFT DELETING LEADING space.
  CONCATENATE ip_stop_column lv_row_alpha INTO stop_cell-cell_coords.

  lv_column = zcl_excel_common=&gt;convert_column2int( ip_start_column ).
  start_cell-cell_row     = 1.
  start_cell-cell_column  = lv_column.
  lv_row_alpha = ip_start_row.
  SHIFT lv_row_alpha RIGHT DELETING TRAILING space.
  SHIFT lv_row_alpha LEFT DELETING LEADING space.
  CONCATENATE ip_start_column lv_row_alpha INTO start_cell-cell_coords.
ENDMETHOD.</source>
  </method>
 </CLAS>
 <CLAS CLSNAME="ZCL_EXCEL_STYLE_FILL" VERSION="1" LANGU="E" DESCRIPT="Font Style" UUID="44C0274C8A345F2DE1000000C0A8FA19" CATEGORY="00" EXPOSURE="2" STATE="1" RELEASE="0" AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" CHGDANYON="00000000" CLSFINAL="X" CLSCCINCL="X" FIXPT="X" UNICODE="X" R3RELEASE="701" CLSBCCAT="00" DURATION_TYPE="0 " RISK_LEVEL="0 ">
  <publicSection>class ZCL_EXCEL_STYLE_FILL definition
  public
  final
  create public .

*&quot;* public components of class ZCL_EXCEL_STYLE_FILL
*&quot;* do not include other source files here!!!
public section.

  class-data C_FILL_NONE type ZEXCEL_FILL_TYPE value &apos;none&apos;. &quot;#EC NOTEXT .
  class-data C_FILL_SOLID type ZEXCEL_FILL_TYPE value &apos;solid&apos;. &quot;#EC NOTEXT .
  class-data C_FILL_GRADIENT_LINEAR type ZEXCEL_FILL_TYPE value &apos;linear&apos;. &quot;#EC NOTEXT .
  class-data C_FILL_GRADIENT_PATH type ZEXCEL_FILL_TYPE value &apos;path&apos;. &quot;#EC NOTEXT .
  class-data C_FILL_PATTERN_DARKDOWN type ZEXCEL_FILL_TYPE value &apos;darkDown&apos;. &quot;#EC NOTEXT .
  class-data C_FILL_PATTERN_DARKGRAY type ZEXCEL_FILL_TYPE value &apos;darkGray&apos;. &quot;#EC NOTEXT .
  class-data C_FILL_PATTERN_DARKGRID type ZEXCEL_FILL_TYPE value &apos;darkGrid&apos;. &quot;#EC NOTEXT .
  class-data C_FILL_PATTERN_DARKHORIZONTAL type ZEXCEL_FILL_TYPE value &apos;darkHorizontal&apos;. &quot;#EC NOTEXT .
  class-data C_FILL_PATTERN_DARKTRELLIS type ZEXCEL_FILL_TYPE value &apos;darkTrellis&apos;. &quot;#EC NOTEXT .
  class-data C_FILL_PATTERN_DARKUP type ZEXCEL_FILL_TYPE value &apos;darkUp&apos;. &quot;#EC NOTEXT .
  class-data C_FILL_PATTERN_DARKVERTICAL type ZEXCEL_FILL_TYPE value &apos;darkVertical&apos;. &quot;#EC NOTEXT .
  class-data C_FILL_PATTERN_GRAY0625 type ZEXCEL_FILL_TYPE value &apos;gray0625&apos;. &quot;#EC NOTEXT .
  class-data C_FILL_PATTERN_GRAY125 type ZEXCEL_FILL_TYPE value &apos;gray125&apos;. &quot;#EC NOTEXT .
  class-data C_FILL_PATTERN_LIGHTDOWN type ZEXCEL_FILL_TYPE value &apos;lightDown&apos;. &quot;#EC NOTEXT .
  class-data C_FILL_PATTERN_LIGHTGRAY type ZEXCEL_FILL_TYPE value &apos;lightGray&apos;. &quot;#EC NOTEXT .
  class-data C_FILL_PATTERN_LIGHTGRID type ZEXCEL_FILL_TYPE value &apos;lightGrid&apos;. &quot;#EC NOTEXT .
  class-data C_FILL_PATTERN_LIGHTHORIZONTAL type ZEXCEL_FILL_TYPE value &apos;lightHorizontal&apos;. &quot;#EC NOTEXT .
  class-data C_FILL_PATTERN_LIGHTTRELLIS type ZEXCEL_FILL_TYPE value &apos;lightTrellis&apos;. &quot;#EC NOTEXT .
  class-data C_FILL_PATTERN_LIGHTUP type ZEXCEL_FILL_TYPE value &apos;lightUp&apos;. &quot;#EC NOTEXT .
  class-data C_FILL_PATTERN_LIGHTVERTICAL type ZEXCEL_FILL_TYPE value &apos;lightVertical&apos;. &quot;#EC NOTEXT .
  class-data C_FILL_PATTERN_MEDIUMGRAY type ZEXCEL_FILL_TYPE value &apos;mediumGray&apos;. &quot;#EC NOTEXT .
  data FILLTYPE type ZEXCEL_FILL_TYPE .
  data ROTATION type ZEXCEL_ROTATION .
  data FGCOLOR type ZEXCEL_STYLE_COLOR_ARGB .
  data BGCOLOR type ZEXCEL_STYLE_COLOR_ARGB value &apos;64&apos;. &quot;#EC NOTEXT .

  methods CONSTRUCTOR .
  methods GET_STRUCTURE
    returning
      value(ES_FILL) type ZEXCEL_S_STYLE_FILL .</publicSection>
  <protectedSection>*&quot;* protected components of class ZABAP_EXCEL_STYLE_FONT
*&quot;* do not include other source files here!!!
protected section.</protectedSection>
  <privateSection>*&quot;* private components of class ZCL_EXCEL_STYLE_FILL
*&quot;* do not include other source files here!!!
private section.</privateSection>
  <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>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_FILL" CMPNAME="BGCOLOR" VERSION="1" LANGU="E" DESCRIPT="Color ARGB" EXPOSURE="2" STATE="1" EDITORDER="25 " AUTHOR="FEMIA" CREATEDON="20100705" CHANGEDBY="FEMIA" CHANGEDON="20100706" ATTDECLTYP="0" ATTVALUE="&apos;64&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_STYLE_COLOR_ARGB" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_FILL" CMPNAME="C_FILL_GRADIENT_LINEAR" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="3 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100705" ATTDECLTYP="1" ATTVALUE="&apos;linear&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_FILL_TYPE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_FILL" CMPNAME="C_FILL_GRADIENT_PATH" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="4 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100705" ATTDECLTYP="1" ATTVALUE="&apos;path&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_FILL_TYPE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_FILL" CMPNAME="C_FILL_NONE" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="1 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100705" ATTDECLTYP="1" ATTVALUE="&apos;none&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_FILL_TYPE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_FILL" CMPNAME="C_FILL_PATTERN_DARKDOWN" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="5 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100705" ATTDECLTYP="1" ATTVALUE="&apos;darkDown&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_FILL_TYPE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_FILL" CMPNAME="C_FILL_PATTERN_DARKGRAY" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="6 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100705" ATTDECLTYP="1" ATTVALUE="&apos;darkGray&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_FILL_TYPE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_FILL" CMPNAME="C_FILL_PATTERN_DARKGRID" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="7 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100705" ATTDECLTYP="1" ATTVALUE="&apos;darkGrid&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_FILL_TYPE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_FILL" CMPNAME="C_FILL_PATTERN_DARKHORIZONTAL" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="8 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100705" ATTDECLTYP="1" ATTVALUE="&apos;darkHorizontal&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_FILL_TYPE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_FILL" CMPNAME="C_FILL_PATTERN_DARKTRELLIS" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="9 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100705" ATTDECLTYP="1" ATTVALUE="&apos;darkTrellis&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_FILL_TYPE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_FILL" CMPNAME="C_FILL_PATTERN_DARKUP" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="10 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100705" ATTDECLTYP="1" ATTVALUE="&apos;darkUp&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_FILL_TYPE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_FILL" CMPNAME="C_FILL_PATTERN_DARKVERTICAL" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="11 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100705" ATTDECLTYP="1" ATTVALUE="&apos;darkVertical&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_FILL_TYPE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_FILL" CMPNAME="C_FILL_PATTERN_GRAY0625" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="12 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100705" ATTDECLTYP="1" ATTVALUE="&apos;gray0625&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_FILL_TYPE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_FILL" CMPNAME="C_FILL_PATTERN_GRAY125" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="13 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100705" ATTDECLTYP="1" ATTVALUE="&apos;gray125&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_FILL_TYPE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_FILL" CMPNAME="C_FILL_PATTERN_LIGHTDOWN" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="14 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100705" ATTDECLTYP="1" ATTVALUE="&apos;lightDown&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_FILL_TYPE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_FILL" CMPNAME="C_FILL_PATTERN_LIGHTGRAY" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="15 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100705" ATTDECLTYP="1" ATTVALUE="&apos;lightGray&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_FILL_TYPE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_FILL" CMPNAME="C_FILL_PATTERN_LIGHTGRID" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="16 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100705" ATTDECLTYP="1" ATTVALUE="&apos;lightGrid&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_FILL_TYPE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_FILL" CMPNAME="C_FILL_PATTERN_LIGHTHORIZONTAL" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="17 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100705" ATTDECLTYP="1" ATTVALUE="&apos;lightHorizontal&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_FILL_TYPE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_FILL" CMPNAME="C_FILL_PATTERN_LIGHTTRELLIS" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="18 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100705" ATTDECLTYP="1" ATTVALUE="&apos;lightTrellis&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_FILL_TYPE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_FILL" CMPNAME="C_FILL_PATTERN_LIGHTUP" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="19 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100705" ATTDECLTYP="1" ATTVALUE="&apos;lightUp&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_FILL_TYPE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_FILL" CMPNAME="C_FILL_PATTERN_LIGHTVERTICAL" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="20 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100705" ATTDECLTYP="1" ATTVALUE="&apos;lightVertical&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_FILL_TYPE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_FILL" CMPNAME="C_FILL_PATTERN_MEDIUMGRAY" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="21 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100705" ATTDECLTYP="1" ATTVALUE="&apos;mediumGray&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_FILL_TYPE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_FILL" CMPNAME="C_FILL_SOLID" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="2 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100705" ATTDECLTYP="1" ATTVALUE="&apos;solid&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_FILL_TYPE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_FILL" CMPNAME="FGCOLOR" VERSION="1" LANGU="E" DESCRIPT="Color ARGB" EXPOSURE="2" STATE="1" EDITORDER="24 " AUTHOR="FEMIA" CREATEDON="20100705" CHANGEDON="00000000" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_STYLE_COLOR_ARGB" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_FILL" CMPNAME="FILLTYPE" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="22 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_FILL_TYPE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_FILL" CMPNAME="ROTATION" VERSION="1" LANGU="E" DESCRIPT="Rotation" EXPOSURE="2" STATE="1" EDITORDER="23 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_ROTATION" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <method CLSNAME="ZCL_EXCEL_STYLE_FILL" CMPNAME="CONSTRUCTOR" VERSION="1" LANGU="E" DESCRIPT="CONSTRUCTOR" EXPOSURE="2" STATE="1" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" MTDTYPE="2" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <source>METHOD constructor.
  filltype = zcl_excel_style_fill=&gt;c_fill_none.
  rotation = 0.
ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_STYLE_FILL" CMPNAME="GET_STRUCTURE" VERSION="1" LANGU="E" DESCRIPT="Get structure" EXPOSURE="2" STATE="1" EDITORDER="2 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100704" CHANGEDON="00000000" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_STYLE_FILL" CMPNAME="GET_STRUCTURE" SCONAME="ES_FILL" VERSION="1" LANGU="E" DESCRIPT="Cell Fill" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100704" CHANGEDON="00000000" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="ZEXCEL_S_STYLE_FILL"/>
   <source>METHOD get_structure.
  es_fill-rotation  = me-&gt;rotation.
  es_fill-filltype  = me-&gt;filltype.
  es_fill-fgColor   = me-&gt;fgColor.
  es_fill-bgColor   = me-&gt;bgColor.
ENDMETHOD.</source>
  </method>
 </CLAS>
 <CLAS CLSNAME="ZCL_EXCEL_STYLE_FONT" VERSION="1" LANGU="E" DESCRIPT="Font Style" UUID="5BC0274C8A345F2DE1000000C0A8FA19" CATEGORY="00" EXPOSURE="2" STATE="1" RELEASE="0" AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" CHGDANYON="00000000" CLSFINAL="X" CLSCCINCL="X" FIXPT="X" UNICODE="X" R3RELEASE="701" CLSBCCAT="00" DURATION_TYPE="0 " RISK_LEVEL="0 ">
  <publicSection>class ZCL_EXCEL_STYLE_FONT definition
  public
  final
  create public .

*&quot;* public components of class ZCL_EXCEL_STYLE_FONT
*&quot;* do not include other source files here!!!
public section.
  type-pools ABAP .

  data BOLD type FLAG .
  data COLOR type ZEXCEL_STYLE_COLOR_ARGB .
  class-data C_SCHEME_MAJOR type ZEXCEL_STYLE_FONT_SCHEME value &apos;major&apos;. &quot;#EC NOTEXT .
  class-data C_SCHEME_MINOR type ZEXCEL_STYLE_FONT_SCHEME value &apos;minor&apos;. &quot;#EC NOTEXT .
  class-data C_UNDERLINE_DOUBLE type CHAR20 value &apos;double&apos;. &quot;#EC NOTEXT .
  class-data C_UNDERLINE_DOUBLEACCOUNTING type CHAR20 value &apos;doubleAccounting&apos;. &quot;#EC NOTEXT .
  class-data C_UNDERLINE_NONE type CHAR20 value &apos;none&apos;. &quot;#EC NOTEXT .
  class-data C_UNDERLINE_SINGLE type CHAR20 value &apos;single&apos;. &quot;#EC NOTEXT .
  class-data C_UNDERLINE_SINGLEACCOUNTING type CHAR20 value &apos;singleAccounting&apos;. &quot;#EC NOTEXT .
  data FAMILY type INT1 value 2. &quot;#EC NOTEXT .
  data ITALIC type FLAG .
  data NAME type CHAR255 value &apos;Calibri&apos;. &quot;#EC NOTEXT .
  data SCHEME type ZEXCEL_STYLE_FONT_SCHEME .
  data SIZE type INT1 value 11. &quot;#EC NOTEXT .
  data STRIKETHROUGH type FLAG .
  data UNDERLINE type FLAG .
  data UNDERLINE_MODE type CHAR20 .

  methods CONSTRUCTOR .
  methods GET_STRUCTURE
    returning
      value(ES_FONT) type ZEXCEL_S_STYLE_FONT .</publicSection>
  <protectedSection>*&quot;* protected components of class ZABAP_EXCEL_STYLE_FONT
*&quot;* do not include other source files here!!!
protected section.</protectedSection>
  <privateSection>*&quot;* private components of class ZCL_EXCEL_STYLE_FONT
*&quot;* do not include other source files here!!!
private section.</privateSection>
  <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_STYLE_FONT" TYPEGROUP="ABAP" VERSION="1" TPUTYPE="0" EXPLICIT="X"/>
  <forwardDeclaration>ABAP</forwardDeclaration>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_FONT" CMPNAME="BOLD" VERSION="1" LANGU="E" DESCRIPT="Bold" EXPOSURE="2" STATE="1" EDITORDER="1 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100704" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="FLAG" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_FONT" CMPNAME="COLOR" VERSION="1" LANGU="E" DESCRIPT="Color ARGB" EXPOSURE="2" STATE="1" EDITORDER="2 " AUTHOR="FEMIA" CREATEDON="20100704" CHANGEDBY="FEMIA" CHANGEDON="20100705" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_STYLE_COLOR_ARGB" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_FONT" CMPNAME="C_SCHEME_MAJOR" VERSION="1" LANGU="E" DESCRIPT="Char255" EXPOSURE="2" STATE="1" EDITORDER="3 " AUTHOR="FEMIA" CREATEDON="20100704" CHANGEDBY="FEMIA" CHANGEDON="20100705" ATTDECLTYP="1" ATTVALUE="&apos;major&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_STYLE_FONT_SCHEME" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_FONT" CMPNAME="C_SCHEME_MINOR" VERSION="1" LANGU="E" DESCRIPT="Char255" EXPOSURE="2" STATE="1" EDITORDER="4 " AUTHOR="FEMIA" CREATEDON="20100704" CHANGEDBY="FEMIA" CHANGEDON="20100705" ATTDECLTYP="1" ATTVALUE="&apos;minor&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_STYLE_FONT_SCHEME" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_FONT" CMPNAME="C_UNDERLINE_DOUBLE" VERSION="1" LANGU="E" EXPOSURE="2" STATE="1" EDITORDER="5 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100705" ATTDECLTYP="1" ATTVALUE="&apos;double&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="CHAR20" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_FONT" CMPNAME="C_UNDERLINE_DOUBLEACCOUNTING" VERSION="1" LANGU="E" EXPOSURE="2" STATE="1" EDITORDER="6 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100705" ATTDECLTYP="1" ATTVALUE="&apos;doubleAccounting&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="CHAR20" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_FONT" CMPNAME="C_UNDERLINE_NONE" VERSION="1" LANGU="E" EXPOSURE="2" STATE="1" EDITORDER="7 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100705" ATTDECLTYP="1" ATTVALUE="&apos;none&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="CHAR20" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_FONT" CMPNAME="C_UNDERLINE_SINGLE" VERSION="1" LANGU="E" EXPOSURE="2" STATE="1" EDITORDER="8 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100705" ATTDECLTYP="1" ATTVALUE="&apos;single&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="CHAR20" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_FONT" CMPNAME="C_UNDERLINE_SINGLEACCOUNTING" VERSION="1" LANGU="E" EXPOSURE="2" STATE="1" EDITORDER="9 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100705" ATTDECLTYP="1" ATTVALUE="&apos;singleAccounting&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="CHAR20" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_FONT" CMPNAME="FAMILY" VERSION="1" LANGU="E" DESCRIPT="Family code" EXPOSURE="2" STATE="1" EDITORDER="10 " AUTHOR="FEMIA" CREATEDON="20100704" CHANGEDBY="FEMIA" CHANGEDON="20100705" ATTDECLTYP="0" ATTVALUE="2" ATTEXPVIRT="0" TYPTYPE="1" TYPE="INT1" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_FONT" CMPNAME="ITALIC" VERSION="1" LANGU="E" DESCRIPT="Italic" EXPOSURE="2" STATE="1" EDITORDER="11 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100704" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="FLAG" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_FONT" CMPNAME="NAME" VERSION="1" LANGU="E" DESCRIPT="Name" EXPOSURE="2" STATE="1" EDITORDER="12 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100704" ATTDECLTYP="0" ATTVALUE="&apos;Calibri&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="CHAR255" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_FONT" CMPNAME="SCHEME" VERSION="1" LANGU="E" DESCRIPT="Scheme code" EXPOSURE="2" STATE="1" EDITORDER="13 " AUTHOR="FEMIA" CREATEDON="20100704" CHANGEDBY="FEMIA" CHANGEDON="20100704" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_STYLE_FONT_SCHEME" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_FONT" CMPNAME="SIZE" VERSION="1" LANGU="E" DESCRIPT="Size" EXPOSURE="2" STATE="1" EDITORDER="14 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100704" ATTDECLTYP="0" ATTVALUE="11" ATTEXPVIRT="0" TYPTYPE="1" TYPE="INT1" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_FONT" CMPNAME="STRIKETHROUGH" VERSION="1" LANGU="E" DESCRIPT="Strikethrough" EXPOSURE="2" STATE="1" EDITORDER="15 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100704" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="FLAG" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_FONT" CMPNAME="UNDERLINE" VERSION="1" LANGU="E" DESCRIPT="Underline" EXPOSURE="2" STATE="1" EDITORDER="16 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100704" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="FLAG" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_FONT" CMPNAME="UNDERLINE_MODE" VERSION="1" LANGU="E" DESCRIPT="Underline mode" EXPOSURE="2" STATE="1" EDITORDER="17 " AUTHOR="FEMIA" CREATEDON="20100705" CHANGEDON="00000000" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="CHAR20" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <method CLSNAME="ZCL_EXCEL_STYLE_FONT" CMPNAME="CONSTRUCTOR" VERSION="1" LANGU="E" DESCRIPT="CONSTRUCTOR" EXPOSURE="2" STATE="1" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" MTDTYPE="2" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <source>METHOD constructor.


  me-&gt;color           = zcl_excel_style_color=&gt;c_black.
  me-&gt;scheme          = zcl_excel_style_font=&gt;c_scheme_minor.
  me-&gt;underline_mode  = zcl_excel_style_font=&gt;c_underline_single.
ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_STYLE_FONT" CMPNAME="GET_STRUCTURE" VERSION="1" LANGU="E" DESCRIPT="Get class as a structure" EXPOSURE="2" STATE="1" EDITORDER="2 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100704" CHANGEDON="00000000" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_STYLE_FONT" CMPNAME="GET_STRUCTURE" SCONAME="ES_FONT" VERSION="1" LANGU="E" DESCRIPT="Cell Font" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100704" CHANGEDON="00000000" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="ZEXCEL_S_STYLE_FONT"/>
   <source>METHOD get_structure.


  es_font-bold            = me-&gt;bold.
  es_font-italic          = me-&gt;italic.
  es_font-underline       = me-&gt;underline.
  es_font-underline_mode  = me-&gt;underline_mode.
  es_font-strikethrough   = me-&gt;strikethrough.
  es_font-size            = me-&gt;size.
  es_font-color           = me-&gt;color.
  es_font-name            = me-&gt;name.
  es_font-family          = me-&gt;family.
  es_font-scheme          = me-&gt;scheme.

ENDMETHOD.</source>
  </method>
 </CLAS>
 <CLAS CLSNAME="ZCL_EXCEL_STYLE_NUMBER_FORMAT" VERSION="1" LANGU="E" DESCRIPT="Font Style" UUID="7FC0274C8A345F2DE1000000C0A8FA19" CATEGORY="00" EXPOSURE="2" STATE="1" RELEASE="0" AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" CHGDANYON="00000000" CLSFINAL="X" CLSCCINCL="X" FIXPT="X" UNICODE="X" R3RELEASE="701" CLSBCCAT="00" DURATION_TYPE="0 " RISK_LEVEL="0 ">
  <publicSection>class ZCL_EXCEL_STYLE_NUMBER_FORMAT definition
  public
  final
  create public .

*&quot;* public components of class ZCL_EXCEL_STYLE_NUMBER_FORMAT
*&quot;* do not include other source files here!!!
public section.

  class-data C_FORMAT_NUMBER type ZEXCEL_NUMBER_FORMAT value &apos;0&apos;. &quot;#EC NOTEXT .
  class-data C_FORMAT_NUMBER_00 type ZEXCEL_NUMBER_FORMAT value &apos;0.00&apos;. &quot;#EC NOTEXT .
  class-data C_FORMAT_NUMBER_COMMA_SEP1 type ZEXCEL_NUMBER_FORMAT value &apos;#,##0.00&apos;. &quot;#EC NOTEXT .
  class-data C_FORMAT_NUMBER_COMMA_SEP2 type ZEXCEL_NUMBER_FORMAT value &apos;#,##0.00_-&apos;. &quot;#EC NOTEXT .
  class-data C_FORMAT_PERCENTAGE type ZEXCEL_NUMBER_FORMAT value &apos;0%&apos;. &quot;#EC NOTEXT .
  class-data C_FORMAT_PERCENTAGE_00 type ZEXCEL_NUMBER_FORMAT value &apos;0.00%&apos;. &quot;#EC NOTEXT .
  class-data C_FORMAT_DATE_YYYYMMDD2 type ZEXCEL_NUMBER_FORMAT value &apos;yyyy-mm-dd&apos;. &quot;#EC NOTEXT .
  class-data C_FORMAT_DATE_YYYYMMDD type ZEXCEL_NUMBER_FORMAT value &apos;yy-mm-dd&apos;. &quot;#EC NOTEXT .
  class-data C_FORMAT_DATE_DDMMYYYY type ZEXCEL_NUMBER_FORMAT value &apos;dd/mm/yy&apos;. &quot;#EC NOTEXT .
  class-data C_FORMAT_DATE_DMYSLASH type ZEXCEL_NUMBER_FORMAT value &apos;d/m/y&apos;. &quot;#EC NOTEXT .
  class-data C_FORMAT_DATE_DMYMINUS type ZEXCEL_NUMBER_FORMAT value &apos;d-m-y&apos;. &quot;#EC NOTEXT .
  class-data C_FORMAT_DATE_DMMINUS type ZEXCEL_NUMBER_FORMAT value &apos;d-m&apos;. &quot;#EC NOTEXT .
  class-data C_FORMAT_DATE_MYMINUS type ZEXCEL_NUMBER_FORMAT value &apos;m-y&apos;. &quot;#EC NOTEXT .
  class-data C_FORMAT_DATE_XLSX14 type ZEXCEL_NUMBER_FORMAT value &apos;mm-dd-yy&apos;. &quot;#EC NOTEXT .
  class-data C_FORMAT_DATE_XLSX15 type ZEXCEL_NUMBER_FORMAT value &apos;d-mmm-yy&apos;. &quot;#EC NOTEXT .
  class-data C_FORMAT_DATE_XLSX16 type ZEXCEL_NUMBER_FORMAT value &apos;d-mmm&apos;. &quot;#EC NOTEXT .
  class-data C_FORMAT_DATE_XLSX17 type ZEXCEL_NUMBER_FORMAT value &apos;mmm-yy&apos;. &quot;#EC NOTEXT .
  class-data C_FORMAT_DATE_XLSX22 type ZEXCEL_NUMBER_FORMAT value &apos;m/d/yy h:mm&apos;. &quot;#EC NOTEXT .
  class-data C_FORMAT_DATE_DATETIME type ZEXCEL_NUMBER_FORMAT value &apos;d/m/y h:mm&apos;. &quot;#EC NOTEXT .
  class-data C_FORMAT_DATE_TIME1 type ZEXCEL_NUMBER_FORMAT value &apos;h:mm AM/PM&apos;. &quot;#EC NOTEXT .
  class-data C_FORMAT_DATE_TIME2 type ZEXCEL_NUMBER_FORMAT value &apos;h:mm:ss AM/PM&apos;. &quot;#EC NOTEXT .
  class-data C_FORMAT_DATE_TIME3 type ZEXCEL_NUMBER_FORMAT value &apos;h:mm&apos;. &quot;#EC NOTEXT .
  class-data C_FORMAT_DATE_TIME4 type ZEXCEL_NUMBER_FORMAT value &apos;h:mm:ss&apos;. &quot;#EC NOTEXT .
  class-data C_FORMAT_DATE_TIME5 type ZEXCEL_NUMBER_FORMAT value &apos;mm:ss&apos;. &quot;#EC NOTEXT .
  class-data C_FORMAT_DATE_TIME6 type ZEXCEL_NUMBER_FORMAT value &apos;h:mm:ss&apos;. &quot;#EC NOTEXT .
  class-data C_FORMAT_DATE_TIME7 type ZEXCEL_NUMBER_FORMAT value &apos;i:s.S&apos;. &quot;#EC NOTEXT .
  class-data C_FORMAT_DATE_TIME8 type ZEXCEL_NUMBER_FORMAT value &apos;h:mm:ss@&apos;. &quot;#EC NOTEXT .
  class-data C_FORMAT_DATE_YYYYMMDDSLASH type ZEXCEL_NUMBER_FORMAT value &apos;yy/mm/dd@&apos;. &quot;#EC NOTEXT .
  class-data C_FORMAT_CURRENCY_USD_SIMPLE type ZEXCEL_NUMBER_FORMAT value &apos;&quot;$&quot;#,##0.00_-&apos;. &quot;#EC NOTEXT .
  class-data C_FORMAT_CURRENCY_USD type ZEXCEL_NUMBER_FORMAT value &apos;$#,##0_-&apos;. &quot;#EC NOTEXT .
  class-data C_FORMAT_CURRENCY_EUR_SIMPLE type ZEXCEL_NUMBER_FORMAT value &apos;[$EUR ]#,##0.00_-&apos;. &quot;#EC NOTEXT .
  data FORMAT_CODE type ZEXCEL_NUMBER_FORMAT .

  methods CONSTRUCTOR .
  methods GET_STRUCTURE
    returning
      value(EP_NUMBER_FORMAT) type ZEXCEL_NUMBER_FORMAT .</publicSection>
  <protectedSection>*&quot;* protected components of class ZABAP_EXCEL_STYLE_FONT
*&quot;* do not include other source files here!!!
protected section.</protectedSection>
  <privateSection>*&quot;* private components of class ZCL_EXCEL_STYLE_NUMBER_FORMAT
*&quot;* do not include other source files here!!!
private section.

  class-data C_FORMAT_GENERAL type ZEXCEL_NUMBER_FORMAT value &apos;&apos;. &quot;#EC NOTEXT .
  class-data C_FORMAT_TEXT type ZEXCEL_NUMBER_FORMAT value &apos;@&apos;. &quot;#EC NOTEXT .</privateSection>
  <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>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_NUMBER_FORMAT" CMPNAME="C_FORMAT_CURRENCY_EUR_SIMPLE" VERSION="1" LANGU="E" DESCRIPT="Number format" EXPOSURE="2" STATE="1" EDITORDER="33 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100708" ATTDECLTYP="1" ATTVALUE="&apos;[$EUR ]#,##0.00_-&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_NUMBER_FORMAT" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_NUMBER_FORMAT" CMPNAME="C_FORMAT_CURRENCY_USD" VERSION="1" LANGU="E" DESCRIPT="Number format" EXPOSURE="2" STATE="1" EDITORDER="32 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100708" ATTDECLTYP="1" ATTVALUE="&apos;$#,##0_-&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_NUMBER_FORMAT" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_NUMBER_FORMAT" CMPNAME="C_FORMAT_CURRENCY_USD_SIMPLE" VERSION="1" LANGU="E" DESCRIPT="Number format" EXPOSURE="2" STATE="1" EDITORDER="31 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100708" ATTDECLTYP="1" ATTVALUE="&apos;&quot;$&quot;#,##0.00_-&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_NUMBER_FORMAT" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_NUMBER_FORMAT" CMPNAME="C_FORMAT_DATE_DATETIME" VERSION="1" LANGU="E" DESCRIPT="Number format" EXPOSURE="2" STATE="1" EDITORDER="21 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100708" ATTDECLTYP="1" ATTVALUE="&apos;d/m/y h:mm&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_NUMBER_FORMAT" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_NUMBER_FORMAT" CMPNAME="C_FORMAT_DATE_DDMMYYYY" VERSION="1" LANGU="E" DESCRIPT="Number format" EXPOSURE="2" STATE="1" EDITORDER="11 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100708" ATTDECLTYP="1" ATTVALUE="&apos;dd/mm/yy&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_NUMBER_FORMAT" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_NUMBER_FORMAT" CMPNAME="C_FORMAT_DATE_DMMINUS" VERSION="1" LANGU="E" DESCRIPT="Number format" EXPOSURE="2" STATE="1" EDITORDER="14 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100708" ATTDECLTYP="1" ATTVALUE="&apos;d-m&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_NUMBER_FORMAT" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_NUMBER_FORMAT" CMPNAME="C_FORMAT_DATE_DMYMINUS" VERSION="1" LANGU="E" DESCRIPT="Number format" EXPOSURE="2" STATE="1" EDITORDER="13 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100708" ATTDECLTYP="1" ATTVALUE="&apos;d-m-y&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_NUMBER_FORMAT" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_NUMBER_FORMAT" CMPNAME="C_FORMAT_DATE_DMYSLASH" VERSION="1" LANGU="E" DESCRIPT="Number format" EXPOSURE="2" STATE="1" EDITORDER="12 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100708" ATTDECLTYP="1" ATTVALUE="&apos;d/m/y&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_NUMBER_FORMAT" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_NUMBER_FORMAT" CMPNAME="C_FORMAT_DATE_MYMINUS" VERSION="1" LANGU="E" DESCRIPT="Number format" EXPOSURE="2" STATE="1" EDITORDER="15 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100708" ATTDECLTYP="1" ATTVALUE="&apos;m-y&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_NUMBER_FORMAT" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_NUMBER_FORMAT" CMPNAME="C_FORMAT_DATE_TIME1" VERSION="1" LANGU="E" DESCRIPT="Number format" EXPOSURE="2" STATE="1" EDITORDER="22 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100708" ATTDECLTYP="1" ATTVALUE="&apos;h:mm AM/PM&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_NUMBER_FORMAT" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_NUMBER_FORMAT" CMPNAME="C_FORMAT_DATE_TIME2" VERSION="1" LANGU="E" DESCRIPT="Number format" EXPOSURE="2" STATE="1" EDITORDER="23 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100708" ATTDECLTYP="1" ATTVALUE="&apos;h:mm:ss AM/PM&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_NUMBER_FORMAT" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_NUMBER_FORMAT" CMPNAME="C_FORMAT_DATE_TIME3" VERSION="1" LANGU="E" DESCRIPT="Number format" EXPOSURE="2" STATE="1" EDITORDER="24 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100708" ATTDECLTYP="1" ATTVALUE="&apos;h:mm&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_NUMBER_FORMAT" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_NUMBER_FORMAT" CMPNAME="C_FORMAT_DATE_TIME4" VERSION="1" LANGU="E" DESCRIPT="Number format" EXPOSURE="2" STATE="1" EDITORDER="25 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100708" ATTDECLTYP="1" ATTVALUE="&apos;h:mm:ss&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_NUMBER_FORMAT" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_NUMBER_FORMAT" CMPNAME="C_FORMAT_DATE_TIME5" VERSION="1" LANGU="E" DESCRIPT="Number format" EXPOSURE="2" STATE="1" EDITORDER="26 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100708" ATTDECLTYP="1" ATTVALUE="&apos;mm:ss&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_NUMBER_FORMAT" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_NUMBER_FORMAT" CMPNAME="C_FORMAT_DATE_TIME6" VERSION="1" LANGU="E" DESCRIPT="Number format" EXPOSURE="2" STATE="1" EDITORDER="27 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100708" ATTDECLTYP="1" ATTVALUE="&apos;h:mm:ss&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_NUMBER_FORMAT" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_NUMBER_FORMAT" CMPNAME="C_FORMAT_DATE_TIME7" VERSION="1" LANGU="E" DESCRIPT="Number format" EXPOSURE="2" STATE="1" EDITORDER="28 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100708" ATTDECLTYP="1" ATTVALUE="&apos;i:s.S&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_NUMBER_FORMAT" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_NUMBER_FORMAT" CMPNAME="C_FORMAT_DATE_TIME8" VERSION="1" LANGU="E" DESCRIPT="Number format" EXPOSURE="2" STATE="1" EDITORDER="29 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100708" ATTDECLTYP="1" ATTVALUE="&apos;h:mm:ss@&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_NUMBER_FORMAT" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_NUMBER_FORMAT" CMPNAME="C_FORMAT_DATE_XLSX14" VERSION="1" LANGU="E" DESCRIPT="Number format" EXPOSURE="2" STATE="1" EDITORDER="16 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100708" ATTDECLTYP="1" ATTVALUE="&apos;mm-dd-yy&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_NUMBER_FORMAT" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_NUMBER_FORMAT" CMPNAME="C_FORMAT_DATE_XLSX15" VERSION="1" LANGU="E" DESCRIPT="Number format" EXPOSURE="2" STATE="1" EDITORDER="17 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100708" ATTDECLTYP="1" ATTVALUE="&apos;d-mmm-yy&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_NUMBER_FORMAT" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_NUMBER_FORMAT" CMPNAME="C_FORMAT_DATE_XLSX16" VERSION="1" LANGU="E" DESCRIPT="Number format" EXPOSURE="2" STATE="1" EDITORDER="18 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100708" ATTDECLTYP="1" ATTVALUE="&apos;d-mmm&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_NUMBER_FORMAT" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_NUMBER_FORMAT" CMPNAME="C_FORMAT_DATE_XLSX17" VERSION="1" LANGU="E" DESCRIPT="Number format" EXPOSURE="2" STATE="1" EDITORDER="19 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100708" ATTDECLTYP="1" ATTVALUE="&apos;mmm-yy&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_NUMBER_FORMAT" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_NUMBER_FORMAT" CMPNAME="C_FORMAT_DATE_XLSX22" VERSION="1" LANGU="E" DESCRIPT="Number format" EXPOSURE="2" STATE="1" EDITORDER="20 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100708" ATTDECLTYP="1" ATTVALUE="&apos;m/d/yy h:mm&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_NUMBER_FORMAT" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_NUMBER_FORMAT" CMPNAME="C_FORMAT_DATE_YYYYMMDD" VERSION="1" LANGU="E" DESCRIPT="Number format" EXPOSURE="2" STATE="1" EDITORDER="10 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100708" ATTDECLTYP="1" ATTVALUE="&apos;yy-mm-dd&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_NUMBER_FORMAT" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_NUMBER_FORMAT" CMPNAME="C_FORMAT_DATE_YYYYMMDD2" VERSION="1" LANGU="E" DESCRIPT="Number format" EXPOSURE="2" STATE="1" EDITORDER="9 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100708" ATTDECLTYP="1" ATTVALUE="&apos;yyyy-mm-dd&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_NUMBER_FORMAT" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_NUMBER_FORMAT" CMPNAME="C_FORMAT_DATE_YYYYMMDDSLASH" VERSION="1" LANGU="E" DESCRIPT="Number format" EXPOSURE="2" STATE="1" EDITORDER="30 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100708" ATTDECLTYP="1" ATTVALUE="&apos;yy/mm/dd@&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_NUMBER_FORMAT" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_NUMBER_FORMAT" CMPNAME="C_FORMAT_GENERAL" VERSION="1" LANGU="E" DESCRIPT="Number format" EXPOSURE="0" STATE="1" EDITORDER="1 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100708" ATTDECLTYP="1" ATTVALUE="&apos;&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_NUMBER_FORMAT" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_NUMBER_FORMAT" CMPNAME="C_FORMAT_NUMBER" VERSION="1" LANGU="E" DESCRIPT="Number format" EXPOSURE="2" STATE="1" EDITORDER="3 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100708" ATTDECLTYP="1" ATTVALUE="&apos;0&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_NUMBER_FORMAT" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_NUMBER_FORMAT" CMPNAME="C_FORMAT_NUMBER_00" VERSION="1" LANGU="E" DESCRIPT="Number format" EXPOSURE="2" STATE="1" EDITORDER="4 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100708" ATTDECLTYP="1" ATTVALUE="&apos;0.00&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_NUMBER_FORMAT" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_NUMBER_FORMAT" CMPNAME="C_FORMAT_NUMBER_COMMA_SEP1" VERSION="1" LANGU="E" DESCRIPT="Number format" EXPOSURE="2" STATE="1" EDITORDER="5 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100708" ATTDECLTYP="1" ATTVALUE="&apos;#,##0.00&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_NUMBER_FORMAT" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_NUMBER_FORMAT" CMPNAME="C_FORMAT_NUMBER_COMMA_SEP2" VERSION="1" LANGU="E" DESCRIPT="Number format" EXPOSURE="2" STATE="1" EDITORDER="6 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100708" ATTDECLTYP="1" ATTVALUE="&apos;#,##0.00_-&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_NUMBER_FORMAT" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_NUMBER_FORMAT" CMPNAME="C_FORMAT_PERCENTAGE" VERSION="1" LANGU="E" DESCRIPT="Number format" EXPOSURE="2" STATE="1" EDITORDER="7 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100708" ATTDECLTYP="1" ATTVALUE="&apos;0%&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_NUMBER_FORMAT" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_NUMBER_FORMAT" CMPNAME="C_FORMAT_PERCENTAGE_00" VERSION="1" LANGU="E" DESCRIPT="Number format" EXPOSURE="2" STATE="1" EDITORDER="8 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100708" ATTDECLTYP="1" ATTVALUE="&apos;0.00%&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_NUMBER_FORMAT" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_NUMBER_FORMAT" CMPNAME="C_FORMAT_TEXT" VERSION="1" LANGU="E" DESCRIPT="Number format" EXPOSURE="0" STATE="1" EDITORDER="2 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100708" ATTDECLTYP="1" ATTVALUE="&apos;@&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_NUMBER_FORMAT" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_NUMBER_FORMAT" CMPNAME="FORMAT_CODE" VERSION="1" LANGU="E" DESCRIPT="Number format" EXPOSURE="2" STATE="1" EDITORDER="34 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_NUMBER_FORMAT" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <method CLSNAME="ZCL_EXCEL_STYLE_NUMBER_FORMAT" CMPNAME="CONSTRUCTOR" VERSION="1" LANGU="E" DESCRIPT="CONSTRUCTOR" EXPOSURE="2" STATE="1" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" MTDTYPE="2" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <source>METHOD constructor.
  format_code = me-&gt;c_format_general.
ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_STYLE_NUMBER_FORMAT" CMPNAME="GET_STRUCTURE" VERSION="1" LANGU="E" EXPOSURE="2" STATE="1" EDITORDER="2 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDON="00000000" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_STYLE_NUMBER_FORMAT" CMPNAME="GET_STRUCTURE" SCONAME="EP_NUMBER_FORMAT" VERSION="1" LANGU="E" DESCRIPT="Number format" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDON="00000000" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="ZEXCEL_NUMBER_FORMAT"/>
   <source>METHOD get_structure.
  ep_number_format = me-&gt;format_code.
ENDMETHOD.</source>
  </method>
 </CLAS>
 <CLAS CLSNAME="ZCL_EXCEL_STYLE_PROTECTION" VERSION="1" LANGU="E" DESCRIPT="Font Style" UUID="96C0274C8A345F2DE1000000C0A8FA19" CATEGORY="00" EXPOSURE="2" STATE="1" RELEASE="0" AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" CHGDANYON="00000000" CLSFINAL="X" CLSCCINCL="X" FIXPT="X" UNICODE="X" R3RELEASE="701" CLSBCCAT="00" DURATION_TYPE="0 " RISK_LEVEL="0 ">
  <publicSection>class ZCL_EXCEL_STYLE_PROTECTION definition
  public
  final
  create public .

*&quot;* public components of class ZCL_EXCEL_STYLE_PROTECTION
*&quot;* do not include other source files here!!!
public section.

  constants C_PROTECTION_INHERIT type ZEXCEL_PROTECTION value &apos;inherit&apos;. &quot;#EC NOTEXT
  constants C_PROTECTION_PROTECTED type ZEXCEL_PROTECTION value &apos;protected&apos;. &quot;#EC NOTEXT
  constants C_PROTECTION_UNPROTECTED type ZEXCEL_PROTECTION value &apos;unprotected&apos;. &quot;#EC NOTEXT
  data LOCKED type ZEXCEL_PROTECTION .
  data HIDDEN type ZEXCEL_PROTECTION .

  methods CONSTRUCTOR .</publicSection>
  <protectedSection>*&quot;* protected components of class ZABAP_EXCEL_STYLE_FONT
*&quot;* do not include other source files here!!!
protected section.</protectedSection>
  <privateSection>*&quot;* private components of class ZCL_EXCEL_STYLE_PROTECTION
*&quot;* do not include other source files here!!!
private section.</privateSection>
  <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>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_PROTECTION" CMPNAME="C_PROTECTION_INHERIT" VERSION="1" LANGU="E" DESCRIPT="Protection" EXPOSURE="2" STATE="1" EDITORDER="1 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" ATTDECLTYP="2" ATTVALUE="&apos;inherit&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_PROTECTION" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_PROTECTION" CMPNAME="C_PROTECTION_PROTECTED" VERSION="1" LANGU="E" DESCRIPT="Protection" EXPOSURE="2" STATE="1" EDITORDER="2 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" ATTDECLTYP="2" ATTVALUE="&apos;protected&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_PROTECTION" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_PROTECTION" CMPNAME="C_PROTECTION_UNPROTECTED" VERSION="1" LANGU="E" DESCRIPT="Protection" EXPOSURE="2" STATE="1" EDITORDER="3 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" ATTDECLTYP="2" ATTVALUE="&apos;unprotected&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_PROTECTION" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_PROTECTION" CMPNAME="HIDDEN" VERSION="1" LANGU="E" DESCRIPT="Protection" EXPOSURE="2" STATE="1" EDITORDER="5 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_PROTECTION" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE_PROTECTION" CMPNAME="LOCKED" VERSION="1" LANGU="E" DESCRIPT="Protection" EXPOSURE="2" STATE="1" EDITORDER="4 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_PROTECTION" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <method CLSNAME="ZCL_EXCEL_STYLE_PROTECTION" CMPNAME="CONSTRUCTOR" VERSION="1" LANGU="E" DESCRIPT="CONSTRUCTOR" EXPOSURE="2" STATE="1" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" MTDTYPE="2" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <source>METHOD constructor.
  locked = me-&gt;c_protection_inherit.
  hidden = me-&gt;c_protection_inherit.
ENDMETHOD.</source>
  </method>
 </CLAS>
 <CLAS CLSNAME="ZCL_EXCEL_WORKSHEET" VERSION="1" LANGU="E" DESCRIPT="Worksheet" UUID="C1BF274C8A345F2DE1000000C0A8FA19" CATEGORY="00" EXPOSURE="2" STATE="1" RELEASE="0" AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" CHGDANYON="00000000" CLSFINAL="X" CLSCCINCL="X" FIXPT="X" UNICODE="X" R3RELEASE="701" CLSBCCAT="00" DURATION_TYPE="0 " RISK_LEVEL="0 ">
  <publicSection>class ZCL_EXCEL_WORKSHEET definition
  public
  final
  create public .

*&quot;* public components of class ZCL_EXCEL_WORKSHEET
*&quot;* do not include other source files here!!!
public section.
  type-pools ABAP .

  class-data C_BREAK_COLUMN type ZEXCEL_BREAK value 2. &quot;#EC NOTEXT .
  class-data C_BREAK_NONE type ZEXCEL_BREAK value 0. &quot;#EC NOTEXT .
  class-data C_BREAK_ROW type ZEXCEL_BREAK value 1. &quot;#EC NOTEXT .
  class-data C_SHEET_STATE_HIDDEN type ZEXCEL_SHEET_STATE value &apos;hidden&apos;. &quot;#EC NOTEXT .
  class-data C_SHEET_STATE_VERYHIDDEN type ZEXCEL_SHEET_STATE value &apos;veryHidden&apos;. &quot;#EC NOTEXT .
  class-data C_SHEET_STATE_VISIBLE type ZEXCEL_SHEET_STATE value &apos;visible&apos;. &quot;#EC NOTEXT .
  data DEFAULTROWHEIGHT type INT1 value 15. &quot;#EC NOTEXT .
  data SHEET_CONTENT type ZEXCEL_T_CELL_DATA .
  data SHEET_SETUP type ref to ZCL_EXCEL_SHEET_SETUP .
  data SHEET_STATE type ZEXCEL_SHEET_STATE .
  data TITLE type ZEXCEL_SHEET_TITLE value &apos;Worksheet&apos;. &quot;#EC NOTEXT .

  methods CONSTRUCTOR
    importing
      !IP_TITLE type ZEXCEL_SHEET_TITLE optional .
  methods GET_ACTIVE_CELL
    returning
      value(EP_ACTIVE_CELL) type STRING .
  methods GET_CELL
    importing
      !IP_COLUMN type ZEXCEL_CELL_COLUMN_ALPHA
      !IP_ROW type ZEXCEL_CELL_ROW
    exporting
      !EP_VALUE type ZEXCEL_CELL_VALUE
      !EP_RC type SYSUBRC .
  methods GET_DIMENSION_RANGE
    returning
      value(EP_DIMENSION_RANGE) type STRING .
  methods GET_GUID
    returning
      value(EP_GUID) type GUID_16 .
  methods SET_CELL
    importing
      !IP_COLUMN type ZEXCEL_CELL_COLUMN_ALPHA
      !IP_ROW type ZEXCEL_CELL_ROW
      !IP_VALUE type ZEXCEL_CELL_VALUE
      !IP_FORMULA type ZEXCEL_CELL_FORMULA optional
      !IP_STYLE type ZEXCEL_CELL_STYLE optional .
  methods SET_TABLE
    importing
      !IP_TABLE type STANDARD TABLE
      !IP_HDR_STYLE type ZEXCEL_CELL_STYLE optional
      !IP_BODY_STYLE type ZEXCEL_CELL_STYLE optional
      !IP_TABLE_TITLE type STRING optional
      !IP_TOP_LEFT_COLUMN type ZEXCEL_CELL_COLUMN_ALPHA default &apos;B&apos;
      !IP_TOP_LEFT_ROW type ZEXCEL_CELL_ROW default 3 .
  methods ADD_NEW_CONDITIONAL_STYLE
    returning
      value(EO_CONDITIONAL_STYLE) type ref to ZCL_EXCEL_STYLE_CONDITIONAL .
  methods GET_COND_STYLES_ITERATOR
    returning
      value(EO_ITERATOR) type ref to CL_OBJECT_COLLECTION_ITERATOR .</publicSection>
  <protectedSection>*&quot;* protected components of class ZABAP_EXCEL_WORKSHEET
*&quot;* do not include other source files here!!!
protected section.</protectedSection>
  <privateSection>*&quot;* private components of class ZCL_EXCEL_WORKSHEET
*&quot;* do not include other source files here!!!
private section.

  data ACTIVE_CELL type ZEXCEL_S_CELL_DATA .
  data CONDITIONAL_STYLES type ref to ZCL_EXCEL_STYLES_CONDITIONAL .
  data GUID type GUID_16 .
  data LOWER_CELL type ZEXCEL_S_CELL_DATA .
  data UPPER_CELL type ZEXCEL_S_CELL_DATA .

  methods UPDATE_DIMENSION_RANGE .</privateSection>
  <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_WORKSHEET" TYPEGROUP="ABAP" VERSION="1" TPUTYPE="0" EXPLICIT="X"/>
  <forwardDeclaration>ABAP</forwardDeclaration>
  <attribute CLSNAME="ZCL_EXCEL_WORKSHEET" CMPNAME="ACTIVE_CELL" VERSION="1" LANGU="E" DESCRIPT="Version Number Component" EXPOSURE="0" STATE="1" EDITORDER="1 " AUTHOR="FEMIA" CREATEDON="20100702" CHANGEDBY="FEMIA" CHANGEDON="20100704" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_S_CELL_DATA" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_WORKSHEET" CMPNAME="CONDITIONAL_STYLES" VERSION="1" LANGU="E" DESCRIPT="Styles conditional collection" EXPOSURE="0" STATE="1" EDITORDER="2 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDBY="FEMIA" CHANGEDON="20100710" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="3" TYPE="ZCL_EXCEL_STYLES_CONDITIONAL" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_WORKSHEET" CMPNAME="C_BREAK_COLUMN" VERSION="1" LANGU="E" DESCRIPT="Worksheet Break" EXPOSURE="2" STATE="1" EDITORDER="3 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100708" ATTDECLTYP="1" ATTVALUE="2" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_BREAK" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_WORKSHEET" CMPNAME="C_BREAK_NONE" VERSION="1" LANGU="E" DESCRIPT="Worksheet Break" EXPOSURE="2" STATE="1" EDITORDER="4 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100708" ATTDECLTYP="1" ATTVALUE="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_BREAK" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_WORKSHEET" CMPNAME="C_BREAK_ROW" VERSION="1" LANGU="E" DESCRIPT="Worksheet Break" EXPOSURE="2" STATE="1" EDITORDER="5 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100708" ATTDECLTYP="1" ATTVALUE="1" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_BREAK" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_WORKSHEET" CMPNAME="C_SHEET_STATE_HIDDEN" VERSION="1" LANGU="E" DESCRIPT="Sheet state" EXPOSURE="2" STATE="1" EDITORDER="6 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100710" ATTDECLTYP="1" ATTVALUE="&apos;hidden&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_STATE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_WORKSHEET" CMPNAME="C_SHEET_STATE_VERYHIDDEN" VERSION="1" LANGU="E" DESCRIPT="Sheet state" EXPOSURE="2" STATE="1" EDITORDER="7 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100710" ATTDECLTYP="1" ATTVALUE="&apos;veryHidden&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_STATE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_WORKSHEET" CMPNAME="C_SHEET_STATE_VISIBLE" VERSION="1" LANGU="E" DESCRIPT="Sheet state" EXPOSURE="2" STATE="1" EDITORDER="8 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100710" ATTDECLTYP="1" ATTVALUE="&apos;visible&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_STATE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_WORKSHEET" CMPNAME="DEFAULTROWHEIGHT" VERSION="1" LANGU="E" DESCRIPT="Default row height" EXPOSURE="2" STATE="1" EDITORDER="9 " AUTHOR="FEMIA" CREATEDON="20100702" CHANGEDBY="FEMIA" CHANGEDON="20100710" ATTDECLTYP="0" ATTVALUE="15" ATTEXPVIRT="0" TYPTYPE="1" TYPE="INT1" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_WORKSHEET" CMPNAME="GUID" VERSION="1" LANGU="E" DESCRIPT="GUID in &apos;RAW&apos; format" EXPOSURE="0" STATE="1" EDITORDER="10 " AUTHOR="FEMIA" CREATEDON="20100704" CHANGEDBY="FEMIA" CHANGEDON="20100710" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="GUID_16" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_WORKSHEET" CMPNAME="LOWER_CELL" VERSION="1" LANGU="E" DESCRIPT="Bottom right range cell" EXPOSURE="0" STATE="1" EDITORDER="11 " AUTHOR="FEMIA" CREATEDON="20100704" CHANGEDBY="FEMIA" CHANGEDON="20100710" 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_WORKSHEET" CMPNAME="SHEET_CONTENT" VERSION="1" LANGU="E" DESCRIPT="Excel worksheet content" EXPOSURE="2" STATE="1" EDITORDER="12 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100710" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_T_CELL_DATA" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_WORKSHEET" CMPNAME="SHEET_SETUP" VERSION="1" LANGU="E" DESCRIPT="Sheet setup" EXPOSURE="2" STATE="1" EDITORDER="13 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100710" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="3" TYPE="ZCL_EXCEL_SHEET_SETUP" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_WORKSHEET" CMPNAME="SHEET_STATE" VERSION="1" LANGU="E" DESCRIPT="Sheet state" EXPOSURE="2" STATE="1" EDITORDER="14 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100710" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_STATE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_WORKSHEET" CMPNAME="TITLE" VERSION="1" LANGU="E" DESCRIPT="Title" EXPOSURE="2" STATE="1" EDITORDER="15 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100710" ATTDECLTYP="0" ATTVALUE="&apos;Worksheet&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_TITLE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_WORKSHEET" CMPNAME="UPPER_CELL" VERSION="1" LANGU="E" DESCRIPT="Top left range cell" EXPOSURE="0" STATE="1" EDITORDER="16 " AUTHOR="FEMIA" CREATEDON="20100704" CHANGEDBY="FEMIA" CHANGEDON="20100710" 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_WORKSHEET" CMPNAME="ADD_NEW_CONDITIONAL_STYLE" VERSION="1" LANGU="E" DESCRIPT="Creates a new conditional formatting" EXPOSURE="2" STATE="1" EDITORDER="9 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100710" CHANGEDON="00000000" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_WORKSHEET" CMPNAME="ADD_NEW_CONDITIONAL_STYLE" SCONAME="EO_CONDITIONAL_STYLE" VERSION="1" LANGU="E" DESCRIPT="Font Style" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100710" CHANGEDON="00000000" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="3" TYPE="ZCL_EXCEL_STYLE_CONDITIONAL"/>
   <source>METHOD add_new_conditional_style.


  CREATE OBJECT eo_conditional_style.
  conditional_styles-&gt;add( eo_conditional_style ).
ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_WORKSHEET" CMPNAME="CONSTRUCTOR" VERSION="1" LANGU="E" DESCRIPT="CONSTRUCTOR" EXPOSURE="2" STATE="1" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" MTDTYPE="2" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_WORKSHEET" CMPNAME="CONSTRUCTOR" SCONAME="IP_TITLE" VERSION="1" LANGU="E" DESCRIPT="Title" CMPTYPE="1" MTDTYPE="2" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDON="00000000" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_SHEET_TITLE" PAROPTIONL="X"/>
   <source>METHOD constructor.


  CALL FUNCTION &apos;GUID_CREATE&apos;
    IMPORTING
      ev_guid_16 = me-&gt;guid.

  IF ip_title IS NOT INITIAL.
    title = ip_title.
  ELSE.
    title = me-&gt;guid.
  ENDIF.

  sheet_state = me-&gt;c_sheet_state_visible.

  CREATE OBJECT sheet_setup.
  CREATE OBJECT conditional_styles.

* initialize active cell coordinates
  active_cell-cell_row = 1.
  active_cell-cell_column = 1.

* inizialize dimension range
  lower_cell-cell_row     = 1.
  lower_cell-cell_column  = 1.
  upper_cell-cell_row     = 1.
  upper_cell-cell_column  = 1.
ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_WORKSHEET" CMPNAME="GET_ACTIVE_CELL" VERSION="1" LANGU="E" DESCRIPT="Get used range dimension" EXPOSURE="2" STATE="1" EDITORDER="2 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100704" CHANGEDBY="FEMIA" CHANGEDON="20100710" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_WORKSHEET" CMPNAME="GET_ACTIVE_CELL" SCONAME="EP_ACTIVE_CELL" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100704" CHANGEDON="00000000" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="STRING"/>
   <source>METHOD get_active_cell.


  DATA: lv_active_column TYPE zexcel_cell_column_alpha,
        lv_active_row    TYPE string.

  lv_active_column = zcl_excel_common=&gt;convert_column2alpha( active_cell-cell_column ).
  lv_active_row    = active_cell-cell_row.
  SHIFT lv_active_row RIGHT DELETING TRAILING space.
  SHIFT lv_active_row LEFT DELETING LEADING space.
  CONCATENATE lv_active_column lv_active_row INTO ep_active_cell.

ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_WORKSHEET" CMPNAME="GET_CELL" VERSION="1" LANGU="E" DESCRIPT="Get cell value" EXPOSURE="2" STATE="1" EDITORDER="3 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100710" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_WORKSHEET" CMPNAME="GET_CELL" SCONAME="IP_COLUMN" VERSION="1" LANGU="E" DESCRIPT="Cell Column" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDON="00000000" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_CELL_COLUMN_ALPHA"/>
   <parameter CLSNAME="ZCL_EXCEL_WORKSHEET" CMPNAME="GET_CELL" SCONAME="IP_ROW" VERSION="1" LANGU="E" DESCRIPT="Cell Row" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDON="00000000" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_CELL_ROW"/>
   <parameter CLSNAME="ZCL_EXCEL_WORKSHEET" CMPNAME="GET_CELL" SCONAME="EP_VALUE" VERSION="1" LANGU="E" DESCRIPT="Cell Value" CMPTYPE="1" MTDTYPE="0" EDITORDER="3 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" PARDECLTYP="1" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_CELL_VALUE"/>
   <parameter CLSNAME="ZCL_EXCEL_WORKSHEET" CMPNAME="GET_CELL" SCONAME="EP_RC" VERSION="1" LANGU="E" DESCRIPT="Return Value of ABAP Statements" CMPTYPE="1" MTDTYPE="0" EDITORDER="4 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDON="00000000" PARDECLTYP="1" PARPASSTYP="1" TYPTYPE="1" TYPE="SYSUBRC"/>
   <source>METHOD get_cell.


  DATA: lv_column         TYPE zexcel_cell_column,
        ls_sheet_content  TYPE zexcel_s_cell_data.

  FIELD-SYMBOLS: &lt;fs_sheet_content&gt; TYPE zexcel_s_cell_data.

  lv_column = zcl_excel_common=&gt;convert_column2int( ip_column ).

  READ TABLE sheet_content INTO ls_sheet_content WITH TABLE KEY cell_row     = ip_row
                                                                cell_column  = lv_column.

  ep_rc = sy-subrc.
  ep_value = ls_sheet_content-cell_value.
ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_WORKSHEET" CMPNAME="GET_COND_STYLES_ITERATOR" VERSION="1" LANGU="E" DESCRIPT="Get conditional styles iterator" EXPOSURE="2" STATE="1" EDITORDER="10 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100710" CHANGEDBY="FEMIA" CHANGEDON="20100710" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_WORKSHEET" CMPNAME="GET_COND_STYLES_ITERATOR" SCONAME="EO_ITERATOR" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100710" CHANGEDON="00000000" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="3" TYPE="CL_OBJECT_COLLECTION_ITERATOR"/>
   <source>method GET_COND_STYLES_ITERATOR.


  eo_iterator = me-&gt;conditional_styles-&gt;get_iterator( ).
endmethod.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_WORKSHEET" CMPNAME="GET_DIMENSION_RANGE" VERSION="1" LANGU="E" DESCRIPT="Get used range dimension" EXPOSURE="2" STATE="1" EDITORDER="4 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100704" CHANGEDBY="FEMIA" CHANGEDON="20100710" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_WORKSHEET" CMPNAME="GET_DIMENSION_RANGE" SCONAME="EP_DIMENSION_RANGE" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100704" CHANGEDON="00000000" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="STRING"/>
   <source>METHOD get_dimension_range.


  me-&gt;update_dimension_range( ).
  IF upper_cell EQ lower_cell. &quot;only one cell
    ep_dimension_range = upper_cell-cell_coords.
  ELSE.
    CONCATENATE upper_cell-cell_coords &apos;:&apos; lower_cell-cell_coords INTO ep_dimension_range.
  ENDIF.

ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_WORKSHEET" CMPNAME="GET_GUID" VERSION="1" LANGU="E" DESCRIPT="Get sheet guid" EXPOSURE="2" STATE="1" EDITORDER="5 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100704" CHANGEDBY="FEMIA" CHANGEDON="20100710" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_WORKSHEET" CMPNAME="GET_GUID" SCONAME="EP_GUID" VERSION="1" LANGU="E" DESCRIPT="GUID in &apos;RAW&apos; format" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100704" CHANGEDON="00000000" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="GUID_16"/>
   <source>method GET_GUID.


  ep_guid = me-&gt;guid.

endmethod.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_WORKSHEET" CMPNAME="SET_CELL" VERSION="1" LANGU="E" DESCRIPT="Set cell value" EXPOSURE="2" STATE="1" EDITORDER="6 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100710" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_WORKSHEET" CMPNAME="SET_CELL" SCONAME="IP_COLUMN" VERSION="1" LANGU="E" DESCRIPT="Cell Column" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDON="00000000" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_CELL_COLUMN_ALPHA"/>
   <parameter CLSNAME="ZCL_EXCEL_WORKSHEET" CMPNAME="SET_CELL" SCONAME="IP_ROW" VERSION="1" LANGU="E" DESCRIPT="Cell Row" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_CELL_ROW"/>
   <parameter CLSNAME="ZCL_EXCEL_WORKSHEET" CMPNAME="SET_CELL" SCONAME="IP_VALUE" VERSION="1" LANGU="E" DESCRIPT="Cell Value" CMPTYPE="1" MTDTYPE="0" EDITORDER="3 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_CELL_VALUE"/>
   <parameter CLSNAME="ZCL_EXCEL_WORKSHEET" CMPNAME="SET_CELL" SCONAME="IP_FORMULA" VERSION="1" LANGU="E" DESCRIPT="Cell Formula" CMPTYPE="1" MTDTYPE="0" EDITORDER="4 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100710" CHANGEDON="00000000" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_CELL_FORMULA" PAROPTIONL="X"/>
   <parameter CLSNAME="ZCL_EXCEL_WORKSHEET" CMPNAME="SET_CELL" SCONAME="IP_STYLE" VERSION="1" LANGU="E" DESCRIPT="Single-Character Indicator" CMPTYPE="1" MTDTYPE="0" EDITORDER="5 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100705" CHANGEDBY="FEMIA" CHANGEDON="20100710" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_CELL_STYLE" PAROPTIONL="X"/>
   <source>METHOD set_cell.


  DATA: lv_column                 TYPE zexcel_cell_column,
        ls_sheet_content          TYPE zexcel_s_cell_data,
        lv_row_alpha              TYPE string.

  FIELD-SYMBOLS: &lt;fs_sheet_content&gt; TYPE zexcel_s_cell_data.

  lv_column = ZCL_EXCEL_COMMON=&gt;convert_column2int( ip_column ).

  READ TABLE sheet_content ASSIGNING &lt;fs_sheet_content&gt; WITH KEY cell_row    = ip_row
                                                                 cell_column = lv_column.

  IF sy-subrc EQ 0.
    &lt;fs_sheet_content&gt;-cell_value   = ip_value.
    &lt;fs_sheet_content&gt;-cell_formula = ip_formula.
    &lt;fs_sheet_content&gt;-cell_style   = ip_style.
  ELSE.
    ls_sheet_content-cell_row     = ip_row.
    ls_sheet_content-cell_column  = lv_column.
    ls_sheet_content-cell_value   = ip_value.
    ls_sheet_content-cell_formula = ip_formula.
    ls_sheet_content-cell_style   = ip_style.
    lv_row_alpha = ip_row.
    SHIFT lv_row_alpha RIGHT DELETING TRAILING space.
    SHIFT lv_row_alpha LEFT DELETING LEADING space.
    CONCATENATE ip_column lv_row_alpha INTO ls_sheet_content-cell_coords.
    APPEND ls_sheet_content TO sheet_content.
    SORT sheet_content BY cell_row cell_column.
*    me-&gt;update_dimension_range( ).

  ENDIF.

ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_WORKSHEET" CMPNAME="SET_TABLE" VERSION="1" LANGU="E" DESCRIPT="Set cell value from a table" EXPOSURE="2" STATE="1" EDITORDER="7 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100706" CHANGEDBY="FEMIA" CHANGEDON="20100710" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_WORKSHEET" CMPNAME="SET_TABLE" SCONAME="IP_TABLE" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100706" CHANGEDBY="FEMIA" CHANGEDON="20100706" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="STANDARD TABLE"/>
   <parameter CLSNAME="ZCL_EXCEL_WORKSHEET" CMPNAME="SET_TABLE" SCONAME="IP_HDR_STYLE" VERSION="1" LANGU="E" DESCRIPT="Style identifier" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100706" CHANGEDBY="FEMIA" CHANGEDON="20100706" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_CELL_STYLE" PAROPTIONL="X"/>
   <parameter CLSNAME="ZCL_EXCEL_WORKSHEET" CMPNAME="SET_TABLE" SCONAME="IP_BODY_STYLE" VERSION="1" LANGU="E" DESCRIPT="Style identifier" CMPTYPE="1" MTDTYPE="0" EDITORDER="3 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100706" CHANGEDBY="FEMIA" CHANGEDON="20100706" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_CELL_STYLE" PAROPTIONL="X"/>
   <parameter CLSNAME="ZCL_EXCEL_WORKSHEET" CMPNAME="SET_TABLE" SCONAME="IP_TABLE_TITLE" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="4 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100706" CHANGEDBY="FEMIA" CHANGEDON="20100706" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="STRING" PAROPTIONL="X"/>
   <parameter CLSNAME="ZCL_EXCEL_WORKSHEET" CMPNAME="SET_TABLE" SCONAME="IP_TOP_LEFT_COLUMN" VERSION="1" LANGU="E" DESCRIPT="Cell Column" CMPTYPE="1" MTDTYPE="0" EDITORDER="5 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100707" CHANGEDON="00000000" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_CELL_COLUMN_ALPHA" PARVALUE="&apos;B&apos;"/>
   <parameter CLSNAME="ZCL_EXCEL_WORKSHEET" CMPNAME="SET_TABLE" SCONAME="IP_TOP_LEFT_ROW" VERSION="1" LANGU="E" DESCRIPT="Cell Row" CMPTYPE="1" MTDTYPE="0" EDITORDER="6 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100707" CHANGEDON="00000000" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_CELL_ROW" PARVALUE="3"/>
   <source>METHOD set_table.


  DATA: lo_tabdescr     TYPE REF TO cl_abap_structdescr,
        lr_data         TYPE REF TO data,
        ls_newline      TYPE REF TO data,
        ls_header       TYPE x030l,
        lt_dfies        TYPE ddfields,
        lv_row_header   TYPE zexcel_cell_row VALUE &apos;2&apos;,
        lv_col_header   TYPE zexcel_cell_column_alpha VALUE &apos;B&apos;,
        lv_row_int      TYPE zexcel_cell_row,
        lv_column_int   TYPE zexcel_cell_column,
        lv_column_alpha TYPE zexcel_cell_column_alpha,
        lv_cell_value   TYPE zexcel_cell_value.


  FIELD-SYMBOLS: &lt;fs_table_line&gt;  TYPE ANY,
                 &lt;fs_fldval&gt;      TYPE ANY,
                 &lt;fs_dfies&gt;       TYPE dfies,
                 &lt;fs_cell_value&gt;  TYPE zexcel_cell_value.

  lv_column_int = zcl_excel_common=&gt;convert_column2int( ip_top_left_column ).
  lv_row_int    = ip_top_left_row.

  CREATE DATA lr_data LIKE LINE OF ip_table.

  lo_tabdescr ?= cl_abap_structdescr=&gt;describe_by_data_ref( lr_data ).

  ls_header = lo_tabdescr-&gt;get_ddic_header( ).

  lt_dfies = lo_tabdescr-&gt;get_ddic_field_list( ).

* It is better to loop column by column
  LOOP AT lt_dfies ASSIGNING &lt;fs_dfies&gt;.
    lv_column_alpha = zcl_excel_common=&gt;convert_column2alpha( lv_column_int ).
    &quot; First of all write column header
    lv_cell_value = &lt;fs_dfies&gt;-scrtext_m.
    me-&gt;set_cell( ip_column = lv_column_alpha
                  ip_row    = lv_row_int
                  ip_value  = lv_cell_value
                  ip_style  = ip_hdr_style ).
    ADD 1 TO lv_row_int.
    LOOP AT ip_table ASSIGNING &lt;fs_table_line&gt;.
      ASSIGN COMPONENT &lt;fs_dfies&gt;-fieldname OF STRUCTURE &lt;fs_table_line&gt; TO &lt;fs_fldval&gt;.
      MOVE &lt;fs_fldval&gt; TO lv_cell_value.
      me-&gt;set_cell( ip_column = lv_column_alpha
                    ip_row    = lv_row_int
                    ip_value  = lv_cell_value
                    ip_style  = ip_body_style ).
      ADD 1 TO lv_row_int.
    ENDLOOP.
    lv_row_int = ip_top_left_row.
    ADD 1 TO lv_column_int.
  ENDLOOP.

ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_WORKSHEET" CMPNAME="UPDATE_DIMENSION_RANGE" VERSION="1" LANGU="E" DESCRIPT="Update dimension range" EXPOSURE="0" STATE="1" EDITORDER="8 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100704" CHANGEDBY="FEMIA" CHANGEDON="20100710" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <source>METHOD update_dimension_range.


  DATA: ls_sheet_content TYPE zexcel_s_cell_data,
        lt_sheet_content TYPE zexcel_t_cell_data_unsorted,
        lv_row_alpha     TYPE string,
        lv_column_alpha  TYPE zexcel_cell_column_alpha.

* update dimension range
  lt_sheet_content = sheet_content.
  &quot;upper left corner
  SORT lt_sheet_content BY cell_row.
  READ TABLE lt_sheet_content INDEX 1 INTO ls_sheet_content.
  upper_cell-cell_row = ls_sheet_content-cell_row.
  SORT lt_sheet_content BY cell_column.
  READ TABLE lt_sheet_content INDEX 1 INTO ls_sheet_content.
  upper_cell-cell_column = ls_sheet_content-cell_column.

  lv_row_alpha = upper_cell-cell_row.
  lv_column_alpha = zcl_excel_common=&gt;convert_column2alpha( upper_cell-cell_column ).
  SHIFT lv_row_alpha RIGHT DELETING TRAILING space.
  SHIFT lv_row_alpha LEFT DELETING LEADING space.
  CONCATENATE lv_column_alpha lv_row_alpha INTO upper_cell-cell_coords.

  &quot;bottom right corner
  SORT lt_sheet_content BY cell_row DESCENDING.
  READ TABLE lt_sheet_content INDEX 1 INTO ls_sheet_content.
  lower_cell-cell_row = ls_sheet_content-cell_row.
  SORT lt_sheet_content BY cell_column DESCENDING.
  READ TABLE lt_sheet_content INDEX 1 INTO ls_sheet_content.
  lower_cell-cell_column = ls_sheet_content-cell_column.

  lv_row_alpha = lower_cell-cell_row.
  lv_column_alpha = zcl_excel_common=&gt;convert_column2alpha( lower_cell-cell_column ).
  SHIFT lv_row_alpha RIGHT DELETING TRAILING space.
  SHIFT lv_row_alpha LEFT DELETING LEADING space.
  CONCATENATE lv_column_alpha lv_row_alpha INTO lower_cell-cell_coords.

ENDMETHOD.</source>
  </method>
 </CLAS>
 <CLAS CLSNAME="ZCL_EXCEL_WORKSHEETS" VERSION="1" LANGU="E" DESCRIPT="Worksheets collection" UUID="89AF284C304B5E2DE1000000C0A8FA19" CATEGORY="00" EXPOSURE="2" STATE="1" RELEASE="0" AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" CHGDANYON="00000000" CLSFINAL="X" CLSCCINCL="X" FIXPT="X" UNICODE="X" R3RELEASE="701" CLSBCCAT="00" DURATION_TYPE="0 " RISK_LEVEL="0 ">
  <publicSection>class ZCL_EXCEL_WORKSHEETS definition
  public
  final
  create public .

*&quot;* public components of class ZCL_EXCEL_WORKSHEETS
*&quot;* do not include other source files here!!!
public section.

  data ACTIVE_WORKSHEET type ZEXCEL_ACTIVE_WORKSHEET value 1. &quot;#EC NOTEXT .
  data NAME type ZEXCEL_WORKSHEETS_NAME value &apos;Worksheets&apos;. &quot;#EC NOTEXT .

  methods ADD
    importing
      !IP_WORKSHEET type ref to ZCL_EXCEL_WORKSHEET .
  methods CLEAR .
  methods CONSTRUCTOR .
  methods GET
    importing
      !IP_INDEX type ZEXCEL_ACTIVE_WORKSHEET
    returning
      value(EO_WORKSHEET) type ref to ZCL_EXCEL_WORKSHEET .
  methods GET_ITERATOR
    returning
      value(EO_ITERATOR) type ref to CL_OBJECT_COLLECTION_ITERATOR .
  methods IS_EMPTY
    returning
      value(IS_EMPTY) type FLAG .
  methods REMOVE
    importing
      !IP_WORKSHEET type ref to ZCL_EXCEL_WORKSHEET .
  methods SIZE
    returning
      value(EP_SIZE) type I .</publicSection>
  <protectedSection>*&quot;* protected components of class ZABAP_EXCEL_WORKSHEETS
*&quot;* do not include other source files here!!!
protected section.</protectedSection>
  <privateSection>*&quot;* private components of class ZCL_EXCEL_WORKSHEETS
*&quot;* do not include other source files here!!!
private section.

  data WORKSHEETS type ref to CL_OBJECT_COLLECTION .</privateSection>
  <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>
  <attribute CLSNAME="ZCL_EXCEL_WORKSHEETS" CMPNAME="ACTIVE_WORKSHEET" VERSION="1" LANGU="E" DESCRIPT="Active Worksheet" EXPOSURE="2" STATE="1" EDITORDER="1 " AUTHOR="FEMIA" CREATEDON="20100702" CHANGEDON="00000000" ATTDECLTYP="0" ATTVALUE="1" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_ACTIVE_WORKSHEET" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_WORKSHEETS" CMPNAME="NAME" VERSION="1" LANGU="E" DESCRIPT="Worksheets name" EXPOSURE="2" STATE="1" EDITORDER="2 " AUTHOR="FEMIA" CREATEDON="20100701" CHANGEDON="00000000" ATTDECLTYP="0" ATTVALUE="&apos;Worksheets&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_WORKSHEETS_NAME" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_WORKSHEETS" CMPNAME="WORKSHEETS" VERSION="1" LANGU="E" EXPOSURE="0" STATE="1" EDITORDER="3 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100702" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="3" TYPE="CL_OBJECT_COLLECTION" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <method CLSNAME="ZCL_EXCEL_WORKSHEETS" CMPNAME="ADD" VERSION="1" LANGU="E" DESCRIPT="Adds an Element to the Collection" EXPOSURE="2" STATE="1" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_WORKSHEETS" CMPNAME="ADD" SCONAME="IP_WORKSHEET" VERSION="1" LANGU="E" DESCRIPT="Worksheet" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100628" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="3" TYPE="ZCL_EXCEL_WORKSHEET"/>
   <source>METHOD ADD.


  worksheets-&gt;add( ip_worksheet ).
ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_WORKSHEETS" CMPNAME="CLEAR" VERSION="1" LANGU="E" DESCRIPT="Initializes the Collection" EXPOSURE="2" STATE="1" EDITORDER="2 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <source>METHOD clear.


  worksheets-&gt;clear( ).
ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_WORKSHEETS" CMPNAME="CONSTRUCTOR" VERSION="1" LANGU="E" DESCRIPT="CONSTRUCTOR" EXPOSURE="2" STATE="1" EDITORDER="3 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" MTDTYPE="2" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <source>METHOD constructor.


  CREATE OBJECT worksheets.

ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_WORKSHEETS" CMPNAME="GET" VERSION="1" LANGU="E" DESCRIPT="Gets Element" EXPOSURE="2" STATE="1" EDITORDER="4 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100704" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_WORKSHEETS" CMPNAME="GET" SCONAME="IP_INDEX" VERSION="1" LANGU="E" DESCRIPT="Active Worksheet" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100704" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_ACTIVE_WORKSHEET"/>
   <parameter CLSNAME="ZCL_EXCEL_WORKSHEETS" CMPNAME="GET" SCONAME="EO_WORKSHEET" VERSION="1" LANGU="E" DESCRIPT="Worksheet" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100628" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="3" TYPE="ZCL_EXCEL_WORKSHEET"/>
   <source>METHOD get.


  DATA lv_index TYPE i.
  lv_index = ip_index.
  eo_worksheet ?= worksheets-&gt;if_object_collection~get( lv_index ).
ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_WORKSHEETS" CMPNAME="GET_ITERATOR" VERSION="1" LANGU="E" DESCRIPT="Returns an iterator" EXPOSURE="2" STATE="1" EDITORDER="5 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_WORKSHEETS" CMPNAME="GET_ITERATOR" SCONAME="EO_ITERATOR" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="3" TYPE="CL_OBJECT_COLLECTION_ITERATOR"/>
   <source>METHOD get_iterator.


  eo_iterator ?= worksheets-&gt;if_object_collection~get_iterator( ).
ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_WORKSHEETS" CMPNAME="IS_EMPTY" VERSION="1" LANGU="E" DESCRIPT="Checks whether elements are contained" EXPOSURE="2" STATE="1" EDITORDER="6 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_WORKSHEETS" CMPNAME="IS_EMPTY" SCONAME="IS_EMPTY" VERSION="1" LANGU="E" DESCRIPT="General Flag" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="FLAG"/>
   <source>METHOD is_empty.


  is_empty = worksheets-&gt;if_object_collection~is_empty( ).
ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_WORKSHEETS" CMPNAME="REMOVE" VERSION="1" LANGU="E" DESCRIPT="Deletes an Element from the Collection" EXPOSURE="2" STATE="1" EDITORDER="7 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_WORKSHEETS" CMPNAME="REMOVE" SCONAME="IP_WORKSHEET" VERSION="1" LANGU="E" DESCRIPT="Worksheet" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100628" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="3" TYPE="ZCL_EXCEL_WORKSHEET"/>
   <source>METHOD remove.


  worksheets-&gt;remove( ip_worksheet ).
ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_WORKSHEETS" CMPNAME="SIZE" VERSION="1" LANGU="E" DESCRIPT="Specifies number of contained elements" EXPOSURE="2" STATE="1" EDITORDER="8 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_WORKSHEETS" CMPNAME="SIZE" SCONAME="EP_SIZE" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="I"/>
   <source>METHOD size.


  ep_size = worksheets-&gt;if_object_collection~size( ).
ENDMETHOD.</source>
  </method>
 </CLAS>
 <CLAS CLSNAME="ZCL_EXCEL_WRITER_2007" VERSION="1" LANGU="E" DESCRIPT="Excel writer 2007" UUID="B9BE2C4C98855D2DE1000000C0A8FA19" CATEGORY="00" EXPOSURE="2" STATE="1" RELEASE="0" AUTHOR="FEMIA" CREATEDON="20100701" CHANGEDON="00000000" CHGDANYON="00000000" CLSFINAL="X" CLSCCINCL="X" FIXPT="X" UNICODE="X" R3RELEASE="701" CLSBCCAT="00" DURATION_TYPE="0 " RISK_LEVEL="0 ">
  <publicSection>class ZCL_EXCEL_WRITER_2007 definition
  public
  final
  create public .

*&quot;* public components of class ZCL_EXCEL_WRITER_2007
*&quot;* do not include other source files here!!!
public section.

  methods CONSTRUCTOR
    importing
      !IO_EXCEL type ref to ZCL_EXCEL .
  methods CREATE
    returning
      value(EP_EXCEL) type XSTRING .</publicSection>
  <protectedSection>*&quot;* protected components of class ZCL_EXCEL_WRITER_2007
*&quot;* do not include other source files here!!!
protected section.</protectedSection>
  <privateSection>*&quot;* private components of class ZCL_EXCEL_WRITER_2007
*&quot;* do not include other source files here!!!
private section.

  constants C_CONTENT_TYPES type STRING value &apos;[Content_Types].xml&apos;. &quot;#EC NOTEXT
  constants C_DOCPROPS_APP type STRING value &apos;docProps/app.xml&apos;. &quot;#EC NOTEXT
  constants C_DOCPROPS_CORE type STRING value &apos;docProps/core.xml&apos;. &quot;#EC NOTEXT
  constants C_RELATIONSHIPS type STRING value &apos;_rels/.rels&apos;. &quot;#EC NOTEXT
  constants C_XL_CALCCHAIN type STRING value &apos;xl/calcChain.xml&apos;. &quot;#EC NOTEXT
  constants C_XL_RELATIONSHIPS type STRING value &apos;xl/_rels/workbook.xml.rels&apos;. &quot;#EC NOTEXT
  constants C_XL_SHAREDSTRINGS type STRING value &apos;xl/sharedStrings.xml&apos;. &quot;#EC NOTEXT
  constants C_XL_SHEET type STRING value &apos;xl/worksheets/sheet#.xml&apos;. &quot;#EC NOTEXT
  constants C_XL_SHEET_RELS type STRING value &apos;xl/worksheets/_rels/sheet#.xml.rels&apos;. &quot;#EC NOTEXT
  constants C_XL_STYLES type STRING value &apos;xl/styles.xml&apos;. &quot;#EC NOTEXT
  constants C_XL_THEME type STRING value &apos;xl/theme/theme1.xml&apos;. &quot;#EC NOTEXT
  constants C_XL_WORKBOOK type STRING value &apos;xl/workbook.xml&apos;. &quot;#EC NOTEXT
  data EXCEL type ref to ZCL_EXCEL .
  data SHARED_STRINGS type ZEXCEL_T_SHARED_STRING .
  data STYLES_MAPPING type ZEXCEL_T_STYLES_MAPPING .

  methods CREATE_CONTENT_TYPES
    returning
      value(EP_CONTENT) type XSTRING .
  methods CREATE_DOCPROPS_APP
    returning
      value(EP_CONTENT) type XSTRING .
  methods CREATE_DOCPROPS_CORE
    returning
      value(EP_CONTENT) type XSTRING .
  methods CREATE_RELATIONSHIPS
    returning
      value(EP_CONTENT) type XSTRING .
  methods CREATE_XL_CALCCHAIN
    returning
      value(EP_CONTENT) type XSTRING .
  methods CREATE_XL_RELATIONSHIPS
    returning
      value(EP_CONTENT) type XSTRING .
  methods CREATE_XL_SHAREDSTRINGS
    returning
      value(EP_CONTENT) type XSTRING .
  methods CREATE_XL_SHEET
    importing
      !IO_WORKSHEET type ref to ZCL_EXCEL_WORKSHEET
      !IV_ACTIVE type FLAG default &apos;&apos;
    returning
      value(EP_CONTENT) type XSTRING .
  methods CREATE_XL_SHEET_RELS
    returning
      value(EP_CONTENT) type XSTRING .
  methods CREATE_XL_STYLES
    returning
      value(EP_CONTENT) type XSTRING .
  methods CREATE_XL_THEME
    returning
      value(EP_CONTENT) type XSTRING .
  methods CREATE_XL_WORKBOOK
    returning
      value(EP_CONTENT) type XSTRING .
  methods FLAG2BOOL
    importing
      !IP_FLAG type FLAG
    returning
      value(EP_BOOLEAN) type CHAR5 .
  methods GET_SHARED_STRING_INDEX
    importing
      !IP_CELL_VALUE type ZEXCEL_CELL_VALUE
    returning
      value(EP_INDEX) type INT4 .</privateSection>
  <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>
  <attribute CLSNAME="ZCL_EXCEL_WRITER_2007" CMPNAME="C_CONTENT_TYPES" VERSION="1" LANGU="E" DESCRIPT="Content Type XML File Name" EXPOSURE="0" STATE="1" EDITORDER="1 " AUTHOR="FEMIA" CREATEDON="20100701" CHANGEDBY="FEMIA" CHANGEDON="20100702" ATTDECLTYP="2" ATTVALUE="&apos;[Content_Types].xml&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="STRING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_WRITER_2007" CMPNAME="C_DOCPROPS_APP" VERSION="1" LANGU="E" DESCRIPT="App XML File Name" EXPOSURE="0" STATE="1" EDITORDER="2 " AUTHOR="FEMIA" CREATEDON="20100701" CHANGEDBY="FEMIA" CHANGEDON="20100702" ATTDECLTYP="2" ATTVALUE="&apos;docProps/app.xml&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="STRING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_WRITER_2007" CMPNAME="C_DOCPROPS_CORE" VERSION="1" LANGU="E" DESCRIPT="Core XML File Name" EXPOSURE="0" STATE="1" EDITORDER="3 " AUTHOR="FEMIA" CREATEDON="20100701" CHANGEDBY="FEMIA" CHANGEDON="20100702" ATTDECLTYP="2" ATTVALUE="&apos;docProps/core.xml&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="STRING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_WRITER_2007" CMPNAME="C_RELATIONSHIPS" VERSION="1" LANGU="E" DESCRIPT="Rels XML File Name" EXPOSURE="0" STATE="1" EDITORDER="4 " AUTHOR="FEMIA" CREATEDON="20100701" CHANGEDBY="FEMIA" CHANGEDON="20100702" ATTDECLTYP="2" ATTVALUE="&apos;_rels/.rels&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="STRING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_WRITER_2007" CMPNAME="C_XL_CALCCHAIN" VERSION="1" LANGU="E" DESCRIPT="xlCalcChain XML File Name" EXPOSURE="0" STATE="1" EDITORDER="5 " AUTHOR="FEMIA" CREATEDON="20100710" CHANGEDON="00000000" ATTDECLTYP="2" ATTVALUE="&apos;xl/calcChain.xml&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="STRING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_WRITER_2007" CMPNAME="C_XL_RELATIONSHIPS" VERSION="1" LANGU="E" DESCRIPT="xlRels XML File Name" EXPOSURE="0" STATE="1" EDITORDER="6 " AUTHOR="FEMIA" CREATEDON="20100702" CHANGEDBY="FEMIA" CHANGEDON="20100710" ATTDECLTYP="2" ATTVALUE="&apos;xl/_rels/workbook.xml.rels&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="STRING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_WRITER_2007" CMPNAME="C_XL_SHAREDSTRINGS" VERSION="1" LANGU="E" DESCRIPT="xlSharedStrings XML File Name" EXPOSURE="0" STATE="1" EDITORDER="7 " AUTHOR="FEMIA" CREATEDON="20100702" CHANGEDBY="FEMIA" CHANGEDON="20100710" ATTDECLTYP="2" ATTVALUE="&apos;xl/sharedStrings.xml&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="STRING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_WRITER_2007" CMPNAME="C_XL_SHEET" VERSION="1" LANGU="E" DESCRIPT="xlSheet XML File Name Template" EXPOSURE="0" STATE="1" EDITORDER="8 " AUTHOR="FEMIA" CREATEDON="20100702" CHANGEDBY="FEMIA" CHANGEDON="20100710" ATTDECLTYP="2" ATTVALUE="&apos;xl/worksheets/sheet#.xml&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="STRING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_WRITER_2007" CMPNAME="C_XL_SHEET_RELS" VERSION="1" LANGU="E" DESCRIPT="xlSheetRels XML File Name Template" EXPOSURE="0" STATE="1" EDITORDER="9 " AUTHOR="FEMIA" CREATEDON="20100705" CHANGEDBY="FEMIA" CHANGEDON="20100710" ATTDECLTYP="2" ATTVALUE="&apos;xl/worksheets/_rels/sheet#.xml.rels&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="STRING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_WRITER_2007" CMPNAME="C_XL_STYLES" VERSION="1" LANGU="E" DESCRIPT="xlStyles XML File Name" EXPOSURE="0" STATE="1" EDITORDER="10 " AUTHOR="FEMIA" CREATEDON="20100702" CHANGEDBY="FEMIA" CHANGEDON="20100710" ATTDECLTYP="2" ATTVALUE="&apos;xl/styles.xml&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="STRING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_WRITER_2007" CMPNAME="C_XL_THEME" VERSION="1" LANGU="E" DESCRIPT="xlTheme XML File Name" EXPOSURE="0" STATE="1" EDITORDER="11 " AUTHOR="FEMIA" CREATEDON="20100702" CHANGEDBY="FEMIA" CHANGEDON="20100710" ATTDECLTYP="2" ATTVALUE="&apos;xl/theme/theme1.xml&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="STRING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_WRITER_2007" CMPNAME="C_XL_WORKBOOK" VERSION="1" LANGU="E" DESCRIPT="xlWorkbook XML File Name" EXPOSURE="0" STATE="1" EDITORDER="12 " AUTHOR="FEMIA" CREATEDON="20100702" CHANGEDBY="FEMIA" CHANGEDON="20100710" ATTDECLTYP="2" ATTVALUE="&apos;xl/workbook.xml&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="STRING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_WRITER_2007" CMPNAME="EXCEL" VERSION="1" LANGU="E" DESCRIPT="Excel creator" EXPOSURE="0" STATE="1" EDITORDER="13 " AUTHOR="FEMIA" CREATEDON="20100701" CHANGEDBY="FEMIA" CHANGEDON="20100710" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="3" TYPE="ZCL_EXCEL" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_WRITER_2007" CMPNAME="SHARED_STRINGS" VERSION="1" LANGU="E" DESCRIPT="Shared Strings" EXPOSURE="0" STATE="1" EDITORDER="14 " AUTHOR="FEMIA" CREATEDON="20100702" CHANGEDBY="FEMIA" CHANGEDON="20100710" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_T_SHARED_STRING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_WRITER_2007" CMPNAME="STYLES_MAPPING" VERSION="1" LANGU="E" DESCRIPT="Styles mapping" EXPOSURE="0" STATE="1" EDITORDER="15 " AUTHOR="FEMIA" CREATEDON="20100704" CHANGEDBY="FEMIA" CHANGEDON="20100710" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_T_STYLES_MAPPING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <method CLSNAME="ZCL_EXCEL_WRITER_2007" CMPNAME="CONSTRUCTOR" VERSION="1" LANGU="E" DESCRIPT="CONSTRUCTOR" EXPOSURE="2" STATE="1" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100701" CHANGEDBY="FEMIA" CHANGEDON="20100704" MTDTYPE="2" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_WRITER_2007" CMPNAME="CONSTRUCTOR" SCONAME="IO_EXCEL" VERSION="1" LANGU="E" DESCRIPT="Excel creator" CMPTYPE="1" MTDTYPE="2" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100701" CHANGEDON="00000000" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="3" TYPE="ZCL_EXCEL"/>
   <source>METHOD constructor.


  me-&gt;excel = io_excel.
ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_WRITER_2007" CMPNAME="CREATE" VERSION="1" LANGU="E" DESCRIPT="Create Excel" EXPOSURE="2" STATE="1" EDITORDER="2 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100701" CHANGEDBY="FEMIA" CHANGEDON="20100704" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_WRITER_2007" CMPNAME="CREATE" SCONAME="EP_EXCEL" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100701" CHANGEDON="00000000" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="XSTRING"/>
   <source>METHOD create.


* Office 2007 file format is a cab of several xml files with extension .xlsx

  DATA: lo_zip              TYPE REF TO cl_abap_zip,
        lo_worksheet        TYPE REF TO zcl_excel_worksheet,
        lo_active_worksheet TYPE REF TO zcl_excel_worksheet,
        lo_iterator         TYPE REF TO cl_object_collection_iterator.

  DATA: lv_content        TYPE xstring,
        lv_active         TYPE flag,
        lv_xl_sheet       TYPE string,
        lv_xl_sheet_rels  TYPE string,
        lv_syindex        TYPE string.


**********************************************************************
* STEP 1: Create archive object file (ZIP)
  CREATE OBJECT lo_zip.

**********************************************************************
* STEP 2: Add [Content_Types].xml to zip
  lv_content = me-&gt;create_content_types( ).
  lo_zip-&gt;add( name    = me-&gt;c_content_types
               content = lv_content ).

**********************************************************************
* STEP 3: Add _rels/.rels to zip
  lv_content = me-&gt;create_relationships( ).
  lo_zip-&gt;add( name    = me-&gt;c_relationships
               content = lv_content ).

**********************************************************************
* STEP 4: Add docProps/app.xml to zip
  lv_content = me-&gt;create_docprops_app( ).
  lo_zip-&gt;add( name    = me-&gt;c_docprops_app
               content = lv_content ).

**********************************************************************
* STEP 5: Add docProps/core.xml to zip
  lv_content = me-&gt;create_docprops_core( ).
  lo_zip-&gt;add( name    = me-&gt;c_docprops_core
               content = lv_content ).

**********************************************************************
* STEP 6: Add xl/_rels/workbook.xml.rels to zip
  lv_content = me-&gt;create_xl_relationships( ).
  lo_zip-&gt;add( name    = me-&gt;c_xl_relationships
               content = lv_content ).

**********************************************************************
* STEP 6: Add xl/_rels/workbook.xml.rels to zip
  lv_content = me-&gt;create_xl_theme( ).
  lo_zip-&gt;add( name    = me-&gt;c_xl_theme
               content = lv_content ).

**********************************************************************
* STEP 7: Add xl/workbook.xml to zip
  lv_content = me-&gt;create_xl_workbook( ).
  lo_zip-&gt;add( name    = me-&gt;c_xl_workbook
               content = lv_content ).

**********************************************************************
* STEP 8: Add xl/workbook.xml to zip
*  lv_content = me-&gt;create_xl_styles_static( ).
  lv_content = me-&gt;create_xl_styles( ).
  lo_zip-&gt;add( name    = me-&gt;c_xl_styles
               content = lv_content ).

**********************************************************************
* STEP 9: Add sharedStrings.xml to zip
  lv_content = me-&gt;create_xl_sharedstrings( ).
  lo_zip-&gt;add( name    = me-&gt;c_xl_sharedstrings
               content = lv_content ).

**********************************************************************
* STEP 10: Add sharedStrings.xml to zip
  lv_content = me-&gt;create_xl_calcchain( ).
  lo_zip-&gt;add( name    = me-&gt;c_xl_calcchain
               content = lv_content ).

**********************************************************************
* STEP 11: Add sheet#.xml to zip
  lo_iterator = me-&gt;excel-&gt;get_worksheets_iterator( ).
  lo_active_worksheet = me-&gt;excel-&gt;get_active_worksheet( ).

  WHILE lo_iterator-&gt;if_object_collection_iterator~has_next( ) EQ abap_true.
    lo_worksheet ?= lo_iterator-&gt;if_object_collection_iterator~get_next( ).
    IF lo_active_worksheet-&gt;get_guid( ) EQ lo_worksheet-&gt;get_guid( ).
      lv_active = abap_true.
    ELSE.
      lv_active = abap_true.
    ENDIF.

    lv_content = me-&gt;create_xl_sheet( io_worksheet = lo_worksheet
                                      iv_active    = lv_active ).
    lv_xl_sheet = me-&gt;c_xl_sheet.
    MOVE sy-index TO lv_syindex.
    SHIFT lv_syindex RIGHT DELETING TRAILING space.
    SHIFT lv_syindex LEFT DELETING LEADING space.
    REPLACE ALL OCCURRENCES OF &apos;#&apos; IN lv_xl_sheet WITH lv_syindex.
    lo_zip-&gt;add( name    = lv_xl_sheet
                 content = lv_content ).

    lv_xl_sheet_rels = me-&gt;c_xl_sheet_rels.
    lv_content = me-&gt;create_xl_sheet_rels( ).
    REPLACE ALL OCCURRENCES OF &apos;#&apos; IN lv_xl_sheet_rels WITH lv_syindex.
    lo_zip-&gt;add( name    = lv_xl_sheet_rels
                 content = lv_content ).
  ENDWHILE.

**********************************************************************
* STEP 11: Create the final zip
  ep_excel = lo_zip-&gt;save( ).

ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_WRITER_2007" CMPNAME="CREATE_CONTENT_TYPES" VERSION="1" LANGU="E" DESCRIPT="Create &apos;[Content_Types].xml&apos;" EXPOSURE="0" STATE="1" EDITORDER="3 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100701" CHANGEDBY="FEMIA" CHANGEDON="20100704" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_WRITER_2007" CMPNAME="CREATE_CONTENT_TYPES" SCONAME="EP_CONTENT" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100701" CHANGEDON="00000000" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="XSTRING"/>
   <source>METHOD create_content_types.


** Constant node name
  DATA: lc_xml_node_types         TYPE string VALUE &apos;Types&apos;,
        lc_xml_node_override      TYPE string VALUE &apos;Override&apos;,
        lc_xml_node_default       TYPE string VALUE &apos;Default&apos;,
        &quot; Node attributes
        lc_xml_attr_partname      TYPE string VALUE &apos;PartName&apos;,
        lc_xml_attr_extension     TYPE string VALUE &apos;Extension&apos;,
        lc_xml_attr_contenttype   TYPE string VALUE &apos;ContentType&apos;,
        &quot; Node namespace
        lc_xml_node_types_ns      TYPE string VALUE &apos;http://schemas.openxmlformats.org/package/2006/content-types&apos;,
        &quot; Node extension
        lc_xml_node_rels_ext      TYPE string VALUE &apos;rels&apos;,
        lc_xml_node_xml_ext       TYPE string VALUE &apos;xml&apos;,
        &quot; Node partnumber
        lc_xml_node_theme_pn      TYPE string VALUE &apos;/xl/theme/theme1.xml&apos;,
        lc_xml_node_styles_pn     TYPE string VALUE &apos;/xl/styles.xml&apos;,
        lc_xml_node_workb_pn      TYPE string VALUE &apos;/xl/workbook.xml&apos;,
        lc_xml_node_props_pn      TYPE string VALUE &apos;/docProps/app.xml&apos;,
        lc_xml_node_worksheet_pn  TYPE string VALUE &apos;/xl/worksheets/sheet#.xml&apos;,
        lc_xml_node_strings_pn    TYPE string VALUE &apos;/xl/sharedStrings.xml&apos;,
        lc_xml_node_core_pn       TYPE string VALUE &apos;/docProps/core.xml&apos;,
        &quot; Node contentType
        lc_xml_node_theme_ct      TYPE string VALUE &apos;application/vnd.openxmlformats-officedocument.theme+xml&apos;,
        lc_xml_node_styles_ct     TYPE string VALUE &apos;application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml&apos;,
        lc_xml_node_workb_ct      TYPE string VALUE &apos;application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml&apos;,
        lc_xml_node_rels_ct       TYPE string VALUE &apos;application/vnd.openxmlformats-package.relationships+xml&apos;,
        lc_xml_node_xml_ct        TYPE string VALUE &apos;application/xml&apos;,
        lc_xml_node_props_ct      TYPE string VALUE &apos;application/vnd.openxmlformats-officedocument.extended-properties+xml&apos;,
        lc_xml_node_worksheet_ct  TYPE string VALUE &apos;application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml&apos;,
        lc_xml_node_strings_ct    TYPE string VALUE &apos;application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml&apos;,
        lc_xml_node_core_ct       TYPE string VALUE &apos;application/vnd.openxmlformats-package.core-properties+xml&apos;.

  DATA: lo_ixml           TYPE REF TO if_ixml,
        lo_document       TYPE REF TO if_ixml_document,
        lo_element_root   TYPE REF TO if_ixml_element,
        lo_element        TYPE REF TO if_ixml_element,
        lo_encoding       TYPE REF TO if_ixml_encoding,
        lo_streamfactory  TYPE REF TO if_ixml_stream_factory,
        lo_ostream        TYPE REF TO if_ixml_ostream,
        lo_renderer       TYPE REF TO if_ixml_renderer.

  DATA: lv_worksheets_num         TYPE i,
        lv_worksheets_numc        TYPE numc3,
        lv_xml_node_worksheet_pn  TYPE string,
        lv_xml_size               TYPE i.

**********************************************************************
* STEP 1: Create [Content_Types].xml into the root of the ZIP
  lo_ixml = cl_ixml=&gt;create( ).

**********************************************************************
* STEP 2: Set document attributes
  lo_encoding = lo_ixml-&gt;create_encoding( byte_order = if_ixml_encoding=&gt;co_platform_endian
                                          character_set = &apos;UTF-8&apos; ).
  lo_document = lo_ixml-&gt;create_document( ).
  lo_document-&gt;set_encoding( lo_encoding ).
  lo_document-&gt;set_standalone( abap_true ).

**********************************************************************
* STEP 3: Create main node types
  lo_element_root  = lo_document-&gt;create_simple_element( name   = lc_xml_node_types
                                                         parent = lo_document ).
  lo_element_root-&gt;set_attribute_ns( name  = &apos;xmlns&apos;
  value = lc_xml_node_types_ns ).

**********************************************************************
* STEP 4: Create subnodes
  &quot; Theme node
  lo_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_override
                                                   parent = lo_document ).
  lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_partname
                                value = lc_xml_node_theme_pn ).
  lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_contenttype
                                value = lc_xml_node_theme_ct ).
  lo_element_root-&gt;append_child( lo_element ).

  &quot; Styles node
  lo_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_override
                                                   parent = lo_document ).
  lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_partname
                                value = lc_xml_node_styles_pn ).
  lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_contenttype
                                value = lc_xml_node_styles_ct ).
  lo_element_root-&gt;append_child( lo_element ).

  &quot; rels node
  lo_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_default
                                                   parent = lo_document ).
  lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_extension
                                value = lc_xml_node_rels_ext ).
  lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_contenttype
                                value = lc_xml_node_rels_ct ).
  lo_element_root-&gt;append_child( lo_element ).

  &quot; extension node
  lo_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_default
                                                   parent = lo_document ).
  lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_extension
                                value = lc_xml_node_xml_ext ).
  lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_contenttype
                                value = lc_xml_node_xml_ct ).
  lo_element_root-&gt;append_child( lo_element ).

  &quot; Workbook node
  lo_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_override
                                                   parent = lo_document ).
  lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_partname
                                value = lc_xml_node_workb_pn ).
  lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_contenttype
                                value = lc_xml_node_workb_ct ).
  lo_element_root-&gt;append_child( lo_element ).

  &quot; Properties node
  lo_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_override
                                                   parent = lo_document ).
  lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_partname
                                value = lc_xml_node_props_pn ).
  lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_contenttype
                                value = lc_xml_node_props_ct ).
  lo_element_root-&gt;append_child( lo_element ).

  &quot; Worksheet node
  lv_worksheets_num = excel-&gt;get_worksheets_size( ).
  DO lv_worksheets_num TIMES.
    lo_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_override
                                                     parent = lo_document ).

    MOVE sy-index TO lv_worksheets_numc.
    SHIFT lv_worksheets_numc LEFT DELETING LEADING &apos;0&apos;.
    lv_xml_node_worksheet_pn = lc_xml_node_worksheet_pn.
    REPLACE ALL OCCURRENCES OF &apos;#&apos; IN lv_xml_node_worksheet_pn WITH lv_worksheets_numc.
    lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_partname
                                  value = lv_xml_node_worksheet_pn ).
    lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_contenttype
                                  value = lv_xml_node_worksheet_pn ).
    lo_element_root-&gt;append_child( lo_element ).
  ENDDO.

  &quot; Strings node
  lo_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_override
                                                   parent = lo_document ).
  lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_partname
                                value = lc_xml_node_strings_pn ).
  lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_contenttype
                                value = lc_xml_node_strings_ct ).
  lo_element_root-&gt;append_child( lo_element ).

  &quot; Strings node
  lo_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_override
                                                   parent = lo_document ).
  lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_partname
                                value = lc_xml_node_core_pn ).
  lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_contenttype
                                value = lc_xml_node_core_ct ).
  lo_element_root-&gt;append_child( lo_element ).

**********************************************************************
* STEP 5: Create xstring stream
  lo_streamfactory = lo_ixml-&gt;create_stream_factory( ).
  lo_ostream = lo_streamfactory-&gt;create_ostream_xstring( string = ep_content ).
  lo_renderer = lo_ixml-&gt;create_renderer( ostream  = lo_ostream document = lo_document ).
  lo_renderer-&gt;render( ).

ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_WRITER_2007" CMPNAME="CREATE_DOCPROPS_APP" VERSION="1" LANGU="E" DESCRIPT="Create &apos;docProps/app.xml&apos;" EXPOSURE="0" STATE="1" EDITORDER="4 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100701" CHANGEDBY="FEMIA" CHANGEDON="20100704" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_WRITER_2007" CMPNAME="CREATE_DOCPROPS_APP" SCONAME="EP_CONTENT" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100701" CHANGEDON="00000000" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="XSTRING"/>
   <source>METHOD create_docprops_app.


** Constant node name
  DATA: lc_xml_node_properties        TYPE string VALUE &apos;Properties&apos;,
        lc_xml_node_application       TYPE string VALUE &apos;Application&apos;,
        lc_xml_node_docsecurity       TYPE string VALUE &apos;DocSecurity&apos;,
        lc_xml_node_scalecrop         TYPE string VALUE &apos;ScaleCrop&apos;,
        lc_xml_node_headingpairs      TYPE string VALUE &apos;HeadingPairs&apos;,
        lc_xml_node_vector            TYPE string VALUE &apos;vector&apos;,
        lc_xml_node_variant           TYPE string VALUE &apos;variant&apos;,
        lc_xml_node_lpstr             TYPE string VALUE &apos;lpstr&apos;,
        lc_xml_node_i4                TYPE string VALUE &apos;i4&apos;,
        lc_xml_node_titlesofparts     TYPE string VALUE &apos;TitlesOfParts&apos;,
        lc_xml_node_company           TYPE string VALUE &apos;Company&apos;,
        lc_xml_node_linksuptodate     TYPE string VALUE &apos;LinksUpToDate&apos;,
        lc_xml_node_shareddoc         TYPE string VALUE &apos;SharedDoc&apos;,
        lc_xml_node_hyperlinkschanged TYPE string VALUE &apos;HyperlinksChanged&apos;,
        lc_xml_node_appversion        TYPE string VALUE &apos;AppVersion&apos;,
        &quot; Namespace prefix
        lc_vt_ns                      TYPE string VALUE &apos;vt&apos;,
        lc_xml_node_props_ns          TYPE string VALUE &apos;http://schemas.openxmlformats.org/officeDocument/2006/extended-properties&apos;,
        lc_xml_node_props_vt_ns       TYPE string VALUE &apos;http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes&apos;,
        &quot; Node attributes
        lc_xml_attr_size              TYPE string VALUE &apos;size&apos;,
        lc_xml_attr_basetype          TYPE string VALUE &apos;baseType&apos;.

  DATA: lo_ixml                 TYPE REF TO if_ixml,
        lo_document             TYPE REF TO if_ixml_document,
        lo_element_root         TYPE REF TO if_ixml_element,
        lo_element              TYPE REF TO if_ixml_element,
        lo_sub_element_vector   TYPE REF TO if_ixml_element,
        lo_sub_element_variant  TYPE REF TO if_ixml_element,
        lo_sub_element_lpstr    TYPE REF TO if_ixml_element,
        lo_sub_element_i4       TYPE REF TO if_ixml_element,
        lo_encoding             TYPE REF TO if_ixml_encoding,
        lo_streamfactory        TYPE REF TO if_ixml_stream_factory,
        lo_ostream              TYPE REF TO if_ixml_ostream,
        lo_renderer             TYPE REF TO if_ixml_renderer,
        lo_iterator             TYPE REF TO cl_object_collection_iterator,
        lo_worksheet            TYPE REF TO zcl_excel_worksheet.

  DATA: lv_value                TYPE string.

**********************************************************************
* STEP 1: Create [Content_Types].xml into the root of the ZIP
  lo_ixml = cl_ixml=&gt;create( ).

**********************************************************************
* STEP 2: Set document attributes
  lo_encoding = lo_ixml-&gt;create_encoding( byte_order = if_ixml_encoding=&gt;co_platform_endian
                                          character_set = &apos;utf-8&apos; ).
  lo_document = lo_ixml-&gt;create_document( ).
  lo_document-&gt;set_encoding( lo_encoding ).
  lo_document-&gt;set_standalone( abap_true ).

**********************************************************************
* STEP 3: Create main node properties
  lo_element_root  = lo_document-&gt;create_simple_element( name   = lc_xml_node_properties
                                                         parent = lo_document ).
  lo_element_root-&gt;set_attribute_ns( name  = &apos;xmlns&apos;
                                     value = lc_xml_node_props_ns ).
  lo_element_root-&gt;set_attribute_ns( name  = &apos;xmlns:vt&apos;
                                     value = lc_xml_node_props_vt_ns ).

**********************************************************************
* STEP 4: Create subnodes
  &quot; Application
  lo_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_application
                                                   parent = lo_document ).
  lv_value = excel-&gt;properties-&gt;application.
  lo_element-&gt;set_value( lv_value ).
  lo_element_root-&gt;append_child( lo_element ).

  &quot; DocSecurity
  lo_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_docsecurity
                                                            parent = lo_document ).
  lv_value = excel-&gt;properties-&gt;docsecurity.
  lo_element-&gt;set_value( lv_value ).
  lo_element_root-&gt;append_child( lo_element ).

  &quot; ScaleCrop
  lo_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_scalecrop
                                                   parent = lo_document ).
  lv_value = me-&gt;flag2bool( excel-&gt;properties-&gt;scalecrop ).
  lo_element-&gt;set_value( lv_value ).
  lo_element_root-&gt;append_child( lo_element ).

  &quot; HeadingPairs
  lo_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_headingpairs
                                                   parent = lo_document ).


  &quot; * vector node
  lo_sub_element_vector = lo_document-&gt;create_simple_element_ns( name   = lc_xml_node_vector
                                                                 prefix = lc_vt_ns
                                                                 parent = lo_document ).
  lo_sub_element_vector-&gt;set_attribute_ns( name    = lc_xml_attr_size
                                           value   = &apos;2&apos; ).
  lo_sub_element_vector-&gt;set_attribute_ns( name    = lc_xml_attr_basetype
                                           value   = lc_xml_node_variant ).

  &quot; ** variant node
  lo_sub_element_variant = lo_document-&gt;create_simple_element_ns( name   = lc_xml_node_variant
                                                                  prefix = lc_vt_ns
                                                                  parent = lo_document ).

  &quot; *** lpstr node
  lo_sub_element_lpstr = lo_document-&gt;create_simple_element_ns( name   = lc_xml_node_lpstr
                                                                prefix = lc_vt_ns
                                                                parent = lo_document ).
  lv_value = excel-&gt;get_worksheets_name( ).
  lo_sub_element_lpstr-&gt;set_value( lv_value ).
  lo_sub_element_variant-&gt;append_child( lo_sub_element_lpstr ). &quot; lpstr node

  lo_sub_element_vector-&gt;append_child( lo_sub_element_variant ). &quot; variant node

  &quot; ** variant node
  lo_sub_element_variant = lo_document-&gt;create_simple_element_ns( name   = lc_xml_node_variant
                                                                  prefix = lc_vt_ns
                                                                  parent = lo_document ).

  &quot; *** i4 node
  lo_sub_element_i4 = lo_document-&gt;create_simple_element_ns( name   = lc_xml_node_i4
                                                             prefix = lc_vt_ns
                                                             parent = lo_document ).
  lv_value = excel-&gt;get_worksheets_size( ).
  SHIFT lv_value RIGHT DELETING TRAILING space.
  SHIFT lv_value LEFT DELETING LEADING space.
  lo_sub_element_i4-&gt;set_value( lv_value ).
  lo_sub_element_variant-&gt;append_child( lo_sub_element_i4 ). &quot; lpstr node

  lo_sub_element_vector-&gt;append_child( lo_sub_element_variant ). &quot; variant node

  lo_element-&gt;append_child( lo_sub_element_vector ). &quot; vector node

  lo_element_root-&gt;append_child( lo_element ). &quot; HeadingPairs


  &quot; TitlesOfParts
  lo_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_titlesofparts
                                                   parent = lo_document ).


  &quot; * vector node
  lo_sub_element_vector = lo_document-&gt;create_simple_element_ns( name   = lc_xml_node_vector
                                                                 prefix = lc_vt_ns
                                                                 parent = lo_document ).
  lv_value = excel-&gt;get_worksheets_size( ).
  SHIFT lv_value RIGHT DELETING TRAILING space.
  SHIFT lv_value LEFT DELETING LEADING space.
  lo_sub_element_vector-&gt;set_attribute_ns( name    = lc_xml_attr_size
                                           value   = lv_value ).
  lo_sub_element_vector-&gt;set_attribute_ns( name    = lc_xml_attr_basetype
                                           value   = lc_xml_node_lpstr ).

  lo_iterator = excel-&gt;get_worksheets_iterator( ).

  WHILE lo_iterator-&gt;if_object_collection_iterator~has_next( ) EQ abap_true.
    &quot; ** lpstr node
    lo_sub_element_lpstr = lo_document-&gt;create_simple_element_ns( name   = lc_xml_node_lpstr
                                                                  prefix = lc_vt_ns
                                                                  parent = lo_document ).
    lo_worksheet ?= lo_iterator-&gt;if_object_collection_iterator~get_next( ).
    lv_value = lo_worksheet-&gt;title.
    lo_sub_element_lpstr-&gt;set_value( lv_value ).
    lo_sub_element_vector-&gt;append_child( lo_sub_element_lpstr ). &quot; lpstr node
  ENDWHILE.

  lo_element-&gt;append_child( lo_sub_element_vector ). &quot; vector node

  lo_element_root-&gt;append_child( lo_element ). &quot; TitlesOfParts



  &quot; Company
  lo_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_company
                                                   parent = lo_document ).
  lv_value = excel-&gt;properties-&gt;company.
  lo_element-&gt;set_value( lv_value ).
  lo_element_root-&gt;append_child( lo_element ).

  &quot; LinksUpToDate
  lo_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_linksuptodate
                                                   parent = lo_document ).
  lv_value = me-&gt;flag2bool( excel-&gt;properties-&gt;linksuptodate ).
  lo_element-&gt;set_value( lv_value ).
  lo_element_root-&gt;append_child( lo_element ).

  &quot; SharedDoc
  lo_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_shareddoc
                                                   parent = lo_document ).
  lv_value = me-&gt;flag2bool( excel-&gt;properties-&gt;shareddoc ).
  lo_element-&gt;set_value( lv_value ).
  lo_element_root-&gt;append_child( lo_element ).

  &quot; HyperlinksChanged
  lo_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_hyperlinkschanged
                                                   parent = lo_document ).
  lv_value = me-&gt;flag2bool( excel-&gt;properties-&gt;hyperlinkschanged ).
  lo_element-&gt;set_value( lv_value ).
  lo_element_root-&gt;append_child( lo_element ).

  &quot; AppVersion
  lo_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_appversion
                                                   parent = lo_document ).
  lv_value = excel-&gt;properties-&gt;appversion.
  lo_element-&gt;set_value( lv_value ).
  lo_element_root-&gt;append_child( lo_element ).

**********************************************************************
* STEP 5: Create xstring stream
  lo_streamfactory = lo_ixml-&gt;create_stream_factory( ).
  lo_ostream = lo_streamfactory-&gt;create_ostream_xstring( string = ep_content ).
  lo_renderer = lo_ixml-&gt;create_renderer( ostream  = lo_ostream document = lo_document ).
  lo_renderer-&gt;render( ).

ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_WRITER_2007" CMPNAME="CREATE_DOCPROPS_CORE" VERSION="1" LANGU="E" DESCRIPT="Create &apos;docProps/core.xml&apos;" EXPOSURE="0" STATE="1" EDITORDER="5 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100701" CHANGEDBY="FEMIA" CHANGEDON="20100704" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_WRITER_2007" CMPNAME="CREATE_DOCPROPS_CORE" SCONAME="EP_CONTENT" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100701" CHANGEDON="00000000" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="XSTRING"/>
   <source>METHOD create_docprops_core.


** Constant node name
  DATA: lc_xml_node_coreproperties  TYPE string VALUE &apos;coreProperties&apos;,
        lc_xml_node_creator         TYPE string VALUE &apos;creator&apos;,
        lc_xml_node_lastmodifiedby  TYPE string VALUE &apos;lastModifiedBy&apos;,
        lc_xml_node_created         TYPE string VALUE &apos;created&apos;,
        lc_xml_node_modified        TYPE string VALUE &apos;modified&apos;,
        &quot; Node attributes
        lc_xml_attr_type            TYPE string VALUE &apos;type&apos;,
        lc_xml_attr_target          TYPE string VALUE &apos;dcterms:W3CDTF&apos;,
        &quot; Node namespace
        lc_cp_ns                    TYPE string VALUE &apos;cp&apos;,
        lc_dc_ns                    TYPE string VALUE &apos;dc&apos;,
        lc_dcterms_ns               TYPE string VALUE &apos;dcterms&apos;,
        lc_dcmitype_ns              TYPE string VALUE &apos;dcmitype&apos;,
        lc_xsi_ns                   TYPE string VALUE &apos;xsi&apos;,
        lc_xml_node_cp_ns           TYPE string VALUE &apos;http://schemas.openxmlformats.org/package/2006/metadata/core-properties&apos;,
        lc_xml_node_dc_ns           TYPE string VALUE &apos;http://purl.org/dc/elements/1.1/&apos;,
        lc_xml_node_dcterms_ns      TYPE string VALUE &apos;http://purl.org/dc/terms/&apos;,
        lc_xml_node_dcmitype_ns     TYPE string VALUE &apos;http://purl.org/dc/dcmitype/&apos;,
        lc_xml_node_xsi_ns          TYPE string VALUE &apos;http://www.w3.org/2001/XMLSchema-instance&apos;.

  DATA: lo_ixml           TYPE REF TO if_ixml,
        lo_document       TYPE REF TO if_ixml_document,
        lo_element_root   TYPE REF TO if_ixml_element,
        lo_element        TYPE REF TO if_ixml_element,
        lo_encoding       TYPE REF TO if_ixml_encoding,
        lo_streamfactory  TYPE REF TO if_ixml_stream_factory,
        lo_ostream        TYPE REF TO if_ixml_ostream,
        lo_renderer       TYPE REF TO if_ixml_renderer.

  DATA: lv_value          TYPE string.

**********************************************************************
* STEP 1: Create [Content_Types].xml into the root of the ZIP
  lo_ixml = cl_ixml=&gt;create( ).

**********************************************************************
* STEP 2: Set document attributes
  lo_encoding = lo_ixml-&gt;create_encoding( byte_order = if_ixml_encoding=&gt;co_platform_endian
                                          character_set = &apos;utf-8&apos; ).
  lo_document = lo_ixml-&gt;create_document( ).
  lo_document-&gt;set_encoding( lo_encoding ).
  lo_document-&gt;set_standalone( abap_true ).

**********************************************************************
* STEP 3: Create main node coreProperties
  lo_element_root  = lo_document-&gt;create_simple_element_ns( name   = lc_xml_node_coreproperties
                                                            prefix = lc_cp_ns
                                                            parent = lo_document ).
  lo_element_root-&gt;set_attribute_ns( name  = &apos;xmlns:cp&apos;
                                     value = lc_xml_node_cp_ns ).
  lo_element_root-&gt;set_attribute_ns( name  = &apos;xmlns:dc&apos;
                                     value = lc_xml_node_dc_ns ).
  lo_element_root-&gt;set_attribute_ns( name  = &apos;xmlns:dcterms&apos;
                                     value = lc_xml_node_dcterms_ns ).
  lo_element_root-&gt;set_attribute_ns( name  = &apos;xmlns:dcmitype&apos;
                                     value = lc_xml_node_dcmitype_ns ).
  lo_element_root-&gt;set_attribute_ns( name  = &apos;xmlns:xsi&apos;
                                     value = lc_xml_node_xsi_ns ).

**********************************************************************
* STEP 4: Create subnodes
  &quot; Creator node
  lo_element = lo_document-&gt;create_simple_element_ns( name   = lc_xml_node_creator
                                                      prefix = lc_dc_ns
                                                      parent = lo_document ).
  lv_value = excel-&gt;properties-&gt;creator.
  lo_element-&gt;set_value( lv_value ).
  lo_element_root-&gt;append_child( lo_element ).

  &quot; lastModifiedBy node
  lo_element = lo_document-&gt;create_simple_element_ns( name   = lc_xml_node_lastmodifiedby
                                                      prefix = lc_cp_ns
                                                      parent = lo_document ).
  lv_value = excel-&gt;properties-&gt;lastmodifiedby.
  lo_element-&gt;set_value( lv_value ).
  lo_element_root-&gt;append_child( lo_element ).

  &quot; Created node
  lo_element = lo_document-&gt;create_simple_element_ns( name   = lc_xml_node_created
                                                      prefix = lc_dcterms_ns
                                                      parent = lo_document ).
  lo_element-&gt;set_attribute_ns( name    = lc_xml_attr_type
                                prefix  = lc_xsi_ns
                                value   = lc_xml_attr_target ).
  lv_value = excel-&gt;properties-&gt;created.
  lv_value = &apos;2010-07-04T14:58:53Z&apos;.
  lo_element-&gt;set_value( lv_value ).
  lo_element_root-&gt;append_child( lo_element ).

  &quot; Modified node
  lo_element = lo_document-&gt;create_simple_element_ns( name   = lc_xml_node_modified
                                                      prefix = lc_dcterms_ns
                                                      parent = lo_document ).
  lo_element-&gt;set_attribute_ns( name    = lc_xml_attr_type
                                prefix  = lc_xsi_ns
                                value   = lc_xml_attr_target ).
  lv_value = excel-&gt;properties-&gt;modified.
  lv_value = &apos;2010-07-04T14:58:53Z&apos;.
  lo_element-&gt;set_value( lv_value ).
  lo_element_root-&gt;append_child( lo_element ).

**********************************************************************
* STEP 5: Create xstring stream
  lo_streamfactory = lo_ixml-&gt;create_stream_factory( ).
  lo_ostream = lo_streamfactory-&gt;create_ostream_xstring( string = ep_content ).
  lo_renderer = lo_ixml-&gt;create_renderer( ostream  = lo_ostream document = lo_document ).
  lo_renderer-&gt;render( ).

ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_WRITER_2007" CMPNAME="CREATE_RELATIONSHIPS" VERSION="1" LANGU="E" DESCRIPT="Create &apos;_rels/.rels&apos;" EXPOSURE="0" STATE="1" EDITORDER="6 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100701" CHANGEDBY="FEMIA" CHANGEDON="20100704" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_WRITER_2007" CMPNAME="CREATE_RELATIONSHIPS" SCONAME="EP_CONTENT" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100701" CHANGEDON="00000000" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="XSTRING"/>
   <source>METHOD CREATE_RELATIONSHIPS.


** Constant node name
  DATA: lc_xml_node_relationships TYPE string VALUE &apos;Relationships&apos;,
        lc_xml_node_relationship  TYPE string VALUE &apos;Relationship&apos;,
        &quot; Node attributes
        lc_xml_attr_id            TYPE string VALUE &apos;Id&apos;,
        lc_xml_attr_type          TYPE string VALUE &apos;Type&apos;,
        lc_xml_attr_target        TYPE string VALUE &apos;Target&apos;,
        &quot; Node namespace
        lc_xml_node_rels_ns       TYPE string VALUE &apos;http://schemas.openxmlformats.org/package/2006/relationships&apos;,
        &quot; Node id
        lc_xml_node_rId1_id       TYPE string VALUE &apos;rId1&apos;,
        lc_xml_node_rId2_id       TYPE string VALUE &apos;rId2&apos;,
        lc_xml_node_rId3_id       TYPE string VALUE &apos;rId3&apos;,
        &quot; Node type
        lc_xml_node_rId1_tp       TYPE string VALUE &apos;http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument&apos;,
        lc_xml_node_rId2_tp       TYPE string VALUE &apos;http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties&apos;,
        lc_xml_node_rId3_tp       TYPE string VALUE &apos;http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties&apos;,
        &quot; Node target
        lc_xml_node_rId1_tg       TYPE string VALUE &apos;xl/workbook.xml&apos;,
        lc_xml_node_rId2_tg       TYPE string VALUE &apos;docProps/core.xml&apos;,
        lc_xml_node_rId3_tg       TYPE string VALUE &apos;docProps/app.xml&apos;.

  DATA: lo_ixml           TYPE REF TO if_ixml,
        lo_document       TYPE REF TO if_ixml_document,
        lo_element_root   TYPE REF TO if_ixml_element,
        lo_element        TYPE REF TO if_ixml_element,
        lo_encoding       TYPE REF TO if_ixml_encoding,
        lo_streamfactory  TYPE REF TO if_ixml_stream_factory,
        lo_ostream        TYPE REF TO if_ixml_ostream,
        lo_renderer       TYPE REF TO if_ixml_renderer.

**********************************************************************
* STEP 1: Create [Content_Types].xml into the root of the ZIP
  lo_ixml = cl_ixml=&gt;create( ).

**********************************************************************
* STEP 2: Set document attributes
  lo_encoding = lo_ixml-&gt;create_encoding( byte_order = if_ixml_encoding=&gt;co_platform_endian
                                          character_set = &apos;utf-8&apos; ).
  lo_document = lo_ixml-&gt;create_document( ).
  lo_document-&gt;set_encoding( lo_encoding ).
  lo_document-&gt;set_standalone( abap_true ).

**********************************************************************
* STEP 3: Create main node relationships
  lo_element_root  = lo_document-&gt;create_simple_element( name   = lc_xml_node_relationships
                                                         parent = lo_document ).
  lo_element_root-&gt;set_attribute_ns( name  = &apos;xmlns&apos;
                                     value = lc_xml_node_rels_ns ).

**********************************************************************
* STEP 4: Create subnodes
  &quot; Theme node
  lo_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_relationship
                                                   parent = lo_document ).
  lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_id
                                value = lc_xml_node_rId3_id ).
  lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_type
                                value = lc_xml_node_rId3_tp ).
  lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_target
                                value = lc_xml_node_rId3_tg ).
  lo_element_root-&gt;append_child( lo_element ).

  &quot; Styles node
  lo_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_relationship
                                                   parent = lo_document ).
  lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_id
                                value = lc_xml_node_rId2_id ).
  lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_type
                                value = lc_xml_node_rId2_tp ).
  lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_target
                                value = lc_xml_node_rId2_tg ).
  lo_element_root-&gt;append_child( lo_element ).

  &quot; rels node
  lo_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_relationship
                                                   parent = lo_document ).
  lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_id
                                value = lc_xml_node_rId1_id ).
  lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_type
                                value = lc_xml_node_rId1_tp ).
  lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_target
                                value = lc_xml_node_rId1_tg ).
  lo_element_root-&gt;append_child( lo_element ).

**********************************************************************
* STEP 5: Create xstring stream
  lo_streamfactory = lo_ixml-&gt;create_stream_factory( ).
  lo_ostream = lo_streamfactory-&gt;create_ostream_xstring( string = ep_content ).
  lo_renderer = lo_ixml-&gt;create_renderer( ostream  = lo_ostream document = lo_document ).
  lo_renderer-&gt;render( ).

ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_WRITER_2007" CMPNAME="CREATE_XL_CALCCHAIN" VERSION="1" LANGU="E" DESCRIPT="Create &apos;xl/calcChain.xml&apos;" EXPOSURE="0" STATE="1" EDITORDER="7 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100710" CHANGEDBY="FEMIA" CHANGEDON="20100710" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_WRITER_2007" CMPNAME="CREATE_XL_CALCCHAIN" SCONAME="EP_CONTENT" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100710" CHANGEDON="00000000" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="XSTRING"/>
   <source>METHOD create_xl_calcchain.


** Constant node name
  DATA: lc_xml_node_calcchain     TYPE string VALUE &apos;calcChain&apos;,
        lc_xml_node_c             TYPE string VALUE &apos;c&apos;,
        &quot; Node attributes
        lc_xml_attr_r             TYPE string VALUE &apos;r&apos;,
        lc_xml_attr_i             TYPE string VALUE &apos;i&apos;,
        &quot; Node namespace
        lc_xml_node_ns            TYPE string VALUE &apos;http://schemas.openxmlformats.org/spreadsheetml/2006/main&apos;.

  DATA: lo_ixml           TYPE REF TO if_ixml,
        lo_document       TYPE REF TO if_ixml_document,
        lo_element_root   TYPE REF TO if_ixml_element,
        lo_element        TYPE REF TO if_ixml_element,
        lo_encoding       TYPE REF TO if_ixml_encoding,
        lo_streamfactory  TYPE REF TO if_ixml_stream_factory,
        lo_ostream        TYPE REF TO if_ixml_ostream,
        lo_renderer       TYPE REF TO if_ixml_renderer,
        lo_iterator       TYPE REF TO cl_object_collection_iterator,
        lo_worksheet      TYPE REF TO zcl_excel_worksheet.

  DATA: lv_value            TYPE string,
        lv_value_i          TYPE string,
        lv_sheets_count     TYPE i.

  FIELD-SYMBOLS: &lt;ls_sheet_content&gt; TYPE zexcel_s_cell_data.

**********************************************************************
* STEP 1: Create xl/calcChain.xml
  lo_ixml = cl_ixml=&gt;create( ).

**********************************************************************
* STEP 2: Set document attributes
  lo_encoding = lo_ixml-&gt;create_encoding( byte_order = if_ixml_encoding=&gt;co_platform_endian
                                          character_set = &apos;UTF-8&apos; ).
  lo_document = lo_ixml-&gt;create_document( ).
  lo_document-&gt;set_encoding( lo_encoding ).
  lo_document-&gt;set_standalone( abap_true ).

**********************************************************************
* STEP 3: Create main node calcChain
  lo_element_root  = lo_document-&gt;create_simple_element( name   = lc_xml_node_calcchain
                                                         parent = lo_document ).
  lo_element_root-&gt;set_attribute_ns( name  = &apos;xmlns&apos;
                                     value = lc_xml_node_ns ).

**********************************************************************
* STEP 4: Create subnodes
  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( ).
    ADD 1 TO lv_sheets_count.
    MOVE lv_sheets_count TO lv_value_i.
    SHIFT lv_value_i RIGHT DELETING TRAILING space.
    SHIFT lv_value_i LEFT DELETING LEADING space.
    LOOP AT lo_worksheet-&gt;sheet_content ASSIGNING &lt;ls_sheet_content&gt; WHERE cell_formula IS NOT INITIAL.
      &quot; formula chain node
      lo_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_c
                                                       parent = lo_document ).
      lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_r
                                    value = lv_value ).
      lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_i
                                    value = lv_value_i ).
      lo_element_root-&gt;append_child( lo_element ).
    ENDLOOP.
  ENDWHILE.

**********************************************************************
* STEP 5: Create xstring stream
  lo_streamfactory = lo_ixml-&gt;create_stream_factory( ).
  lo_ostream = lo_streamfactory-&gt;create_ostream_xstring( string = ep_content ).
  lo_renderer = lo_ixml-&gt;create_renderer( ostream  = lo_ostream document = lo_document ).
  lo_renderer-&gt;render( ).

ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_WRITER_2007" CMPNAME="CREATE_XL_RELATIONSHIPS" VERSION="1" LANGU="E" DESCRIPT="Create &apos;xl/_rels/workbook.xml.rels&apos;" EXPOSURE="0" STATE="1" EDITORDER="8 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100702" CHANGEDBY="FEMIA" CHANGEDON="20100710" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_WRITER_2007" CMPNAME="CREATE_XL_RELATIONSHIPS" SCONAME="EP_CONTENT" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100702" CHANGEDON="00000000" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="XSTRING"/>
   <source>METHOD create_xl_relationships.


** Constant node name
  DATA: lc_xml_node_relationships TYPE string VALUE &apos;Relationships&apos;,
        lc_xml_node_relationship  TYPE string VALUE &apos;Relationship&apos;,
        &quot; Node attributes
        lc_xml_attr_id            TYPE string VALUE &apos;Id&apos;,
        lc_xml_attr_type          TYPE string VALUE &apos;Type&apos;,
        lc_xml_attr_target        TYPE string VALUE &apos;Target&apos;,
        &quot; Node namespace
        lc_xml_node_rels_ns       TYPE string VALUE &apos;http://schemas.openxmlformats.org/package/2006/relationships&apos;,
        &quot; Node id
        lc_xml_node_ridx_id       TYPE string VALUE &apos;rId#&apos;,
        &quot; Node type
        lc_xml_node_rid_sheet_tp      TYPE string VALUE &apos;http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet&apos;,
        lc_xml_node_rid_theme_tp      TYPE string VALUE &apos;http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme&apos;,
        lc_xml_node_rid_styles_tp     TYPE string VALUE &apos;http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles&apos;,
        lc_xml_node_rid_shared_tp     TYPE string VALUE &apos;http://schemas.openxmlformats.org/officeDocument/2006/relationships/sharedStrings&apos;,
        lc_xml_node_rid_calcchain_tp  TYPE string VALUE &apos;http://schemas.openxmlformats.org/officeDocument/2006/relationships/calcChain&apos;,
        &quot; Node target
        lc_xml_node_ridx_tg           TYPE string VALUE &apos;worksheets/sheet#.xml&apos;,
        lc_xml_node_rid_shared_tg     TYPE string VALUE &apos;sharedStrings.xml&apos;,
        lc_xml_node_rid_styles_tg     TYPE string VALUE &apos;styles.xml&apos;,
        lc_xml_node_rid_theme_tg      TYPE string VALUE &apos;theme/theme1.xml&apos;,
        lc_xml_node_rid_calcchain_tg  TYPE string VALUE &apos;calcChain.xml&apos;.

  DATA: lo_ixml           TYPE REF TO if_ixml,
        lo_document       TYPE REF TO if_ixml_document,
        lo_element_root   TYPE REF TO if_ixml_element,
        lo_element        TYPE REF TO if_ixml_element,
        lo_encoding       TYPE REF TO if_ixml_encoding,
        lo_streamfactory  TYPE REF TO if_ixml_stream_factory,
        lo_ostream        TYPE REF TO if_ixml_ostream,
        lo_renderer       TYPE REF TO if_ixml_renderer.

  DATA: lv_xml_node_ridx_tg       TYPE string,
        lv_xml_node_ridx_id       TYPE string,
        lv_size                   TYPE i,
        lv_syindex(2)             TYPE c.

**********************************************************************
* STEP 1: Create [Content_Types].xml into the root of the ZIP
  lo_ixml = cl_ixml=&gt;create( ).

**********************************************************************
* STEP 2: Set document attributes
  lo_encoding = lo_ixml-&gt;create_encoding( byte_order = if_ixml_encoding=&gt;co_platform_endian
                                          character_set = &apos;utf-8&apos; ).
  lo_document = lo_ixml-&gt;create_document( ).
  lo_document-&gt;set_encoding( lo_encoding ).
  lo_document-&gt;set_standalone( abap_true ).

**********************************************************************
* STEP 3: Create main node relationships
  lo_element_root  = lo_document-&gt;create_simple_element( name   = lc_xml_node_relationships
                                                         parent = lo_document ).
  lo_element_root-&gt;set_attribute_ns( name  = &apos;xmlns&apos;
                                     value = lc_xml_node_rels_ns ).

**********************************************************************
* STEP 4: Create subnodes

  lv_size = excel-&gt;get_worksheets_size( ).

  &quot; Relationship node
  lo_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_relationship
                                                   parent = lo_document ).
  lv_size = lv_size + 2.
  lv_syindex = lv_size.
  SHIFT lv_syindex RIGHT DELETING TRAILING space.
  SHIFT lv_syindex LEFT DELETING LEADING space.
  lv_xml_node_ridx_id = lc_xml_node_ridx_id.
  REPLACE ALL OCCURRENCES OF &apos;#&apos; IN lv_xml_node_ridx_id WITH lv_syindex.
  lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_id
                                value = lv_xml_node_ridx_id ).
  lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_type
                                value = lc_xml_node_rid_styles_tp ).
  lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_target
                                value = lc_xml_node_rid_styles_tg ).
  lo_element_root-&gt;append_child( lo_element ).


  &quot; Relationship node
  lo_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_relationship
                                                  parent = lo_document ).
  lv_size = lv_size - 1.
  lv_syindex = lv_size.
  SHIFT lv_syindex RIGHT DELETING TRAILING space.
  SHIFT lv_syindex LEFT DELETING LEADING space.
  lv_xml_node_ridx_id = lc_xml_node_ridx_id.
  REPLACE ALL OCCURRENCES OF &apos;#&apos; IN lv_xml_node_ridx_id WITH lv_syindex.
  lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_id
                                value = lv_xml_node_ridx_id ).
  lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_type
                                value = lc_xml_node_rid_theme_tp ).
  lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_target
                                value = lc_xml_node_rid_theme_tg ).
  lo_element_root-&gt;append_child( lo_element ).

  lv_size = excel-&gt;get_worksheets_size( ).

  DO lv_size TIMES.
    &quot; Relationship node
    lo_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_relationship
    parent = lo_document ).
    lv_xml_node_ridx_id = lc_xml_node_ridx_id.
    lv_xml_node_ridx_tg = lc_xml_node_ridx_tg.
    lv_syindex = sy-index.
    SHIFT lv_syindex RIGHT DELETING TRAILING space.
    SHIFT lv_syindex LEFT DELETING LEADING space.
    REPLACE ALL OCCURRENCES OF &apos;#&apos; IN lv_xml_node_ridx_id WITH lv_syindex.
    REPLACE ALL OCCURRENCES OF &apos;#&apos; IN lv_xml_node_ridx_tg WITH lv_syindex.
    lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_id
    value = lv_xml_node_ridx_id ).
    lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_type
    value = lc_xml_node_rid_sheet_tp ).
    lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_target
    value = lv_xml_node_ridx_tg ).
    lo_element_root-&gt;append_child( lo_element ).
  ENDDO.

  &quot; Relationship node
  lo_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_relationship
                                                   parent = lo_document ).
  ADD 3 TO lv_size.
  lv_syindex = lv_size.
  SHIFT lv_syindex RIGHT DELETING TRAILING space.
  SHIFT lv_syindex LEFT DELETING LEADING space.
  lv_xml_node_ridx_id = lc_xml_node_ridx_id.
  REPLACE ALL OCCURRENCES OF &apos;#&apos; IN lv_xml_node_ridx_id WITH lv_syindex.
  lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_id
                                value = lv_xml_node_ridx_id ).
  lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_type
                                value = lc_xml_node_rid_shared_tp ).
  lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_target
                                value = lc_xml_node_rid_shared_tg ).
  lo_element_root-&gt;append_child( lo_element ).

  &quot; Relationship node
  lo_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_relationship
                                                   parent = lo_document ).
  ADD 1 TO lv_size.
  lv_syindex = lv_size.
  SHIFT lv_syindex RIGHT DELETING TRAILING space.
  SHIFT lv_syindex LEFT DELETING LEADING space.
  lv_xml_node_ridx_id = lc_xml_node_ridx_id.
  REPLACE ALL OCCURRENCES OF &apos;#&apos; IN lv_xml_node_ridx_id WITH lv_syindex.
  lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_id
                                value = lv_xml_node_ridx_id ).
  lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_type
                                value = lc_xml_node_rid_calcchain_tp ).
  lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_target
                                value = lc_xml_node_rid_calcchain_tg ).
  lo_element_root-&gt;append_child( lo_element ).

**********************************************************************
* STEP 5: Create xstring stream
  lo_streamfactory = lo_ixml-&gt;create_stream_factory( ).
  lo_ostream = lo_streamfactory-&gt;create_ostream_xstring( string = ep_content ).
  lo_renderer = lo_ixml-&gt;create_renderer( ostream  = lo_ostream document = lo_document ).
  lo_renderer-&gt;render( ).

ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_WRITER_2007" CMPNAME="CREATE_XL_SHAREDSTRINGS" VERSION="1" LANGU="E" DESCRIPT="Create &apos;xl/sharedStrings.xml&apos;" EXPOSURE="0" STATE="1" EDITORDER="9 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100702" CHANGEDBY="FEMIA" CHANGEDON="20100710" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_WRITER_2007" CMPNAME="CREATE_XL_SHAREDSTRINGS" SCONAME="EP_CONTENT" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100702" CHANGEDON="00000000" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="XSTRING"/>
   <source>METHOD create_xl_sharedstrings.


** Constant node name
  DATA: lc_xml_node_sst           TYPE string VALUE &apos;sst&apos;,
        lc_xml_node_si            TYPE string VALUE &apos;si&apos;,
        lc_xml_node_t             TYPE string VALUE &apos;t&apos;,
        &quot; Node attributes
        lc_xml_attr_count         TYPE string VALUE &apos;count&apos;,
        lc_xml_attr_uniquecount   TYPE string VALUE &apos;uniqueCount&apos;,
        &quot; Node namespace
        lc_xml_node_ns            TYPE string VALUE &apos;http://schemas.openxmlformats.org/spreadsheetml/2006/main&apos;.

  DATA: lo_ixml           TYPE REF TO if_ixml,
        lo_document       TYPE REF TO if_ixml_document,
        lo_element_root   TYPE REF TO if_ixml_element,
        lo_element        TYPE REF TO if_ixml_element,
        lo_sub_element    TYPE REF TO if_ixml_element,
        lo_encoding       TYPE REF TO if_ixml_encoding,
        lo_streamfactory  TYPE REF TO if_ixml_stream_factory,
        lo_ostream        TYPE REF TO if_ixml_ostream,
        lo_renderer       TYPE REF TO if_ixml_renderer,
        lo_iterator       TYPE REF TO cl_object_collection_iterator,
        lo_worksheet      TYPE REF TO zcl_excel_worksheet.

  DATA: lt_cell_data        TYPE zexcel_t_cell_data_unsorted,
        ls_shared_string    TYPE zexcel_s_shared_string,
        lv_value            TYPE string,
        lv_count_str        TYPE string,
        lv_uniquecount_str  TYPE string,
        lv_sytabix          TYPE sytabix,
        lv_count            TYPE i,
        lv_uniquecount      TYPE i.

  FIELD-SYMBOLS: &lt;fs_sheet_content&gt; TYPE zexcel_s_cell_data,
                 &lt;fs_sheet_string&gt;  TYPE zexcel_s_shared_string.

**********************************************************************
* 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

  DESCRIBE TABLE lt_cell_data LINES lv_count.
  MOVE lv_count TO lv_count_str.

  SHIFT lv_count_str RIGHT DELETING TRAILING space.
  SHIFT lv_count_str LEFT DELETING LEADING space.

  SORT lt_cell_data BY cell_value.
  DELETE ADJACENT DUPLICATES FROM lt_cell_data COMPARING cell_value.

  DESCRIBE TABLE lt_cell_data LINES lv_uniquecount.
  MOVE lv_uniquecount TO lv_uniquecount_str.

  SHIFT lv_uniquecount_str RIGHT DELETING TRAILING space.
  SHIFT lv_uniquecount_str LEFT DELETING LEADING space.

  LOOP AT lt_cell_data ASSIGNING &lt;fs_sheet_content&gt;.
    lv_sytabix = sy-tabix - 1.
    MOVE lv_sytabix                    TO ls_shared_string-string_no.
    MOVE &lt;fs_sheet_content&gt;-cell_value TO ls_shared_string-string_value.
    APPEND ls_shared_string TO shared_strings.
  ENDLOOP.


**********************************************************************
* STEP 1: Create [Content_Types].xml into the root of the ZIP
  lo_ixml = cl_ixml=&gt;create( ).

**********************************************************************
* STEP 2: Set document attributes
  lo_encoding = lo_ixml-&gt;create_encoding( byte_order = if_ixml_encoding=&gt;co_platform_endian
                                          character_set = &apos;utf-8&apos; ).
  lo_document = lo_ixml-&gt;create_document( ).
  lo_document-&gt;set_encoding( lo_encoding ).
  lo_document-&gt;set_standalone( abap_true ).

**********************************************************************
* STEP 3: Create main node
  lo_element_root  = lo_document-&gt;create_simple_element( name   = lc_xml_node_sst
                                                         parent = lo_document ).
  lo_element_root-&gt;set_attribute_ns( name  = &apos;xmlns&apos;
                                     value = lc_xml_node_ns ).
  lo_element_root-&gt;set_attribute_ns( name  = lc_xml_attr_count
                                     value = lv_count_str ).
  lo_element_root-&gt;set_attribute_ns( name  = lc_xml_attr_uniquecount
                                     value = lv_uniquecount_str ).

**********************************************************************
* STEP 4: Create subnode
  LOOP AT shared_strings ASSIGNING &lt;fs_sheet_string&gt;.
    lo_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_si
                                                     parent = lo_document ).
    lo_sub_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_t
                                                         parent = lo_document ).
    lo_sub_element-&gt;set_value( &lt;fs_sheet_string&gt;-string_value ).
    lo_element-&gt;append_child( lo_sub_element ).
    lo_element_root-&gt;append_child( lo_element ).
  ENDLOOP.

**********************************************************************
* STEP 5: Create xstring stream
  lo_streamfactory = lo_ixml-&gt;create_stream_factory( ).
  lo_ostream = lo_streamfactory-&gt;create_ostream_xstring( string = ep_content ).
  lo_renderer = lo_ixml-&gt;create_renderer( ostream  = lo_ostream document = lo_document ).
  lo_renderer-&gt;render( ).

ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_WRITER_2007" CMPNAME="CREATE_XL_SHEET" VERSION="1" LANGU="E" DESCRIPT="Create &apos;xl/sheet.xml&apos;" EXPOSURE="0" STATE="1" EDITORDER="10 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100702" CHANGEDBY="FEMIA" CHANGEDON="20100710" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_WRITER_2007" CMPNAME="CREATE_XL_SHEET" SCONAME="IO_WORKSHEET" VERSION="1" LANGU="E" DESCRIPT="Worksheet" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100702" CHANGEDON="00000000" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="3" TYPE="ZCL_EXCEL_WORKSHEET"/>
   <parameter CLSNAME="ZCL_EXCEL_WRITER_2007" CMPNAME="CREATE_XL_SHEET" SCONAME="IV_ACTIVE" VERSION="1" LANGU="E" DESCRIPT="General Flag" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100702" CHANGEDON="00000000" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="FLAG" PARVALUE="&apos;&apos;"/>
   <parameter CLSNAME="ZCL_EXCEL_WRITER_2007" CMPNAME="CREATE_XL_SHEET" SCONAME="EP_CONTENT" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="3 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100702" CHANGEDBY="FEMIA" CHANGEDON="20100702" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="XSTRING"/>
   <source>METHOD create_xl_sheet.


** Constant node name
  DATA: lc_xml_node_worksheet         TYPE string VALUE &apos;worksheet&apos;,
        lc_xml_node_dimension         TYPE string VALUE &apos;dimension&apos;,
        lc_xml_node_sheetviews        TYPE string VALUE &apos;sheetViews&apos;,
        lc_xml_node_sheetview         TYPE string VALUE &apos;sheetView&apos;,
        lc_xml_node_selection         TYPE string VALUE &apos;selection&apos;,
        lc_xml_node_sheetformatpr     TYPE string VALUE &apos;sheetFormatPr&apos;,
        lc_xml_node_sheetdata         TYPE string VALUE &apos;sheetData&apos;,
        lc_xml_node_row               TYPE string VALUE &apos;row&apos;,
        lc_xml_node_c                 TYPE string VALUE &apos;c&apos;,
        lc_xml_node_v                 TYPE string VALUE &apos;v&apos;,
        lc_xml_node_f                 TYPE string VALUE &apos;f&apos;,
        lc_xml_node_pagemargins       TYPE string VALUE &apos;pageMargins&apos;,
        lc_xml_node_condformatting    TYPE string VALUE &apos;conditionalFormatting&apos;,
        lc_xml_node_cfrule            TYPE string VALUE &apos;cfRule&apos;,
        lc_xml_node_iconset           TYPE string VALUE &apos;iconSet&apos;,
        lc_xml_node_cfvo              TYPE string VALUE &apos;cfvo&apos;,
        lc_xml_node_formula           TYPE string VALUE &apos;formula&apos;,
        &quot; Node attributes
        lc_xml_attr_ref               TYPE string VALUE &apos;ref&apos;,
        lc_xml_attr_tabselected       TYPE string VALUE &apos;tabSelected&apos;,
        lc_xml_attr_workbookviewid    TYPE string VALUE &apos;workbookViewId&apos;,
        lc_xml_attr_activecell        TYPE string VALUE &apos;activeCell&apos;,
        lc_xml_attr_sqref             TYPE string VALUE &apos;sqref&apos;,
        lc_xml_attr_defaultrowheight  TYPE string VALUE &apos;defaultRowHeight&apos;,
        lc_xml_attr_r                 TYPE string VALUE &apos;r&apos;,
        lc_xml_attr_s                 TYPE string VALUE &apos;s&apos;,
        lc_xml_attr_spans             TYPE string VALUE &apos;spans&apos;,
        lc_xml_attr_t                 TYPE string VALUE &apos;t&apos;,
        lc_xml_attr_left              TYPE string VALUE &apos;left&apos;,
        lc_xml_attr_right             TYPE string VALUE &apos;right&apos;,
        lc_xml_attr_top               TYPE string VALUE &apos;top&apos;,
        lc_xml_attr_bottom            TYPE string VALUE &apos;bottom&apos;,
        lc_xml_attr_header            TYPE string VALUE &apos;header&apos;,
        lc_xml_attr_footer            TYPE string VALUE &apos;footer&apos;,
        lc_xml_attr_type              TYPE string VALUE &apos;type&apos;,
        lc_xml_attr_iconset           TYPE string VALUE &apos;iconSet&apos;,
        lc_xml_attr_val               TYPE string VALUE &apos;val&apos;,
        lc_xml_attr_dxfid             TYPE string VALUE &apos;dxfId&apos;,
        lc_xml_attr_priority          TYPE string VALUE &apos;priority&apos;,
        lc_xml_attr_operator          TYPE string VALUE &apos;operator&apos;,
        &quot; Node namespace
        lc_xml_node_ns                TYPE string VALUE &apos;http://schemas.openxmlformats.org/spreadsheetml/2006/main&apos;,
        lc_xml_node_r_ns              TYPE string VALUE &apos;http://schemas.openxmlformats.org/officeDocument/2006/relationships&apos;.

  DATA: lo_ixml               TYPE REF TO if_ixml,
        lo_document           TYPE REF TO if_ixml_document,
        lo_element_root       TYPE REF TO if_ixml_element,
        lo_element            TYPE REF TO if_ixml_element,
        lo_element_2          TYPE REF TO if_ixml_element,
        lo_element_3          TYPE REF TO if_ixml_element,
        lo_element_4          TYPE REF TO if_ixml_element,
        lo_encoding           TYPE REF TO if_ixml_encoding,
        lo_streamfactory      TYPE REF TO if_ixml_stream_factory,
        lo_ostream            TYPE REF TO if_ixml_ostream,
        lo_renderer           TYPE REF TO if_ixml_renderer,
        lo_iterator           TYPE REF TO cl_object_collection_iterator,
        lo_style_conditional  TYPE REF TO zcl_excel_style_conditional.

  DATA: lv_value          TYPE string,
        lt_percent_val    TYPE TABLE OF string,
        ls_percent_val    TYPE string,
        ls_last_row       TYPE zexcel_s_cell_data,
        ls_style_mapping  TYPE zexcel_s_styles_mapping.

  FIELD-SYMBOLS: &lt;ls_sheet_content&gt; TYPE zexcel_s_cell_data.

**********************************************************************
* STEP 1: Create [Content_Types].xml into the root of the ZIP
  lo_ixml = cl_ixml=&gt;create( ).

**********************************************************************
* STEP 2: Set document attributes
  lo_encoding = lo_ixml-&gt;create_encoding( byte_order = if_ixml_encoding=&gt;co_platform_endian
                                          character_set = &apos;utf-8&apos; ).
  lo_document = lo_ixml-&gt;create_document( ).
  lo_document-&gt;set_encoding( lo_encoding ).
  lo_document-&gt;set_standalone( abap_true ).

***********************************************************************
* STEP 3: Create main node relationships
  lo_element_root  = lo_document-&gt;create_simple_element( name   = lc_xml_node_worksheet
                                                         parent = lo_document ).
  lo_element_root-&gt;set_attribute_ns( name  = &apos;xmlns&apos;
                                     value = lc_xml_node_ns ).
  lo_element_root-&gt;set_attribute_ns( name  = &apos;xmlns:r&apos;
                                     value = lc_xml_node_r_ns ).

**********************************************************************
* STEP 4: Create subnodes

  &quot; dimension node
  lo_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_dimension
                                                   parent = lo_document ).
  lv_value = io_worksheet-&gt;get_dimension_range( ).
  lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_ref
                                value = lv_value ).
  lo_element_root-&gt;append_child( lo_element ).

  &quot; sheetViews node
  lo_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_sheetviews
                                                   parent = lo_document ).
  &quot; sheetView node
  lo_element_2 = lo_document-&gt;create_simple_element( name   = lc_xml_node_sheetview
                                                     parent = lo_document ).
  IF iv_active EQ abap_true.
    lo_element_2-&gt;set_attribute_ns( name  = lc_xml_attr_tabselected
                                    value = &apos;1&apos; ).
  ENDIF.
  lo_element_2-&gt;set_attribute_ns( name  = lc_xml_attr_workbookviewid
                                          value = &apos;0&apos; ).

  &quot; selection node
  lo_element_3 = lo_document-&gt;create_simple_element( name   = lc_xml_node_selection
                                                     parent = lo_document ).
  lv_value = io_worksheet-&gt;get_active_cell( ).
  lo_element_3-&gt;set_attribute_ns( name  = lc_xml_attr_activecell
                                  value = lv_value ).

  lo_element_3-&gt;set_attribute_ns( name  = lc_xml_attr_sqref
                                  value = lv_value ).

  lo_element_2-&gt;append_child( lo_element_3 ). &quot; sheetView node

  lo_element-&gt;append_child( lo_element_2 ). &quot; sheetView node

  lo_element_root-&gt;append_child( lo_element ). &quot; sheetViews node


  &quot; sheetFormatPr node
  lo_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_sheetformatpr
                                                   parent = lo_document ).
  lv_value = io_worksheet-&gt;defaultrowheight.
  SHIFT lv_value RIGHT DELETING TRAILING space.
  SHIFT lv_value LEFT DELETING LEADING space.
  lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_defaultrowheight
                                value = lv_value ).
  lo_element_root-&gt;append_child( lo_element ). &quot; sheetFormatPr node

  &quot; sheetData node
  lo_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_sheetdata
                                                   parent = lo_document ).
  LOOP AT io_worksheet-&gt;sheet_content ASSIGNING &lt;ls_sheet_content&gt;.
    CLEAR ls_style_mapping.
    IF ls_last_row-cell_row NE &lt;ls_sheet_content&gt;-cell_row.
      lo_element_2 = lo_document-&gt;create_simple_element( name   = lc_xml_node_row
                                                         parent = lo_document ).
      lv_value = &lt;ls_sheet_content&gt;-cell_row.
      SHIFT lv_value RIGHT DELETING TRAILING space.
      SHIFT lv_value LEFT DELETING LEADING space.
      lo_element_2-&gt;set_attribute_ns( name  = lc_xml_attr_r
                                      value = lv_value ).

      lo_element_2-&gt;set_attribute_ns( name  = lc_xml_attr_spans
                                      value = &apos;1:1&apos; ).     &quot; &lt;*******************************
    ENDIF.
    lo_element_3 = lo_document-&gt;create_simple_element( name   = lc_xml_node_c
                                                       parent = lo_document ).

    lo_element_3-&gt;set_attribute_ns( name  = lc_xml_attr_r
                                    value = &lt;ls_sheet_content&gt;-cell_coords ).

    IF &lt;ls_sheet_content&gt;-cell_style IS NOT INITIAL.
      READ TABLE styles_mapping INTO ls_style_mapping WITH KEY guid = &lt;ls_sheet_content&gt;-cell_style.
      lv_value = ls_style_mapping-style.
      SHIFT lv_value RIGHT DELETING TRAILING space.
      SHIFT lv_value LEFT DELETING LEADING space.
      lo_element_3-&gt;set_attribute_ns( name  = lc_xml_attr_s
                                      value = lv_value ).
    ENDIF.
    IF ls_style_mapping-cell_format IS INITIAL. &quot; to avoid errors if no style has been created
      IF &lt;ls_sheet_content&gt;-cell_formula IS INITIAL.
        ls_style_mapping-cell_format = &apos;S&apos;.
      ELSE.
        ls_style_mapping-cell_format = &apos;F&apos;.
      ENDIF.
    ENDIF.
    &quot; is a shared string and is not a formula
    IF ls_style_mapping-cell_format EQ &apos;S&apos;.
      lo_element_3-&gt;set_attribute_ns( name  = lc_xml_attr_t
                                      value = &apos;s&apos; ).
    ENDIF.
    IF &lt;ls_sheet_content&gt;-cell_formula IS NOT INITIAL.
      &quot; fomula node
      lo_element_4 = lo_document-&gt;create_simple_element( name   = lc_xml_node_f
                                                         parent = lo_document ).
      lv_value = &lt;ls_sheet_content&gt;-cell_formula.
      lo_element_4-&gt;set_value( lv_value ).
      lo_element_3-&gt;append_child( lo_element_4 ). &quot; fomula node
    ENDIF.
    &quot; value node
    lo_element_4 = lo_document-&gt;create_simple_element( name   = lc_xml_node_v
                                                       parent = lo_document ).

    IF ls_style_mapping-cell_format EQ &apos;S&apos;.
      lv_value = me-&gt;get_shared_string_index( &lt;ls_sheet_content&gt;-cell_value ).
      SHIFT lv_value RIGHT DELETING TRAILING space.
      SHIFT lv_value LEFT DELETING LEADING space.
      lo_element_4-&gt;set_value( lv_value ).
    ELSE.
      lv_value = &lt;ls_sheet_content&gt;-cell_value.
      SHIFT lv_value RIGHT DELETING TRAILING space.
      SHIFT lv_value LEFT DELETING LEADING space.
      lo_element_4-&gt;set_value( lv_value ).
    ENDIF.

    lo_element_3-&gt;append_child( lo_element_4 ). &quot; value node

    lo_element_2-&gt;append_child( lo_element_3 ). &quot; column node
    IF ls_last_row-cell_row NE &lt;ls_sheet_content&gt;-cell_row.
      lo_element-&gt;append_child( lo_element_2 ). &quot; row node
      ls_last_row = &lt;ls_sheet_content&gt;.
    ENDIF.

  ENDLOOP.
  lo_element_root-&gt;append_child( lo_element ). &quot; sheetData node

  &quot; Conditional formatting node
  lo_iterator = io_worksheet-&gt;get_cond_styles_iterator( ).
  WHILE lo_iterator-&gt;has_next( ) EQ abap_true.
    lo_style_conditional ?= lo_iterator-&gt;get_next( ).
    IF lo_style_conditional-&gt;rule IS INITIAL.
      CONTINUE.
    ENDIF.
    lo_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_condformatting
                                                     parent = lo_document ).
    lv_value = lo_style_conditional-&gt;get_dimension_range( ) .
    lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_sqref
                                  value = lv_value ).

    &quot; cfRule node
    lo_element_2 = lo_document-&gt;create_simple_element( name   = lc_xml_node_cfrule
                                                     parent = lo_document ).
    lv_value = lo_style_conditional-&gt;rule.
    lo_element_2-&gt;set_attribute_ns( name  = lc_xml_attr_type
                                    value = lv_value ).
    lv_value = lo_style_conditional-&gt;priority.
    SHIFT lv_value RIGHT DELETING TRAILING space.
    SHIFT lv_value LEFT DELETING LEADING space.
    lo_element_2-&gt;set_attribute_ns( name  = lc_xml_attr_priority
                                    value = lv_value ).

    CASE lo_style_conditional-&gt;rule.
      WHEN zcl_excel_style_conditional=&gt;c_rule_iconset.
        CLEAR lt_percent_val.
        &quot; iconset node
        lo_element_3 = lo_document-&gt;create_simple_element( name   = lc_xml_node_iconset
                                                           parent = lo_document ).
        IF lo_style_conditional-&gt;iconset NE zcl_excel_style_conditional=&gt;c_iconset_3trafficlights.
          lv_value = lo_style_conditional-&gt;iconset.
          lo_element_3-&gt;set_attribute_ns( name  = lc_xml_attr_iconset
                                          value = lv_value ).
        ENDIF.

        CASE lo_style_conditional-&gt;iconset.
          WHEN zcl_excel_style_conditional=&gt;c_iconset_3trafficlights2 OR
               zcl_excel_style_conditional=&gt;c_iconset_3arrows OR
               zcl_excel_style_conditional=&gt;c_iconset_3arrowsgray OR
               zcl_excel_style_conditional=&gt;c_iconset_3flags OR
               zcl_excel_style_conditional=&gt;c_iconset_3signs OR
               zcl_excel_style_conditional=&gt;c_iconset_3symbols OR
               zcl_excel_style_conditional=&gt;c_iconset_3symbols2 OR
               zcl_excel_style_conditional=&gt;c_iconset_3trafficlights OR
               zcl_excel_style_conditional=&gt;c_iconset_3trafficlights2.
            APPEND &apos;0&apos; TO lt_percent_val.
            APPEND &apos;33&apos; TO lt_percent_val.
            APPEND &apos;67&apos; TO lt_percent_val.
          WHEN zcl_excel_style_conditional=&gt;c_iconset_4arrows OR
               zcl_excel_style_conditional=&gt;c_iconset_4arrowsgray OR
               zcl_excel_style_conditional=&gt;c_iconset_4rating OR
               zcl_excel_style_conditional=&gt;c_iconset_4redtoblack OR
               zcl_excel_style_conditional=&gt;c_iconset_4trafficlights.
            APPEND &apos;0&apos; TO lt_percent_val.
            APPEND &apos;25&apos; TO lt_percent_val.
            APPEND &apos;50&apos; TO lt_percent_val.
            APPEND &apos;75&apos; TO lt_percent_val.
          WHEN zcl_excel_style_conditional=&gt;c_iconset_5arrows OR
               zcl_excel_style_conditional=&gt;c_iconset_5arrowsgray OR
               zcl_excel_style_conditional=&gt;c_iconset_5quarters OR
               zcl_excel_style_conditional=&gt;c_iconset_5rating.
            APPEND &apos;0&apos; TO lt_percent_val.
            APPEND &apos;20&apos; TO lt_percent_val.
            APPEND &apos;40&apos; TO lt_percent_val.
            APPEND &apos;60&apos; TO lt_percent_val.
            APPEND &apos;80&apos; TO lt_percent_val.
          WHEN OTHERS.
            CLEAR lt_percent_val.
        ENDCASE.

        LOOP AT lt_percent_val INTO ls_percent_val.
          &quot; cfvo node
          lo_element_4 = lo_document-&gt;create_simple_element( name   = lc_xml_node_cfvo
                                                             parent = lo_document ).
          lo_element_4-&gt;set_attribute_ns( name  = lc_xml_attr_type
                                          value = &apos;percent&apos; ).
          lo_element_4-&gt;set_attribute_ns( name  = lc_xml_attr_val
                                          value = ls_percent_val ).
          lo_element_3-&gt;append_child( lo_element_4 ). &quot; cfvo node
        ENDLOOP.


        lo_element_2-&gt;append_child( lo_element_3 ). &quot; iconset node
      WHEN zcl_excel_style_conditional=&gt;c_rule_cellis.
        lo_element_2-&gt;set_attribute_ns( name  = lc_xml_attr_dxfid
                                        value = &apos;0&apos; ). &quot; @TODO &lt;*****************************
        lv_value = lo_style_conditional-&gt;operator.
        lo_element_2-&gt;set_attribute_ns( name  = lc_xml_attr_operator
                                        value = lv_value ).
        &quot; formula node
        lo_element_3 = lo_document-&gt;create_simple_element( name   = lc_xml_node_formula
                                                           parent = lo_document ).
        lv_value = lo_style_conditional-&gt;formula.
        lo_element_3-&gt;set_value( lv_value ).
        lo_element_2-&gt;append_child( lo_element_3 ). &quot; formula node

    ENDCASE.

    lo_element-&gt;append_child( lo_element_2 ). &quot; cfRule node

    lo_element_root-&gt;append_child( lo_element ). &quot; Conditional formatting node
  ENDWHILE.
  &quot; pageMargins node
  lo_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_pagemargins
                                                   parent = lo_document ).

  lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_left
                                value = &apos;0.7&apos; ). &quot; @TODO &lt;*****************************
  lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_right
                                value = &apos;0.7&apos; ). &quot; @TODO &lt;*****************************
  lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_top
                                value = &apos;0.75&apos; ). &quot; @TODO &lt;*****************************
  lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_bottom
                                value = &apos;0.75&apos; ). &quot; @TODO &lt;*****************************
  lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_header
                                value = &apos;0.3&apos; ). &quot; @TODO &lt;*****************************
  lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_footer
                                value = &apos;0.3&apos; ). &quot; @TODO &lt;*****************************
  lo_element_root-&gt;append_child( lo_element ). &quot; sheetFormatPr node

**********************************************************************
* STEP 5: Create xstring stream
  lo_streamfactory = lo_ixml-&gt;create_stream_factory( ).
  lo_ostream = lo_streamfactory-&gt;create_ostream_xstring( string = ep_content ).
  lo_renderer = lo_ixml-&gt;create_renderer( ostream  = lo_ostream document = lo_document ).
  lo_renderer-&gt;render( ).

ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_WRITER_2007" CMPNAME="CREATE_XL_SHEET_RELS" VERSION="1" LANGU="E" DESCRIPT="Create &apos;xl/workbook/_rels/sheet.xml.rels&apos;" EXPOSURE="0" STATE="1" EDITORDER="11 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100705" CHANGEDBY="FEMIA" CHANGEDON="20100710" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_WRITER_2007" CMPNAME="CREATE_XL_SHEET_RELS" SCONAME="EP_CONTENT" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100705" CHANGEDON="00000000" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="XSTRING"/>
   <source>METHOD create_xl_sheet_rels.


** Constant node name
  DATA: lc_xml_node_relationships TYPE string VALUE &apos;Relationships&apos;,
        lc_xml_node_relationship  TYPE string VALUE &apos;Relationship&apos;,
        &quot; Node attributes
        lc_xml_attr_id            TYPE string VALUE &apos;Id&apos;,
        lc_xml_attr_type          TYPE string VALUE &apos;Type&apos;,
        lc_xml_attr_target        TYPE string VALUE &apos;Target&apos;,
        &quot; Node namespace
        lc_xml_node_rels_ns       TYPE string VALUE &apos;http://schemas.openxmlformats.org/package/2006/relationships&apos;,
        &quot; Node id
        lc_xml_node_ridx_id       TYPE string VALUE &apos;rId#&apos;,
        lc_xml_node_rid_print_id  TYPE string VALUE &apos;rId1&apos;,
        &quot; Node type
        lc_xml_node_rid_print_tp  TYPE string VALUE &apos;http://schemas.openxmlformats.org/officeDocument/2006/relationships/printerSettings&apos;,
        &quot; Node target
        lc_xml_node_rid_print_tg  TYPE string VALUE &apos;../printerSettings/printerSettings1.bin&apos;.

  DATA: lo_ixml           TYPE REF TO if_ixml,
        lo_document       TYPE REF TO if_ixml_document,
        lo_element_root   TYPE REF TO if_ixml_element,
        lo_element        TYPE REF TO if_ixml_element,
        lo_encoding       TYPE REF TO if_ixml_encoding,
        lo_streamfactory  TYPE REF TO if_ixml_stream_factory,
        lo_ostream        TYPE REF TO if_ixml_ostream,
        lo_renderer       TYPE REF TO if_ixml_renderer.

**********************************************************************
* STEP 1: Create [Content_Types].xml into the root of the ZIP
  lo_ixml = cl_ixml=&gt;create( ).

**********************************************************************
* STEP 2: Set document attributes
  lo_encoding = lo_ixml-&gt;create_encoding( byte_order = if_ixml_encoding=&gt;co_platform_endian
                                          character_set = &apos;utf-8&apos; ).
  lo_document = lo_ixml-&gt;create_document( ).
  lo_document-&gt;set_encoding( lo_encoding ).
  lo_document-&gt;set_standalone( abap_true ).

**********************************************************************
* STEP 3: Create main node relationships
  lo_element_root  = lo_document-&gt;create_simple_element( name   = lc_xml_node_relationships
                                                         parent = lo_document ).
  lo_element_root-&gt;set_attribute_ns( name  = &apos;xmlns&apos;
                                     value = lc_xml_node_rels_ns ).

**********************************************************************
* STEP 4: Create subnodes

  &quot; Relationship node
  lo_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_relationship
                                                   parent = lo_document ).
  lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_id
                                value = lc_xml_node_rid_print_id ).
  lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_type
                                value = lc_xml_node_rid_print_tp ).
  lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_target
                                value = lc_xml_node_rid_print_tg ).
  lo_element_root-&gt;append_child( lo_element ).

**********************************************************************
* STEP 5: Create xstring stream
  lo_streamfactory = lo_ixml-&gt;create_stream_factory( ).
  lo_ostream = lo_streamfactory-&gt;create_ostream_xstring( string = ep_content ).
  lo_renderer = lo_ixml-&gt;create_renderer( ostream  = lo_ostream document = lo_document ).
  lo_renderer-&gt;render( ).

ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_WRITER_2007" CMPNAME="CREATE_XL_STYLES" VERSION="1" LANGU="E" DESCRIPT="Create &apos;xl/styles.xml&apos;" EXPOSURE="0" STATE="1" EDITORDER="12 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100702" CHANGEDBY="FEMIA" CHANGEDON="20100710" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_WRITER_2007" CMPNAME="CREATE_XL_STYLES" SCONAME="EP_CONTENT" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100702" CHANGEDON="00000000" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="XSTRING"/>
   <source>METHOD create_xl_styles.


** Constant node name
  DATA: lc_xml_node_stylesheet    TYPE string VALUE &apos;styleSheet&apos;,
        &quot; font
        lc_xml_node_fonts         TYPE string VALUE &apos;fonts&apos;,
        lc_xml_node_font          TYPE string VALUE &apos;font&apos;,
        lc_xml_node_b             TYPE string VALUE &apos;b&apos;,            &quot;bold
        lc_xml_node_i             TYPE string VALUE &apos;i&apos;,            &quot;italic
        lc_xml_node_u             TYPE string VALUE &apos;u&apos;,            &quot;underline
        lc_xml_node_strike        TYPE string VALUE &apos;strike&apos;,       &quot;strikethrough
        lc_xml_node_sz            TYPE string VALUE &apos;sz&apos;,
        lc_xml_node_color         TYPE string VALUE &apos;color&apos;,
        lc_xml_node_name          TYPE string VALUE &apos;name&apos;,
        lc_xml_node_family        TYPE string VALUE &apos;family&apos;,
        lc_xml_node_scheme        TYPE string VALUE &apos;scheme&apos;,
        &quot; fill
        lc_xml_node_fills         TYPE string VALUE &apos;fills&apos;,
        lc_xml_node_fill          TYPE string VALUE &apos;fill&apos;,
        lc_xml_node_patternfill   TYPE string VALUE &apos;patternFill&apos;,
        lc_xml_node_fgcolor       TYPE string VALUE &apos;fgColor&apos;,
        lc_xml_node_bgcolor       TYPE string VALUE &apos;bgColor&apos;,
        lc_xml_node_gradientfill  TYPE string VALUE &apos;gradientFill&apos;,
        lc_xml_node_stop          TYPE string VALUE &apos;stop&apos;,
        &quot; borders
        lc_xml_node_borders       TYPE string VALUE &apos;borders&apos;,
        lc_xml_node_border        TYPE string VALUE &apos;border&apos;,
        lc_xml_node_left          TYPE string VALUE &apos;left&apos;,
        lc_xml_node_right         TYPE string VALUE &apos;right&apos;,
        lc_xml_node_top           TYPE string VALUE &apos;top&apos;,
        lc_xml_node_bottom        TYPE string VALUE &apos;bottom&apos;,
        lc_xml_node_diagonal      TYPE string VALUE &apos;diagonal&apos;,
        &quot; Styles
        lc_xml_node_cellstylexfs  TYPE string VALUE &apos;cellStyleXfs&apos;,
        lc_xml_node_xf            TYPE string VALUE &apos;xf&apos;,
        lc_xml_node_cellxfs       TYPE string VALUE &apos;cellXfs&apos;,
        lc_xml_node_cellstyles    TYPE string VALUE &apos;cellStyles&apos;,
        lc_xml_node_cellstyle     TYPE string VALUE &apos;cellStyle&apos;,
        lc_xml_node_dxfs          TYPE string VALUE &apos;dxfs&apos;,
        lc_xml_node_tablestyles   TYPE string VALUE &apos;tableStyles&apos;,
        &quot; Colors
        lc_xml_node_colors        TYPE string VALUE &apos;colors&apos;,
        lc_xml_node_mrucolors     TYPE string VALUE &apos;mruColors&apos;,
        &quot; Node attributes
        lc_xml_attr_count             TYPE string VALUE &apos;count&apos;,
        lc_xml_attr_val               TYPE string VALUE &apos;val&apos;,
        lc_xml_attr_theme             TYPE string VALUE &apos;theme&apos;,
        lc_xml_attr_rgb               TYPE string VALUE &apos;rgb&apos;,
        lc_xml_attr_indexed           TYPE string VALUE &apos;indexed&apos;,
        lc_xml_attr_style             TYPE string VALUE &apos;style&apos;,
        lc_xml_attr_position          TYPE string VALUE &apos;position&apos;,
        lc_xml_attr_degree            TYPE string VALUE &apos;degree&apos;,
        lc_xml_attr_patterntype       TYPE string VALUE &apos;patternType&apos;,
        lc_xml_attr_numfmtid          TYPE string VALUE &apos;numFmtId&apos;,
        lc_xml_attr_fontid            TYPE string VALUE &apos;fontId&apos;,
        lc_xml_attr_fillid            TYPE string VALUE &apos;fillId&apos;,
        lc_xml_attr_borderid          TYPE string VALUE &apos;borderId&apos;,
        lc_xml_attr_xfid              TYPE string VALUE &apos;xfId&apos;,
        lc_xml_attr_applynumberformat TYPE string VALUE &apos;applyNumberFormat&apos;,
        lc_xml_attr_applyfont         TYPE string VALUE &apos;applyFont&apos;,
        lc_xml_attr_applyfill         TYPE string VALUE &apos;applyFill&apos;,
        lc_xml_attr_applyborder       TYPE string VALUE &apos;applyBorder&apos;,
        lc_xml_attr_name              TYPE string VALUE &apos;name&apos;,
        lc_xml_attr_builtinid         TYPE string VALUE &apos;builtinId&apos;,
        lc_xml_attr_defaulttablestyle TYPE string VALUE &apos;defaultTableStyle&apos;,
        lc_xml_attr_defaultpivotstyle TYPE string VALUE &apos;defaultPivotStyle&apos;,
        &quot; Node namespace
        lc_xml_node_ns                TYPE string VALUE &apos;http://schemas.openxmlformats.org/spreadsheetml/2006/main&apos;.

  DATA: lo_ixml             TYPE REF TO if_ixml,
        lo_document         TYPE REF TO if_ixml_document,
        lo_element_root     TYPE REF TO if_ixml_element,
        lo_element_fonts    TYPE REF TO if_ixml_element,
        lo_element_font     TYPE REF TO if_ixml_element,
        lo_element_fills    TYPE REF TO if_ixml_element,
        lo_element_fill     TYPE REF TO if_ixml_element,
        lo_element_borders  TYPE REF TO if_ixml_element,
        lo_element_border   TYPE REF TO if_ixml_element,
        lo_element_cellxfs  TYPE REF TO if_ixml_element,
        lo_element          TYPE REF TO if_ixml_element,
        lo_sub_element      TYPE REF TO if_ixml_element,
        lo_sub_element_2    TYPE REF TO if_ixml_element,
        lo_encoding         TYPE REF TO if_ixml_encoding,
        lo_streamfactory    TYPE REF TO if_ixml_stream_factory,
        lo_ostream          TYPE REF TO if_ixml_ostream,
        lo_renderer         TYPE REF TO if_ixml_renderer,
        lo_iterator         TYPE REF TO cl_object_collection_iterator,
        lo_style            TYPE REF TO zcl_excel_style.


  DATA: lt_fonts          TYPE zexcel_t_style_font,
        ls_font           TYPE zexcel_s_style_font,
        lt_fills          TYPE zexcel_t_style_fill,
        ls_fill           TYPE zexcel_s_style_fill,
        lt_borders        TYPE zexcel_t_style_border,
        ls_border         TYPE zexcel_s_style_border,
        ls_format         TYPE zexcel_number_format,
        lt_cellxfs        TYPE zexcel_t_cellxfs,
        ls_cellxfs        TYPE zexcel_s_cellxfs,
        ls_styles_mapping TYPE zexcel_s_styles_mapping,
        lt_colors         TYPE TABLE OF zexcel_style_color_argb,
        ls_color          TYPE zexcel_style_color_argb.

  DATA: lv_value          TYPE string,
        lv_fonts_count    TYPE i,
        lv_fills_count    TYPE i,
        lv_borders_count  TYPE i,
        lv_cellxfs_count  TYPE i.

**********************************************************************
* STEP 1: Create [Content_Types].xml into the root of the ZIP
  lo_ixml = cl_ixml=&gt;create( ).

**********************************************************************
* STEP 2: Set document attributes
  lo_encoding = lo_ixml-&gt;create_encoding( byte_order = if_ixml_encoding=&gt;co_platform_endian
                                          character_set = &apos;utf-8&apos; ).
  lo_document = lo_ixml-&gt;create_document( ).
  lo_document-&gt;set_encoding( lo_encoding ).
  lo_document-&gt;set_standalone( abap_true ).

***********************************************************************
* STEP 3: Create main node relationships
  lo_element_root  = lo_document-&gt;create_simple_element( name   = lc_xml_node_stylesheet
                                                         parent = lo_document ).
  lo_element_root-&gt;set_attribute_ns( name  = &apos;xmlns&apos;
                                     value = lc_xml_node_ns ).

**********************************************************************
* STEP 4: Create subnodes

  lo_element_fonts = lo_document-&gt;create_simple_element( name   = lc_xml_node_fonts
                                                         parent = lo_document ).

  lo_element_fills = lo_document-&gt;create_simple_element( name   = lc_xml_node_fills
                                                         parent = lo_document ).

  lo_element_borders = lo_document-&gt;create_simple_element( name   = lc_xml_node_borders
                                                           parent = lo_document ).

  lo_element_cellxfs = lo_document-&gt;create_simple_element( name   = lc_xml_node_cellxfs
                                                           parent = lo_document ).

* Compress styles
  lo_iterator = excel-&gt;get_styles_iterator( ).
  WHILE lo_iterator-&gt;has_next( ) EQ abap_true.
    lo_style ?= lo_iterator-&gt;get_next( ).
    ls_font   = lo_style-&gt;font-&gt;get_structure( ).
    ls_fill   = lo_style-&gt;fill-&gt;get_structure( ).
    ls_border = lo_style-&gt;borders-&gt;get_structure( ).
    ls_format = lo_style-&gt;number_format-&gt;get_structure( ).


* Compress fonts
    READ TABLE lt_fonts FROM ls_font TRANSPORTING NO FIELDS.
    IF sy-subrc EQ 0.
      ls_cellxfs-fontid = sy-tabix.
    ELSE.
      APPEND ls_font TO lt_fonts.
      DESCRIBE TABLE lt_fonts LINES ls_cellxfs-fontid.
    ENDIF.
    SUBTRACT 1 FROM ls_cellxfs-fontid.

* Compress fills
    READ TABLE lt_fills FROM ls_fill TRANSPORTING NO FIELDS.
    IF sy-subrc EQ 0.
      ls_cellxfs-fillid = sy-tabix.
    ELSE.
      APPEND ls_fill TO lt_fills.
      DESCRIBE TABLE lt_fills LINES ls_cellxfs-fillid.
    ENDIF.
    SUBTRACT 1 FROM ls_cellxfs-fillid.

* Compress borders
    READ TABLE lt_borders FROM ls_border TRANSPORTING NO FIELDS.
    IF sy-subrc EQ 0.
      ls_cellxfs-borderid = sy-tabix.
    ELSE.
      APPEND ls_border TO lt_borders.
      DESCRIBE TABLE lt_borders LINES ls_cellxfs-borderid.
    ENDIF.
    SUBTRACT 1 FROM ls_cellxfs-borderid.

    IF ls_format IS INITIAL.
      ls_cellxfs-numfmtid     = 0. &quot; number format
    ELSE.
      ls_cellxfs-numfmtid     = ls_format. &quot; number format
    ENDIF.
    ls_cellxfs-xfid         = 0.

    IF ls_format IS NOT INITIAL.
      ls_cellxfs-applynumberformat    = 1.
      ls_styles_mapping-cell_format   = &apos;I&apos;.
    ELSE.
      ls_cellxfs-applynumberformat    = 0.
      ls_styles_mapping-cell_format   = &apos;S&apos;.
    ENDIF.
    IF ls_cellxfs-fontid NE 0.
      ls_cellxfs-applyfont    = 1.
    ELSE.
      ls_cellxfs-applyfont    = 0.
    ENDIF.
    IF ls_cellxfs-fillid NE 0.
      ls_cellxfs-applyfill    = 1.
    ELSE.
      ls_cellxfs-applyfill    = 0.
    ENDIF.
    IF ls_cellxfs-borderid NE 0.
      ls_cellxfs-applyborder    = 1.
    ELSE.
      ls_cellxfs-applyborder    = 0.
    ENDIF.

* Remap styles
    READ TABLE lt_cellxfs FROM ls_cellxfs TRANSPORTING NO FIELDS.
    IF sy-subrc EQ 0.
      ls_styles_mapping-style = sy-tabix.
    ELSE.
      APPEND ls_cellxfs TO lt_cellxfs.
      DESCRIBE TABLE lt_cellxfs LINES ls_styles_mapping-style.
    ENDIF.
    SUBTRACT 1 FROM ls_styles_mapping-style.
    ls_styles_mapping-guid = lo_style-&gt;get_guid( ).
    APPEND ls_styles_mapping TO me-&gt;styles_mapping.
  ENDWHILE.

  &quot; create font elements
  LOOP AT lt_fonts INTO ls_font.
    lo_element_font = lo_document-&gt;create_simple_element( name   = lc_xml_node_font
                                                          parent = lo_document ).
    IF ls_font-bold EQ abap_true.
      lo_sub_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_b
                                                           parent = lo_document ).
      lo_element_font-&gt;append_child( lo_sub_element ).
    ENDIF.
    IF ls_font-italic EQ abap_true.
      lo_sub_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_i
                                                           parent = lo_document ).
      lo_element_font-&gt;append_child( lo_sub_element ).
    ENDIF.
    IF ls_font-underline EQ abap_true.
      lo_sub_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_u
                                                           parent = lo_document ).
      lv_value = ls_font-underline_mode.
      lo_sub_element-&gt;set_attribute_ns( name  = lc_xml_attr_val
                                        value = lv_value ).
      lo_element_font-&gt;append_child( lo_sub_element ).
    ENDIF.
    IF ls_font-strikethrough EQ abap_true.
      lo_sub_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_strike
                                                           parent = lo_document ).
      lo_element_font-&gt;append_child( lo_sub_element ).
    ENDIF.
    &quot;size
    lo_sub_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_sz
                                                         parent = lo_document ).
    lv_value = ls_font-size.
    SHIFT lv_value RIGHT DELETING TRAILING space.
    SHIFT lv_value LEFT DELETING LEADING space.
    lo_sub_element-&gt;set_attribute_ns( name  = lc_xml_attr_val
                                      value = lv_value ).
    lo_element_font-&gt;append_child( lo_sub_element ).
    &quot;color
    lo_sub_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_color
                                                         parent = lo_document ).
    lv_value = ls_font-color.
    lo_sub_element-&gt;set_attribute_ns( name  = lc_xml_attr_rgb
                                      value = lv_value ).
    lo_element_font-&gt;append_child( lo_sub_element ).
    &quot;name
    lo_sub_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_name
                                                         parent = lo_document ).
    lv_value = ls_font-name.
    lo_sub_element-&gt;set_attribute_ns( name  = lc_xml_attr_val
                                      value = lv_value ).
    lo_element_font-&gt;append_child( lo_sub_element ).
    &quot;family
    lo_sub_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_family
                                                         parent = lo_document ).
    lv_value = ls_font-family.
    SHIFT lv_value RIGHT DELETING TRAILING space.
    SHIFT lv_value LEFT DELETING LEADING space.
    lo_sub_element-&gt;set_attribute_ns( name  = lc_xml_attr_val
                                      value = lv_value ).
    lo_element_font-&gt;append_child( lo_sub_element ).
    &quot;scheme
    lo_sub_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_scheme
                                                         parent = lo_document ).
    lv_value = ls_font-scheme.
    lo_sub_element-&gt;set_attribute_ns( name  = lc_xml_attr_val
                                      value = lv_value ).
    lo_element_font-&gt;append_child( lo_sub_element ).
    lo_element_fonts-&gt;append_child( lo_element_font ).
    &quot; Collect color
    APPEND ls_font-color TO lt_colors.
  ENDLOOP.

  &quot; create fill elements
  LOOP AT lt_fills INTO ls_fill.
    lo_element_fill = lo_document-&gt;create_simple_element( name   = lc_xml_node_fill
                                                          parent = lo_document ).
    &quot;pattern
    lo_sub_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_patternfill
                                                         parent = lo_document ).
    lv_value = ls_fill-filltype.
    lo_sub_element-&gt;set_attribute_ns( name  = lc_xml_attr_patterntype
                                      value = lv_value ).
    &quot; fgcolor
    IF ls_fill-fgcolor IS NOT INITIAL.
      lo_sub_element_2 = lo_document-&gt;create_simple_element( name   = lc_xml_node_fgcolor
                                                             parent = lo_document ).
      lv_value = ls_fill-fgcolor.
      lo_sub_element_2-&gt;set_attribute_ns( name  = lc_xml_attr_rgb
                                          value = lv_value ).

      lo_sub_element-&gt;append_child( lo_sub_element_2 ).&quot; fgcolor
    ENDIF.
    &quot; bgcolor
    IF ls_fill-bgcolor IS NOT INITIAL.
      lo_sub_element_2 = lo_document-&gt;create_simple_element( name   = lc_xml_node_bgcolor
                                                             parent = lo_document ).
      lv_value = ls_fill-bgcolor.
      lo_sub_element_2-&gt;set_attribute_ns( name  = lc_xml_attr_indexed
                                          value = lv_value ).

      lo_sub_element-&gt;append_child( lo_sub_element_2 ).&quot; bgcolor
    ENDIF.

    lo_element_fill-&gt;append_child( lo_sub_element ).&quot;pattern
    lo_element_fills-&gt;append_child( lo_element_fill ).
    &quot; Collect color
    IF ls_fill-fgcolor IS NOT INITIAL.
      APPEND ls_fill-fgcolor TO lt_colors.
    ENDIF.
  ENDLOOP.

  &quot; create border elements
  LOOP AT lt_borders INTO ls_border.
    lo_element_border = lo_document-&gt;create_simple_element( name   = lc_xml_node_border
                                                            parent = lo_document ).
    &quot;left
    lo_sub_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_left
                                                         parent = lo_document ).
    IF ls_border-left_style IS NOT INITIAL.
      lv_value = ls_border-left_style.
      lo_sub_element-&gt;set_attribute_ns( name  = lc_xml_attr_style
                                        value = lv_value ).
    ENDIF.
    IF ls_border-left_color IS NOT INITIAL.
      lo_sub_element_2 = lo_document-&gt;create_simple_element( name   = lc_xml_node_color
                                                             parent = lo_document ).
      lv_value = ls_border-left_color.
      lo_sub_element_2-&gt;set_attribute_ns( name  = lc_xml_attr_rgb
                                          value = lv_value ).
      lo_sub_element-&gt;append_child( lo_sub_element_2 ).&quot; color
*     Collect color
      APPEND ls_border-left_color TO lt_colors.
    ENDIF.
    lo_element_border-&gt;append_child( lo_sub_element ).

    &quot;right
    lo_sub_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_right
                                                         parent = lo_document ).
    IF ls_border-right_style IS NOT INITIAL.
      lv_value = ls_border-right_style.
      lo_sub_element-&gt;set_attribute_ns( name  = lc_xml_attr_style
                                        value = lv_value ).
    ENDIF.
    IF ls_border-right_color IS NOT INITIAL.
      lo_sub_element_2 = lo_document-&gt;create_simple_element( name   = lc_xml_node_color
                                                             parent = lo_document ).
      lv_value = ls_border-right_color.
      lo_sub_element_2-&gt;set_attribute_ns( name  = lc_xml_attr_rgb
                                          value = lv_value ).
      lo_sub_element-&gt;append_child( lo_sub_element_2 ).&quot; color
*     Collect color
      APPEND ls_border-right_color TO lt_colors.
    ENDIF.
    lo_element_border-&gt;append_child( lo_sub_element ).

    &quot;top
    lo_sub_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_top
                                                         parent = lo_document ).
    IF ls_border-top_style IS NOT INITIAL.
      lv_value = ls_border-top_style.
      lo_sub_element-&gt;set_attribute_ns( name  = lc_xml_attr_style
                                        value = lv_value ).
    ENDIF.
    IF ls_border-top_color IS NOT INITIAL.
      lo_sub_element_2 = lo_document-&gt;create_simple_element( name   = lc_xml_node_color
                                                             parent = lo_document ).
      lv_value = ls_border-top_color.
      lo_sub_element_2-&gt;set_attribute_ns( name  = lc_xml_attr_rgb
                                          value = lv_value ).
      lo_sub_element-&gt;append_child( lo_sub_element_2 ).&quot; color
*     Collect color
      APPEND ls_border-top_color TO lt_colors.
    ENDIF.
    lo_element_border-&gt;append_child( lo_sub_element ).

    &quot;bottom
    lo_sub_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_bottom
                                                         parent = lo_document ).
    IF ls_border-bottom_style IS NOT INITIAL.
      lv_value = ls_border-bottom_style.
      lo_sub_element-&gt;set_attribute_ns( name  = lc_xml_attr_style
                                        value = lv_value ).
    ENDIF.
    IF ls_border-bottom_color IS NOT INITIAL.
      lo_sub_element_2 = lo_document-&gt;create_simple_element( name   = lc_xml_node_color
                                                             parent = lo_document ).
      lv_value = ls_border-bottom_color.
      lo_sub_element_2-&gt;set_attribute_ns( name  = lc_xml_attr_rgb
                                          value = lv_value ).
      lo_sub_element-&gt;append_child( lo_sub_element_2 ).&quot; color
*     Collect color
      APPEND ls_border-bottom_color TO lt_colors.
    ENDIF.
    lo_element_border-&gt;append_child( lo_sub_element ).

    &quot;diagonal
    lo_sub_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_diagonal
                                                         parent = lo_document ).
    IF ls_border-diagonal_style IS NOT INITIAL.
      lv_value = ls_border-diagonal_style.
      lo_sub_element-&gt;set_attribute_ns( name  = lc_xml_attr_style
                                        value = lv_value ).
    ENDIF.
    IF ls_border-diagonal_color IS NOT INITIAL.
      lo_sub_element_2 = lo_document-&gt;create_simple_element( name   = lc_xml_node_color
                                                             parent = lo_document ).
      lv_value = ls_border-diagonal_color.
      lo_sub_element_2-&gt;set_attribute_ns( name  = lc_xml_attr_rgb
                                          value = lv_value ).
      lo_sub_element-&gt;append_child( lo_sub_element_2 ).&quot; color
*     Collect color
      APPEND ls_border-diagonal_color TO lt_colors.
    ENDIF.
    lo_element_border-&gt;append_child( lo_sub_element ).
    lo_element_borders-&gt;append_child( lo_element_border ).
  ENDLOOP.

  &quot; update attribute &quot;count&quot;
  DESCRIBE TABLE lt_fonts LINES lv_fonts_count.
  MOVE lv_fonts_count TO lv_value.
  SHIFT lv_value RIGHT DELETING TRAILING space.
  SHIFT lv_value LEFT DELETING LEADING space.
  lo_element_fonts-&gt;set_attribute_ns( name  = lc_xml_attr_count
                                      value = lv_value ).
  DESCRIBE TABLE lt_fills LINES lv_fills_count.
  MOVE lv_fills_count TO lv_value.
  SHIFT lv_value RIGHT DELETING TRAILING space.
  SHIFT lv_value LEFT DELETING LEADING space.
  lo_element_fills-&gt;set_attribute_ns( name  = lc_xml_attr_count
                                      value = lv_value ).
  DESCRIBE TABLE lt_borders LINES lv_borders_count.
  MOVE lv_borders_count TO lv_value.
  SHIFT lv_value RIGHT DELETING TRAILING space.
  SHIFT lv_value LEFT DELETING LEADING space.
  lo_element_borders-&gt;set_attribute_ns( name  = lc_xml_attr_count
                                        value = lv_value ).
  DESCRIBE TABLE lt_cellxfs LINES lv_cellxfs_count.
  MOVE lv_cellxfs_count TO lv_value.
  SHIFT lv_value RIGHT DELETING TRAILING space.
  SHIFT lv_value LEFT DELETING LEADING space.
  lo_element_cellxfs-&gt;set_attribute_ns( name  = lc_xml_attr_count
                                        value = lv_value ).

  &quot; Append to root node
  lo_element_root-&gt;append_child( lo_element_fonts ).
  lo_element_root-&gt;append_child( lo_element_fills ).
  lo_element_root-&gt;append_child( lo_element_borders ).

  &quot; cellstylexfs node
  lo_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_cellstylexfs
                                                   parent = lo_document ).
  lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_count
                                value = &apos;1&apos; ).
  lo_sub_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_xf
                                                       parent = lo_document ).

  lo_sub_element-&gt;set_attribute_ns( name  = lc_xml_attr_numfmtid
                                    value = &apos;0&apos; ).
  lo_sub_element-&gt;set_attribute_ns( name  = lc_xml_attr_fontid
                                    value = &apos;0&apos; ).
  lo_sub_element-&gt;set_attribute_ns( name  = lc_xml_attr_fillid
                                    value = &apos;0&apos; ).
  lo_sub_element-&gt;set_attribute_ns( name  = lc_xml_attr_borderid
                                    value = &apos;0&apos; ).

  lo_element-&gt;append_child( lo_sub_element ).
  lo_element_root-&gt;append_child( lo_element ).

  LOOP AT lt_cellxfs INTO ls_cellxfs.
    lo_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_xf
                                                        parent = lo_document ).
    MOVE ls_cellxfs-numfmtid TO lv_value.
    SHIFT lv_value RIGHT DELETING TRAILING space.
    SHIFT lv_value LEFT DELETING LEADING space.
    lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_numfmtid
                                  value = lv_value ).
    MOVE ls_cellxfs-fontid TO lv_value.
    SHIFT lv_value RIGHT DELETING TRAILING space.
    SHIFT lv_value LEFT DELETING LEADING space.
    lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_fontid
                                  value = lv_value ).
    MOVE ls_cellxfs-fillid TO lv_value.
    SHIFT lv_value RIGHT DELETING TRAILING space.
    SHIFT lv_value LEFT DELETING LEADING space.
    lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_fillid
                                  value = lv_value ).
    MOVE ls_cellxfs-borderid TO lv_value.
    SHIFT lv_value RIGHT DELETING TRAILING space.
    SHIFT lv_value LEFT DELETING LEADING space.
    lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_borderid
                                  value = lv_value ).
    MOVE ls_cellxfs-xfid TO lv_value.
    SHIFT lv_value RIGHT DELETING TRAILING space.
    SHIFT lv_value LEFT DELETING LEADING space.
    lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_xfid
                                  value = lv_value ).
    IF ls_cellxfs-applynumberformat EQ 1.
      MOVE ls_cellxfs-applynumberformat TO lv_value.
      SHIFT lv_value RIGHT DELETING TRAILING space.
      SHIFT lv_value LEFT DELETING LEADING space.
      lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_applynumberformat
                                    value = lv_value ).
    ENDIF.
    IF ls_cellxfs-applyfont EQ 1.
      MOVE ls_cellxfs-applyfont TO lv_value.
      SHIFT lv_value RIGHT DELETING TRAILING space.
      SHIFT lv_value LEFT DELETING LEADING space.
      lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_applyfont
                                    value = lv_value ).
    ENDIF.
    IF ls_cellxfs-applyfill EQ 1.
      MOVE ls_cellxfs-applyfill TO lv_value.
      SHIFT lv_value RIGHT DELETING TRAILING space.
      SHIFT lv_value LEFT DELETING LEADING space.
      lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_applyfill
                                    value = lv_value ).
    ENDIF.
    IF ls_cellxfs-applyborder EQ 1.
      MOVE ls_cellxfs-applyborder TO lv_value.
      SHIFT lv_value RIGHT DELETING TRAILING space.
      SHIFT lv_value LEFT DELETING LEADING space.
      lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_applyborder
                                    value = lv_value ).
    ENDIF.
    lo_element_cellxfs-&gt;append_child( lo_element ).
  ENDLOOP.

  lo_element_root-&gt;append_child( lo_element_cellxfs ).

  &quot; cellStyles node
  lo_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_cellstyles
                                                   parent = lo_document ).
  lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_count
                                value = &apos;1&apos; ).
  lo_sub_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_cellstyle
  parent = lo_document ).

  lo_sub_element-&gt;set_attribute_ns( name  = lc_xml_attr_name
                                    value = &apos;Normal&apos; ).
  lo_sub_element-&gt;set_attribute_ns( name  = lc_xml_attr_xfid
                                    value = &apos;0&apos; ).
  lo_sub_element-&gt;set_attribute_ns( name  = lc_xml_attr_builtinid
                                    value = &apos;0&apos; ).

  lo_element-&gt;append_child( lo_sub_element ).
  lo_element_root-&gt;append_child( lo_element ).

  &quot; dxfs node
  lo_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_dxfs
                                                   parent = lo_document ).
  lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_count
                                value = &apos;0&apos; ).
  lo_element_root-&gt;append_child( lo_element ).

  &quot; tableStyles node
  lo_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_tablestyles
                                                   parent = lo_document ).
  lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_count
                                value = &apos;0&apos; ).
  lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_defaulttablestyle
                                value = &apos;TableStyleMedium9&apos; ).
  lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_defaultpivotstyle
                                value = &apos;PivotStyleLight16&apos; ).
  lo_element_root-&gt;append_child( lo_element ).

  &quot; colors node
  lo_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_colors
                                                   parent = lo_document ).
  &quot; mruColors node
  lo_sub_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_mrucolors
                                                       parent = lo_document ).

  SORT lt_colors.
  DELETE ADJACENT DUPLICATES FROM lt_colors.

  LOOP AT lt_colors INTO ls_color.
    &quot; color node
    lo_sub_element_2 = lo_document-&gt;create_simple_element( name   = lc_xml_node_color
                                                           parent = lo_document ).
    lv_value = ls_color.
    lo_sub_element_2-&gt;set_attribute_ns( name  = lc_xml_attr_rgb
                                        value = lv_value ).
    lo_sub_element-&gt;append_child( lo_sub_element_2 ).&quot; color node
  ENDLOOP.

  lo_element-&gt;append_child( lo_sub_element ).&quot; mruColors node
  lo_element_root-&gt;append_child( lo_element ).&quot; colors node

**********************************************************************
* STEP 5: Create xstring stream
  lo_streamfactory = lo_ixml-&gt;create_stream_factory( ).
  lo_ostream = lo_streamfactory-&gt;create_ostream_xstring( string = ep_content ).
  lo_renderer = lo_ixml-&gt;create_renderer( ostream  = lo_ostream document = lo_document ).
  lo_renderer-&gt;render( ).

ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_WRITER_2007" CMPNAME="CREATE_XL_THEME" VERSION="1" LANGU="E" DESCRIPT="Create &apos;xl/theme/theme1.xml&apos;" EXPOSURE="0" STATE="1" EDITORDER="13 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100702" CHANGEDBY="FEMIA" CHANGEDON="20100710" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_WRITER_2007" CMPNAME="CREATE_XL_THEME" SCONAME="EP_CONTENT" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100702" CHANGEDON="00000000" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="XSTRING"/>
   <source>METHOD create_xl_theme.


* @TODO *

  DATA: lv_xl_theme    TYPE string,
        lv_xl_theme_01 TYPE string,
        lv_xl_theme_02 TYPE string,
        lv_xl_theme_03 TYPE string,
        lv_xl_theme_04 TYPE string,
        lv_xl_theme_05 TYPE string,
        lv_xl_theme_06 TYPE string,
        lv_xl_theme_07 TYPE string,
        lv_xl_theme_08 TYPE string,
        lv_xl_theme_09 TYPE string,
        lv_xl_theme_10 TYPE string,
        lv_xl_theme_11 TYPE string,
        lv_xl_theme_12 TYPE string,
        lv_xl_theme_13 TYPE string,
        lv_xl_theme_14 TYPE string,
        lv_xl_theme_15 TYPE string,
        lv_xl_theme_16 TYPE string,
        lv_xl_theme_17 TYPE string,
        lv_xl_theme_18 TYPE string,
        lv_xl_theme_19 TYPE string,
        lv_xl_theme_20 TYPE string,
        lv_xl_theme_21 TYPE string,
        lv_xl_theme_22 TYPE string,
        lv_xl_theme_23 TYPE string,
        lv_xl_theme_24 TYPE string,
        lv_xl_theme_25 TYPE string,
        lv_xl_theme_26 TYPE string,
        lv_xl_theme_27 TYPE string,
        lv_xl_theme_28 TYPE string,
        lv_xl_theme_29 TYPE string,
        lv_xl_theme_30 TYPE string,
        lv_xl_theme_31 TYPE string,
        lv_xl_theme_32 TYPE string.

  lv_xl_theme_01 = &apos;&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;yes&quot;?&gt;&apos;.
  lv_xl_theme_02 = &apos;&lt;a:theme xmlns:a=&quot;http://schemas.openxmlformats.org/drawingml/2006/main&quot; name=&quot;Office Theme&quot;&gt;&lt;a:themeElements&gt;&lt;a:clrScheme name=&quot;Office&quot;&gt;&lt;a:dk1&gt;&lt;a:sysClr val=&quot;windowText&quot; lastClr=&quot;000000&quot;/&gt;&lt;/a:dk1&gt;&lt;a:lt1&gt;&lt;a:sysClr val=&quot;window&quot; &apos;.
  lv_xl_theme_03 = &apos;lastClr=&quot;FFFFFF&quot;/&gt;&lt;/a:lt1&gt;&lt;a:dk2&gt;&lt;a:srgbClr val=&quot;1F497D&quot;/&gt;&lt;/a:dk2&gt;&lt;a:lt2&gt;&lt;a:srgbClr val=&quot;EEECE1&quot;/&gt;&lt;/a:lt2&gt;&lt;a:accent1&gt;&lt;a:srgbClr val=&quot;4F81BD&quot;/&gt;&lt;/a:accent1&gt;&lt;a:accent2&gt;&lt;a:srgbClr val=&quot;C0504D&quot;/&gt;&lt;/a:accent2&gt;&lt;a:accent3&gt;&lt;a:srgbClr &apos;.
  lv_xl_theme_04 = &apos;val=&quot;9BBB59&quot;/&gt;&lt;/a:accent3&gt;&lt;a:accent4&gt;&lt;a:srgbClr val=&quot;8064A2&quot;/&gt;&lt;/a:accent4&gt;&lt;a:accent5&gt;&lt;a:srgbClr val=&quot;4BACC6&quot;/&gt;&lt;/a:accent5&gt;&lt;a:accent6&gt;&lt;a:srgbClr val=&quot;F79646&quot;/&gt;&lt;/a:accent6&gt;&lt;a:hlink&gt;&lt;a:srgbClr val=&quot;0000FF&quot;/&gt;&lt;/a:hlink&gt;&lt;a:folHlink&gt;&apos;.
  lv_xl_theme_05 = &apos;&lt;a:srgbClr val=&quot;800080&quot;/&gt;&lt;/a:folHlink&gt;&lt;/a:clrScheme&gt;&lt;a:fontScheme name=&quot;Office&quot;&gt;&lt;a:majorFont&gt;&lt;a:latin typeface=&quot;Cambria&quot;/&gt;&lt;a:ea typeface=&quot;&quot;/&gt;&lt;a:cs typeface=&quot;&quot;/&gt;&apos;.
  lv_xl_theme_06 = &apos;&lt;a:font script=&quot;Arab&quot; typeface=&quot;Times New Roman&quot;/&gt;&lt;a:font script=&quot;Hebr&quot; typeface=&quot;Times New Roman&quot;/&gt;&lt;a:font script=&quot;Thai&quot; &apos;.
  lv_xl_theme_07 = &apos;typeface=&quot;Tahoma&quot;/&gt;&lt;a:font script=&quot;Ethi&quot; typeface=&quot;Nyala&quot;/&gt;&lt;a:font script=&quot;Beng&quot; typeface=&quot;Vrinda&quot;/&gt;&lt;a:font script=&quot;Gujr&quot; typeface=&quot;Shruti&quot;/&gt;&lt;a:font script=&quot;Khmr&quot; typeface=&quot;MoolBoran&quot;/&gt;&lt;a:font script=&quot;Knda&quot; typeface=&quot;Tunga&quot;/&gt;&lt;a:font &apos;.
  lv_xl_theme_08 = &apos;script=&quot;Guru&quot; typeface=&quot;Raavi&quot;/&gt;&lt;a:font script=&quot;Cans&quot; typeface=&quot;Euphemia&quot;/&gt;&lt;a:font script=&quot;Cher&quot; typeface=&quot;Plantagenet Cherokee&quot;/&gt;&lt;a:font script=&quot;Yiii&quot; typeface=&quot;Microsoft Yi Baiti&quot;/&gt;&lt;a:font script=&quot;Tibt&quot; &apos;.
  lv_xl_theme_09 = &apos;typeface=&quot;Microsoft Himalaya&quot;/&gt;&lt;a:font script=&quot;Thaa&quot; typeface=&quot;MV Boli&quot;/&gt;&lt;a:font script=&quot;Deva&quot; typeface=&quot;Mangal&quot;/&gt;&lt;a:font script=&quot;Telu&quot; typeface=&quot;Gautami&quot;/&gt;&lt;a:font script=&quot;Taml&quot; typeface=&quot;Latha&quot;/&gt;&lt;a:font script=&quot;Syrc&quot; &apos;.
  lv_xl_theme_10 = &apos;typeface=&quot;Estrangelo Edessa&quot;/&gt;&lt;a:font script=&quot;Orya&quot; typeface=&quot;Kalinga&quot;/&gt;&lt;a:font script=&quot;Mlym&quot; typeface=&quot;Kartika&quot;/&gt;&lt;a:font script=&quot;Laoo&quot; typeface=&quot;DokChampa&quot;/&gt;&lt;a:font script=&quot;Sinh&quot; typeface=&quot;Iskoola Pota&quot;/&gt;&lt;a:font script=&quot;Mong&quot; &apos;.
  lv_xl_theme_11 = &apos;typeface=&quot;Mongolian Baiti&quot;/&gt;&lt;a:font script=&quot;Viet&quot; typeface=&quot;Times New Roman&quot;/&gt;&lt;a:font script=&quot;Uigh&quot; typeface=&quot;Microsoft Uighur&quot;/&gt;&lt;/a:majorFont&gt;&lt;a:minorFont&gt;&lt;a:latin typeface=&quot;Calibri&quot;/&gt;&lt;a:ea typeface=&quot;&quot;/&gt;&lt;a:cs typeface=&quot;&quot;/&gt;&apos;.
  lv_xl_theme_12 = &apos;&lt;a:font script=&quot;Arab&quot; typeface=&quot;Arial&quot;/&gt;&lt;a:font script=&quot;Hebr&quot; &apos;.
  lv_xl_theme_13 = &apos;typeface=&quot;Arial&quot;/&gt;&lt;a:font script=&quot;Thai&quot; typeface=&quot;Tahoma&quot;/&gt;&lt;a:font script=&quot;Ethi&quot; typeface=&quot;Nyala&quot;/&gt;&lt;a:font script=&quot;Beng&quot; typeface=&quot;Vrinda&quot;/&gt;&lt;a:font script=&quot;Gujr&quot; typeface=&quot;Shruti&quot;/&gt;&lt;a:font script=&quot;Khmr&quot; typeface=&quot;DaunPenh&quot;/&gt;&lt;a:font &apos;.
  lv_xl_theme_14 = &apos;script=&quot;Knda&quot; typeface=&quot;Tunga&quot;/&gt;&lt;a:font script=&quot;Guru&quot; typeface=&quot;Raavi&quot;/&gt;&lt;a:font script=&quot;Cans&quot; typeface=&quot;Euphemia&quot;/&gt;&lt;a:font script=&quot;Cher&quot; typeface=&quot;Plantagenet Cherokee&quot;/&gt;&lt;a:font script=&quot;Yiii&quot; typeface=&quot;Microsoft Yi Baiti&quot;/&gt;&lt;a:font &apos;.
  lv_xl_theme_15 = &apos;script=&quot;Tibt&quot; typeface=&quot;Microsoft Himalaya&quot;/&gt;&lt;a:font script=&quot;Thaa&quot; typeface=&quot;MV Boli&quot;/&gt;&lt;a:font script=&quot;Deva&quot; typeface=&quot;Mangal&quot;/&gt;&lt;a:font script=&quot;Telu&quot; typeface=&quot;Gautami&quot;/&gt;&lt;a:font script=&quot;Taml&quot; typeface=&quot;Latha&quot;/&gt;&lt;a:font script=&quot;Syrc&quot; &apos;.
  lv_xl_theme_16 = &apos;typeface=&quot;Estrangelo Edessa&quot;/&gt;&lt;a:font script=&quot;Orya&quot; typeface=&quot;Kalinga&quot;/&gt;&lt;a:font script=&quot;Mlym&quot; typeface=&quot;Kartika&quot;/&gt;&lt;a:font script=&quot;Laoo&quot; typeface=&quot;DokChampa&quot;/&gt;&lt;a:font script=&quot;Sinh&quot; typeface=&quot;Iskoola Pota&quot;/&gt;&lt;a:font script=&quot;Mong&quot; &apos;.
  lv_xl_theme_17 = &apos;typeface=&quot;Mongolian Baiti&quot;/&gt;&lt;a:font script=&quot;Viet&quot; typeface=&quot;Arial&quot;/&gt;&lt;a:font script=&quot;Uigh&quot; typeface=&quot;Microsoft Uighur&quot;/&gt;&lt;/a:minorFont&gt;&lt;/a:fontScheme&gt;&lt;a:fmtScheme name=&quot;Office&quot;&gt;&lt;a:fillStyleLst&gt;&lt;a:solidFill&gt;&lt;a:schemeClr val=&quot;phClr&quot;/&gt;&apos;.
  lv_xl_theme_18 = &apos;&lt;/a:solidFill&gt;&lt;a:gradFill rotWithShape=&quot;1&quot;&gt;&lt;a:gsLst&gt;&lt;a:gs pos=&quot;0&quot;&gt;&lt;a:schemeClr val=&quot;phClr&quot;&gt;&lt;a:tint val=&quot;50000&quot;/&gt;&lt;a:satMod val=&quot;300000&quot;/&gt;&lt;/a:schemeClr&gt;&lt;/a:gs&gt;&lt;a:gs pos=&quot;35000&quot;&gt;&lt;a:schemeClr val=&quot;phClr&quot;&gt;&lt;a:tint val=&quot;37000&quot;/&gt;&lt;a:satMod &apos;.
  lv_xl_theme_19 = &apos;val=&quot;300000&quot;/&gt;&lt;/a:schemeClr&gt;&lt;/a:gs&gt;&lt;a:gs pos=&quot;100000&quot;&gt;&lt;a:schemeClr val=&quot;phClr&quot;&gt;&lt;a:tint val=&quot;15000&quot;/&gt;&lt;a:satMod val=&quot;350000&quot;/&gt;&lt;/a:schemeClr&gt;&lt;/a:gs&gt;&lt;/a:gsLst&gt;&lt;a:lin ang=&quot;16200000&quot; scaled=&quot;1&quot;/&gt;&lt;/a:gradFill&gt;&lt;a:gradFill rotWithShape=&quot;1&quot;&gt;&apos;.
  lv_xl_theme_20 = &apos;&lt;a:gsLst&gt;&lt;a:gs pos=&quot;0&quot;&gt;&lt;a:schemeClr val=&quot;phClr&quot;&gt;&lt;a:shade val=&quot;51000&quot;/&gt;&lt;a:satMod val=&quot;130000&quot;/&gt;&lt;/a:schemeClr&gt;&lt;/a:gs&gt;&lt;a:gs pos=&quot;80000&quot;&gt;&lt;a:schemeClr val=&quot;phClr&quot;&gt;&lt;a:shade val=&quot;93000&quot;/&gt;&lt;a:satMod val=&quot;130000&quot;/&gt;&lt;/a:schemeClr&gt;&lt;/a:gs&gt;&lt;a:gs &apos;.
  lv_xl_theme_21 = &apos;pos=&quot;100000&quot;&gt;&lt;a:schemeClr val=&quot;phClr&quot;&gt;&lt;a:shade val=&quot;94000&quot;/&gt;&lt;a:satMod val=&quot;135000&quot;/&gt;&lt;/a:schemeClr&gt;&lt;/a:gs&gt;&lt;/a:gsLst&gt;&lt;a:lin ang=&quot;16200000&quot; scaled=&quot;0&quot;/&gt;&lt;/a:gradFill&gt;&lt;/a:fillStyleLst&gt;&lt;a:lnStyleLst&gt;&lt;a:ln w=&quot;9525&quot; cap=&quot;flat&quot; cmpd=&quot;sng&quot; &apos;.
  lv_xl_theme_22 = &apos;algn=&quot;ctr&quot;&gt;&lt;a:solidFill&gt;&lt;a:schemeClr val=&quot;phClr&quot;&gt;&lt;a:shade val=&quot;95000&quot;/&gt;&lt;a:satMod val=&quot;105000&quot;/&gt;&lt;/a:schemeClr&gt;&lt;/a:solidFill&gt;&lt;a:prstDash val=&quot;solid&quot;/&gt;&lt;/a:ln&gt;&lt;a:ln w=&quot;25400&quot; cap=&quot;flat&quot; cmpd=&quot;sng&quot; algn=&quot;ctr&quot;&gt;&lt;a:solidFill&gt;&lt;a:schemeClr &apos;.
  lv_xl_theme_23 = &apos;val=&quot;phClr&quot;/&gt;&lt;/a:solidFill&gt;&lt;a:prstDash val=&quot;solid&quot;/&gt;&lt;/a:ln&gt;&lt;a:ln w=&quot;38100&quot; cap=&quot;flat&quot; cmpd=&quot;sng&quot; algn=&quot;ctr&quot;&gt;&lt;a:solidFill&gt;&lt;a:schemeClr val=&quot;phClr&quot;/&gt;&lt;/a:solidFill&gt;&lt;a:prstDash val=&quot;solid&quot;/&gt;&lt;/a:ln&gt;&lt;/a:lnStyleLst&gt;&lt;a:effectStyleLst&gt;&apos;.
  lv_xl_theme_24 = &apos;&lt;a:effectStyle&gt;&lt;a:effectLst&gt;&lt;a:outerShdw blurRad=&quot;40000&quot; dist=&quot;20000&quot; dir=&quot;5400000&quot; rotWithShape=&quot;0&quot;&gt;&lt;a:srgbClr val=&quot;000000&quot;&gt;&lt;a:alpha val=&quot;38000&quot;/&gt;&lt;/a:srgbClr&gt;&lt;/a:outerShdw&gt;&lt;/a:effectLst&gt;&lt;/a:effectStyle&gt;&lt;a:effectStyle&gt;&lt;a:effectLst&gt;&apos;.
  lv_xl_theme_25 = &apos;&lt;a:outerShdw blurRad=&quot;40000&quot; dist=&quot;23000&quot; dir=&quot;5400000&quot; rotWithShape=&quot;0&quot;&gt;&lt;a:srgbClr val=&quot;000000&quot;&gt;&lt;a:alpha val=&quot;35000&quot;/&gt;&lt;/a:srgbClr&gt;&lt;/a:outerShdw&gt;&lt;/a:effectLst&gt;&lt;/a:effectStyle&gt;&lt;a:effectStyle&gt;&lt;a:effectLst&gt;&lt;a:outerShdw blurRad=&quot;40000&quot; &apos;.
  lv_xl_theme_26 = &apos;dist=&quot;23000&quot; dir=&quot;5400000&quot; rotWithShape=&quot;0&quot;&gt;&lt;a:srgbClr val=&quot;000000&quot;&gt;&lt;a:alpha val=&quot;35000&quot;/&gt;&lt;/a:srgbClr&gt;&lt;/a:outerShdw&gt;&lt;/a:effectLst&gt;&lt;a:scene3d&gt;&lt;a:camera prst=&quot;orthographicFront&quot;&gt;&lt;a:rot lat=&quot;0&quot; lon=&quot;0&quot; rev=&quot;0&quot;/&gt;&lt;/a:camera&gt;&lt;a:lightRig &apos;.
  lv_xl_theme_27 = &apos;rig=&quot;threePt&quot; dir=&quot;t&quot;&gt;&lt;a:rot lat=&quot;0&quot; lon=&quot;0&quot; rev=&quot;1200000&quot;/&gt;&lt;/a:lightRig&gt;&lt;/a:scene3d&gt;&lt;a:sp3d&gt;&lt;a:bevelT w=&quot;63500&quot; h=&quot;25400&quot;/&gt;&lt;/a:sp3d&gt;&lt;/a:effectStyle&gt;&lt;/a:effectStyleLst&gt;&lt;a:bgFillStyleLst&gt;&lt;a:solidFill&gt;&lt;a:schemeClr val=&quot;phClr&quot;/&gt;&apos;.
  lv_xl_theme_28 = &apos;&lt;/a:solidFill&gt;&lt;a:gradFill rotWithShape=&quot;1&quot;&gt;&lt;a:gsLst&gt;&lt;a:gs pos=&quot;0&quot;&gt;&lt;a:schemeClr val=&quot;phClr&quot;&gt;&lt;a:tint val=&quot;40000&quot;/&gt;&lt;a:satMod val=&quot;350000&quot;/&gt;&lt;/a:schemeClr&gt;&lt;/a:gs&gt;&lt;a:gs pos=&quot;40000&quot;&gt;&lt;a:schemeClr val=&quot;phClr&quot;&gt;&lt;a:tint val=&quot;45000&quot;/&gt;&lt;a:shade &apos;.
  lv_xl_theme_29 = &apos;val=&quot;99000&quot;/&gt;&lt;a:satMod val=&quot;350000&quot;/&gt;&lt;/a:schemeClr&gt;&lt;/a:gs&gt;&lt;a:gs pos=&quot;100000&quot;&gt;&lt;a:schemeClr val=&quot;phClr&quot;&gt;&lt;a:shade val=&quot;20000&quot;/&gt;&lt;a:satMod val=&quot;255000&quot;/&gt;&lt;/a:schemeClr&gt;&lt;/a:gs&gt;&lt;/a:gsLst&gt;&lt;a:path path=&quot;circle&quot;&gt;&lt;a:fillToRect l=&quot;50000&quot; &apos;.
  lv_xl_theme_30 = &apos;t=&quot;-80000&quot; r=&quot;50000&quot; b=&quot;180000&quot;/&gt;&lt;/a:path&gt;&lt;/a:gradFill&gt;&lt;a:gradFill rotWithShape=&quot;1&quot;&gt;&lt;a:gsLst&gt;&lt;a:gs pos=&quot;0&quot;&gt;&lt;a:schemeClr val=&quot;phClr&quot;&gt;&lt;a:tint val=&quot;80000&quot;/&gt;&lt;a:satMod val=&quot;300000&quot;/&gt;&lt;/a:schemeClr&gt;&lt;/a:gs&gt;&lt;a:gs pos=&quot;100000&quot;&gt;&lt;a:schemeClr &apos;.
  lv_xl_theme_31 = &apos;val=&quot;phClr&quot;&gt;&lt;a:shade val=&quot;30000&quot;/&gt;&lt;a:satMod val=&quot;200000&quot;/&gt;&lt;/a:schemeClr&gt;&lt;/a:gs&gt;&lt;/a:gsLst&gt;&lt;a:path path=&quot;circle&quot;&gt;&lt;a:fillToRect l=&quot;50000&quot; t=&quot;50000&quot; r=&quot;50000&quot; b=&quot;50000&quot;/&gt;&lt;/a:path&gt;&lt;/a:gradFill&gt;&lt;/a:bgFillStyleLst&gt;&lt;/a:fmtScheme&gt;&apos;.
  lv_xl_theme_32 = &apos;&lt;/a:themeElements&gt;&lt;a:objectDefaults/&gt;&lt;a:extraClrSchemeLst/&gt;&lt;/a:theme&gt;&apos;.


  CONCATENATE  lv_xl_theme_01  lv_xl_theme_02  lv_xl_theme_03  lv_xl_theme_04  lv_xl_theme_05  lv_xl_theme_06  lv_xl_theme_07  lv_xl_theme_08  lv_xl_theme_09  lv_xl_theme_10  lv_xl_theme_11  lv_xl_theme_12  lv_xl_theme_13  lv_xl_theme_14  lv_xl_theme_15
               lv_xl_theme_16  lv_xl_theme_17  lv_xl_theme_18  lv_xl_theme_19  lv_xl_theme_20  lv_xl_theme_21  lv_xl_theme_22  lv_xl_theme_23  lv_xl_theme_24  lv_xl_theme_25  lv_xl_theme_26  lv_xl_theme_27  lv_xl_theme_28  lv_xl_theme_29  lv_xl_theme_30
               lv_xl_theme_31  lv_xl_theme_32
  INTO lv_xl_theme SEPARATED BY space.

  CALL FUNCTION &apos;SCMS_STRING_TO_XSTRING&apos;
    EXPORTING
      text   = lv_xl_theme
    IMPORTING
      buffer = ep_content.


ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_WRITER_2007" CMPNAME="CREATE_XL_WORKBOOK" VERSION="1" LANGU="E" DESCRIPT="Create &apos;xl/workbook.xml&apos;" EXPOSURE="0" STATE="1" EDITORDER="14 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100702" CHANGEDBY="FEMIA" CHANGEDON="20100710" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_WRITER_2007" CMPNAME="CREATE_XL_WORKBOOK" SCONAME="EP_CONTENT" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100702" CHANGEDON="00000000" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="XSTRING"/>
   <source>METHOD create_xl_workbook.


** Constant node name
  DATA: lc_xml_node_workbook      TYPE string VALUE &apos;workbook&apos;,
        lc_xml_node_fileversion   TYPE string VALUE &apos;fileVersion&apos;,
        lc_xml_node_workbookpr    TYPE string VALUE &apos;workbookPr&apos;,
        lc_xml_node_bookviews     TYPE string VALUE &apos;bookViews&apos;,
        lc_xml_node_workbookview  TYPE string VALUE &apos;workbookView&apos;,
        lc_xml_node_sheets        TYPE string VALUE &apos;sheets&apos;,
        lc_xml_node_sheet         TYPE string VALUE &apos;sheet&apos;,
        lc_xml_node_calcpr        TYPE string VALUE &apos;calcPr&apos;,
        &quot; Node attributes
        lc_xml_attr_appname       TYPE string VALUE &apos;appName&apos;,
        lc_xml_attr_lastedited    TYPE string VALUE &apos;lastEdited&apos;,
        lc_xml_attr_lowestedited  TYPE string VALUE &apos;lowestEdited&apos;,
        lc_xml_attr_rupbuild      TYPE string VALUE &apos;rupBuild&apos;,
        lc_xml_attr_themeversion  TYPE string VALUE &apos;defaultThemeVersion&apos;,
        lc_xml_attr_xwindow       TYPE string VALUE &apos;xWindow&apos;,
        lc_xml_attr_ywindow       TYPE string VALUE &apos;yWindow&apos;,
        lc_xml_attr_windowwidth   TYPE string VALUE &apos;windowWidth&apos;,
        lc_xml_attr_windowheight  TYPE string VALUE &apos;windowHeight&apos;,
        lc_xml_attr_name          TYPE string VALUE &apos;name&apos;,
        lc_xml_attr_sheetid       TYPE string VALUE &apos;sheetId&apos;,
        lc_xml_attr_id            TYPE string VALUE &apos;id&apos;,
        lc_xml_attr_calcid        TYPE string VALUE &apos;calcId&apos;,
        &quot; Node namespace
        lc_r_ns                   TYPE string VALUE &apos;r&apos;,
        lc_xml_node_ns            TYPE string VALUE &apos;http://schemas.openxmlformats.org/spreadsheetml/2006/main&apos;,
        lc_xml_node_r_ns          TYPE string VALUE &apos;http://schemas.openxmlformats.org/officeDocument/2006/relationships&apos;,
        &quot; Node id
        lc_xml_node_ridx_id       TYPE string VALUE &apos;rId#&apos;.

  DATA: lo_ixml           TYPE REF TO if_ixml,
        lo_document       TYPE REF TO if_ixml_document,
        lo_element_root   TYPE REF TO if_ixml_element,
        lo_element        TYPE REF TO if_ixml_element,
        lo_sub_element    TYPE REF TO if_ixml_element,
        lo_encoding       TYPE REF TO if_ixml_encoding,
        lo_streamfactory  TYPE REF TO if_ixml_stream_factory,
        lo_ostream        TYPE REF TO if_ixml_ostream,
        lo_renderer       TYPE REF TO if_ixml_renderer,
        lo_iterator       TYPE REF TO cl_object_collection_iterator,
        lo_worksheet      TYPE REF TO zcl_excel_worksheet.

  DATA: lv_xml_node_ridx_id       TYPE string,
        lv_value                  TYPE string,
        lv_syindex                TYPE string.

**********************************************************************
* STEP 1: Create [Content_Types].xml into the root of the ZIP
  lo_ixml = cl_ixml=&gt;create( ).

**********************************************************************
* STEP 2: Set document attributes
  lo_encoding = lo_ixml-&gt;create_encoding( byte_order = if_ixml_encoding=&gt;co_platform_endian
                                          character_set = &apos;utf-8&apos; ).
  lo_document = lo_ixml-&gt;create_document( ).
  lo_document-&gt;set_encoding( lo_encoding ).
  lo_document-&gt;set_standalone( abap_true ).

**********************************************************************
* STEP 3: Create main node
  lo_element_root  = lo_document-&gt;create_simple_element( name   = lc_xml_node_workbook
                                                         parent = lo_document ).
  lo_element_root-&gt;set_attribute_ns( name  = &apos;xmlns&apos;
                                     value = lc_xml_node_ns ).
  lo_element_root-&gt;set_attribute_ns( name  = &apos;xmlns:r&apos;
                                     value = lc_xml_node_r_ns ).

**********************************************************************
* STEP 4: Create subnode
  &quot; fileVersion node
  lo_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_fileversion
                                                   parent = lo_document ).
  lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_appname
                                value = &apos;xl&apos; ).
  lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_lastedited
                                value = &apos;4&apos; ).
  lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_lowestedited
                                value = &apos;4&apos; ).
  lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_rupbuild
                                value = &apos;4506&apos; ).
  lo_element_root-&gt;append_child( lo_element ).

  &quot; fileVersion node
  lo_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_workbookpr
                                                   parent = lo_document ).
  lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_themeversion
                                value = &apos;124226&apos; ).
  lo_element_root-&gt;append_child( lo_element ).

  &quot; bookviews node
  lo_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_bookviews
                                                   parent = lo_document ).
  &quot; bookview node
  lo_sub_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_workbookview
                                                       parent = lo_document ).
  lo_sub_element-&gt;set_attribute_ns( name  = lc_xml_attr_xwindow
                                    value = &apos;120&apos; ).
  lo_sub_element-&gt;set_attribute_ns( name  = lc_xml_attr_ywindow
                                    value = &apos;120&apos; ).
  lo_sub_element-&gt;set_attribute_ns( name  = lc_xml_attr_windowwidth
                                    value = &apos;19035&apos; ).
  lo_sub_element-&gt;set_attribute_ns( name  = lc_xml_attr_windowheight
                                    value = &apos;8445&apos; ).
  lo_element-&gt;append_child( lo_sub_element ).&quot; bookview node
  lo_element_root-&gt;append_child( lo_element ).&quot; bookviews node

  &quot; sheets node
  lo_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_sheets
                                                   parent = lo_document ).
  lo_iterator = excel-&gt;get_worksheets_iterator( ).

  WHILE lo_iterator-&gt;if_object_collection_iterator~has_next( ) EQ abap_true.
    &quot; sheet node
    lo_sub_element = lo_document-&gt;create_simple_element_ns( name   = lc_xml_node_sheet
                                                            parent = lo_document ).
    lo_worksheet ?= lo_iterator-&gt;if_object_collection_iterator~get_next( ).
    lv_value = lo_worksheet-&gt;title.
    lv_syindex = sy-index.
    SHIFT lv_syindex RIGHT DELETING TRAILING space.
    SHIFT lv_syindex LEFT DELETING LEADING space.
    lv_xml_node_ridx_id = lc_xml_node_ridx_id.
    REPLACE ALL OCCURRENCES OF &apos;#&apos; IN lv_xml_node_ridx_id WITH lv_syindex.
    lo_sub_element-&gt;set_attribute_ns( name  = lc_xml_attr_name
                                      value = lv_value ).
    lo_sub_element-&gt;set_attribute_ns( name  = lc_xml_attr_sheetid
                                      value = lv_syindex ).
    lo_sub_element-&gt;set_attribute_ns( name    = lc_xml_attr_id
                                      prefix  = lc_r_ns
                                      value   = lv_xml_node_ridx_id ).
    lo_element-&gt;append_child( lo_sub_element ). &quot; sheet node
  ENDWHILE.
  lo_element_root-&gt;append_child( lo_element ).&quot; sheets node

  &quot; calcPr node
  lo_element = lo_document-&gt;create_simple_element( name   = lc_xml_node_calcpr
                                                   parent = lo_document ).
  lo_element-&gt;set_attribute_ns( name  = lc_xml_attr_calcid
                                value = &apos;125725&apos; ).
  lo_element_root-&gt;append_child( lo_element ).


**********************************************************************
* STEP 5: Create xstring stream
  lo_streamfactory = lo_ixml-&gt;create_stream_factory( ).
  lo_ostream = lo_streamfactory-&gt;create_ostream_xstring( string = ep_content ).
  lo_renderer = lo_ixml-&gt;create_renderer( ostream  = lo_ostream document = lo_document ).
  lo_renderer-&gt;render( ).

ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_WRITER_2007" CMPNAME="FLAG2BOOL" VERSION="1" LANGU="E" DESCRIPT="Convert a FLAG to BOOLEAN value" EXPOSURE="0" STATE="1" EDITORDER="15 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100701" CHANGEDBY="FEMIA" CHANGEDON="20100710" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_WRITER_2007" CMPNAME="FLAG2BOOL" SCONAME="IP_FLAG" VERSION="1" LANGU="E" DESCRIPT="General Flag" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100701" CHANGEDON="00000000" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="FLAG"/>
   <parameter CLSNAME="ZCL_EXCEL_WRITER_2007" CMPNAME="FLAG2BOOL" SCONAME="EP_BOOLEAN" VERSION="1" LANGU="E" DESCRIPT="Boolean value" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100701" CHANGEDON="00000000" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="CHAR5"/>
   <source>METHOD flag2bool.


  IF ip_flag EQ abap_true.
    ep_boolean = &apos;true&apos;.
  ELSE.
    ep_boolean = &apos;false&apos;.
  ENDIF.
ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_WRITER_2007" CMPNAME="GET_SHARED_STRING_INDEX" VERSION="1" LANGU="E" DESCRIPT="Get shared string index" EXPOSURE="0" STATE="1" EDITORDER="16 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100704" CHANGEDBY="FEMIA" CHANGEDON="20100710" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_WRITER_2007" CMPNAME="GET_SHARED_STRING_INDEX" SCONAME="IP_CELL_VALUE" VERSION="1" LANGU="E" DESCRIPT="Cell Value" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100704" CHANGEDON="00000000" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_CELL_VALUE"/>
   <parameter CLSNAME="ZCL_EXCEL_WRITER_2007" CMPNAME="GET_SHARED_STRING_INDEX" SCONAME="EP_INDEX" VERSION="1" LANGU="E" DESCRIPT="Natural Number" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100704" CHANGEDON="00000000" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="INT4"/>
   <source>METHOD get_shared_string_index.


  DATA ls_shared_string TYPE zexcel_s_shared_string.

  READ TABLE shared_strings INTO ls_shared_string WITH KEY string_value = ip_cell_value.
  ep_index = ls_shared_string-string_no.

ENDMETHOD.</source>
  </method>
 </CLAS>
 <CLAS CLSNAME="ZCL_EXCEL" VERSION="1" LANGU="E" DESCRIPT="Excel creator" UUID="C4C0274C8A345F2DE1000000C0A8FA19" CATEGORY="00" EXPOSURE="2" STATE="1" RELEASE="0" AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" CHGDANYON="00000000" CLSFINAL="X" CLSCCINCL="X" FIXPT="X" UNICODE="X" R3RELEASE="701" CLSBCCAT="00" DURATION_TYPE="0 " RISK_LEVEL="0 ">
  <publicSection>class ZCL_EXCEL definition
  public
  final
  create public .

*&quot;* public components of class ZCL_EXCEL
*&quot;* do not include other source files here!!!
public section.

  constants C_XLS type ZEXCEL_FORMAT value &apos;XLS&apos;. &quot;#EC NOTEXT
  constants C_XLSX type ZEXCEL_FORMAT value &apos;XLSX&apos;. &quot;#EC NOTEXT
  data PROPERTIES type ref to ZCL_EXCEL_PROPERTIES .
  data SECURITY type ref to ZCL_EXCEL_SECURITY .

  methods ADD_NEW_DRAWING
    importing
      !IP_TITLE type ZEXCEL_SHEET_TITLE optional
    returning
      value(EO_DRAWING) type ref to ZCL_EXCEL_DRAWING .
  methods ADD_NEW_STYLE
    returning
      value(EO_STYLE) type ref to ZCL_EXCEL_STYLE .
  methods ADD_NEW_WORKSHEET
    importing
      !IP_TITLE type ZEXCEL_SHEET_TITLE optional
    returning
      value(EO_WORKSHEET) type ref to ZCL_EXCEL_WORKSHEET .
  methods CONSTRUCTOR .
  methods GET_ACTIVE_WORKSHEET
    returning
      value(EO_WORKSHEET) type ref to ZCL_EXCEL_WORKSHEET .
  methods GET_DRAWINGS_ITERATOR
    returning
      value(EO_ITERATOR) type ref to CL_OBJECT_COLLECTION_ITERATOR .
  methods GET_STYLES_ITERATOR
    returning
      value(EO_ITERATOR) type ref to CL_OBJECT_COLLECTION_ITERATOR .
  methods GET_WORKSHEETS_ITERATOR
    returning
      value(EO_ITERATOR) type ref to CL_OBJECT_COLLECTION_ITERATOR .
  methods GET_WORKSHEETS_NAME
    returning
      value(EP_NAME) type ZEXCEL_WORKSHEETS_NAME .
  methods GET_WORKSHEETS_SIZE
    returning
      value(EP_SIZE) type I .
  methods SAVE_AS
    importing
      !IP_FORMAT type ZEXCEL_FORMAT
    returning
      value(EP_FILE) type XSTRING .</publicSection>
  <protectedSection>*&quot;* protected components of class ZABAP_EXCEL
*&quot;* do not include other source files here!!!
protected section.</protectedSection>
  <privateSection>*&quot;* private components of class ZCL_EXCEL
*&quot;* do not include other source files here!!!
private section.

  data DRAWINGS type ref to ZCL_EXCEL_DRAWINGS .
  data RANGES type ref to ZCL_EXCEL_RANGES .
  data STYLES type ref to ZCL_EXCEL_STYLES .
  data WORKSHEETS type ref to ZCL_EXCEL_WORKSHEETS .</privateSection>
  <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>
  <attribute CLSNAME="ZCL_EXCEL" CMPNAME="C_XLS" VERSION="1" LANGU="E" DESCRIPT="File format office 2003" EXPOSURE="2" STATE="1" EDITORDER="1 " AUTHOR="FEMIA" CREATEDON="20100630" CHANGEDBY="FEMIA" CHANGEDON="20100708" ATTDECLTYP="2" ATTVALUE="&apos;XLS&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_FORMAT" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL" CMPNAME="C_XLSX" VERSION="1" LANGU="E" DESCRIPT="File format office 2007" EXPOSURE="2" STATE="1" EDITORDER="2 " AUTHOR="FEMIA" CREATEDON="20100630" CHANGEDBY="FEMIA" CHANGEDON="20100708" ATTDECLTYP="2" ATTVALUE="&apos;XLSX&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_FORMAT" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL" CMPNAME="DRAWINGS" VERSION="1" LANGU="E" DESCRIPT="Worksheets collection" EXPOSURE="0" STATE="1" EDITORDER="3 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDBY="FEMIA" CHANGEDON="20100708" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="3" TYPE="ZCL_EXCEL_DRAWINGS" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL" CMPNAME="PROPERTIES" VERSION="1" LANGU="E" DESCRIPT="Document properties" EXPOSURE="2" STATE="1" EDITORDER="4 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100708" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="3" TYPE="ZCL_EXCEL_PROPERTIES" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL" CMPNAME="RANGES" VERSION="1" LANGU="E" DESCRIPT="Ranges collection" EXPOSURE="0" STATE="1" EDITORDER="5 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100708" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="3" TYPE="ZCL_EXCEL_RANGES" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL" CMPNAME="SECURITY" VERSION="1" LANGU="E" DESCRIPT="Security" EXPOSURE="2" STATE="1" EDITORDER="6 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100708" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="3" TYPE="ZCL_EXCEL_SECURITY" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL" CMPNAME="STYLES" VERSION="1" LANGU="E" DESCRIPT="Styles collection" EXPOSURE="0" STATE="1" EDITORDER="7 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100708" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="3" TYPE="ZCL_EXCEL_STYLES" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL" CMPNAME="WORKSHEETS" VERSION="1" LANGU="E" DESCRIPT="Worksheets collection" EXPOSURE="0" STATE="1" EDITORDER="8 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100708" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="3" TYPE="ZCL_EXCEL_WORKSHEETS" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <method CLSNAME="ZCL_EXCEL" CMPNAME="ADD_NEW_DRAWING" VERSION="1" LANGU="E" DESCRIPT="Create a new drawing" EXPOSURE="2" STATE="1" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDBY="FEMIA" CHANGEDON="20100708" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL" CMPNAME="ADD_NEW_DRAWING" SCONAME="IP_TITLE" VERSION="1" LANGU="E" DESCRIPT="Title" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDON="00000000" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_SHEET_TITLE" PAROPTIONL="X"/>
   <parameter CLSNAME="ZCL_EXCEL" CMPNAME="ADD_NEW_DRAWING" SCONAME="EO_DRAWING" VERSION="1" LANGU="E" DESCRIPT="Drawing" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDON="00000000" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="3" TYPE="ZCL_EXCEL_DRAWING"/>
   <source>METHOD add_new_drawing.

  DATA: lv_guid  TYPE guid_16.
* Create default blank worksheet
  CREATE OBJECT eo_drawing
    EXPORTING
      ip_title = ip_title.
  drawings-&gt;add( eo_drawing ).
ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL" CMPNAME="ADD_NEW_STYLE" VERSION="1" LANGU="E" DESCRIPT="Create a new style" EXPOSURE="2" STATE="1" EDITORDER="2 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100704" CHANGEDBY="FEMIA" CHANGEDON="20100708" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL" CMPNAME="ADD_NEW_STYLE" SCONAME="EO_STYLE" VERSION="1" LANGU="E" DESCRIPT="Style" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100704" CHANGEDON="00000000" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="3" TYPE="ZCL_EXCEL_STYLE"/>
   <source>method ADD_NEW_STYLE.


* Create default style
  CREATE OBJECT eo_style.
  styles-&gt;add( eo_style ).

endmethod.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL" CMPNAME="ADD_NEW_WORKSHEET" VERSION="1" LANGU="E" DESCRIPT="Create a new worksheet" EXPOSURE="2" STATE="1" EDITORDER="3 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100704" CHANGEDBY="FEMIA" CHANGEDON="20100708" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL" CMPNAME="ADD_NEW_WORKSHEET" SCONAME="IP_TITLE" VERSION="1" LANGU="E" DESCRIPT="Title" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100704" CHANGEDBY="FEMIA" CHANGEDON="20100706" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_SHEET_TITLE" PAROPTIONL="X"/>
   <parameter CLSNAME="ZCL_EXCEL" CMPNAME="ADD_NEW_WORKSHEET" SCONAME="EO_WORKSHEET" VERSION="1" LANGU="E" DESCRIPT="Worksheet" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100704" CHANGEDON="00000000" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="3" TYPE="ZCL_EXCEL_WORKSHEET"/>
   <source>METHOD add_new_worksheet.


  DATA: lv_guid  TYPE guid_16.
* Create default blank worksheet
  CREATE OBJECT eo_worksheet
    EXPORTING
      ip_title = ip_title.
  worksheets-&gt;add( eo_worksheet ).
  worksheets-&gt;active_worksheet = worksheets-&gt;size( ).
ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL" CMPNAME="CONSTRUCTOR" VERSION="1" LANGU="E" DESCRIPT="CONSTRUCTOR" EXPOSURE="2" STATE="1" EDITORDER="4 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100708" MTDTYPE="2" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <source>METHOD constructor.


  DATA: lo_worksheet  TYPE REF TO zcl_excel_worksheet,
        lo_style      TYPE REF TO zcl_excel_style.

* Inizialize instance objects
  CREATE OBJECT properties.
  CREATE OBJECT security.
  CREATE OBJECT worksheets.
  CREATE OBJECT ranges.
  CREATE OBJECT styles.
  CREATE OBJECT drawings.

  me-&gt;add_new_worksheet( ).
  me-&gt;add_new_style( ). &quot; Standard style
  lo_style = me-&gt;add_new_style( ). &quot; Standard style with fill gray125
  lo_style-&gt;fill-&gt;filltype = zcl_excel_style_fill=&gt;c_fill_pattern_gray125.


ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL" CMPNAME="GET_ACTIVE_WORKSHEET" VERSION="1" LANGU="E" DESCRIPT="Get active worksheet" EXPOSURE="2" STATE="1" EDITORDER="5 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100704" CHANGEDBY="FEMIA" CHANGEDON="20100708" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" 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 " AUTHOR="FEMIA" CREATEDON="20100704" CHANGEDON="00000000" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="3" TYPE="ZCL_EXCEL_WORKSHEET"/>
   <source>method GET_ACTIVE_WORKSHEET.


  eo_worksheet = me-&gt;worksheets-&gt;get( me-&gt;worksheets-&gt;active_worksheet ).

endmethod.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL" CMPNAME="GET_DRAWINGS_ITERATOR" VERSION="1" LANGU="E" DESCRIPT="Get drawing iterator" EXPOSURE="2" STATE="1" EDITORDER="6 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDBY="FEMIA" CHANGEDON="20100708" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL" CMPNAME="GET_DRAWINGS_ITERATOR" SCONAME="EO_ITERATOR" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDON="00000000" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="3" TYPE="CL_OBJECT_COLLECTION_ITERATOR"/>
   <source>METHOD GET_DRAWINGS_ITERATOR.


  eo_iterator = me-&gt;drawings-&gt;get_iterator( ).
ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL" CMPNAME="GET_STYLES_ITERATOR" VERSION="1" LANGU="E" DESCRIPT="Get styles iterator" EXPOSURE="2" STATE="1" EDITORDER="7 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100704" CHANGEDBY="FEMIA" CHANGEDON="20100708" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" 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 " AUTHOR="FEMIA" CREATEDON="20100704" CHANGEDON="00000000" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="3" TYPE="CL_OBJECT_COLLECTION_ITERATOR"/>
   <source>METHOD GET_STYLES_ITERATOR.


  eo_iterator = me-&gt;styles-&gt;get_iterator( ).
ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL" CMPNAME="GET_WORKSHEETS_ITERATOR" VERSION="1" LANGU="E" DESCRIPT="Get worksheets iterator" EXPOSURE="2" STATE="1" EDITORDER="8 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100704" CHANGEDBY="FEMIA" CHANGEDON="20100708" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" 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 " AUTHOR="FEMIA" CREATEDON="20100704" CHANGEDON="00000000" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="3" TYPE="CL_OBJECT_COLLECTION_ITERATOR"/>
   <source>METHOD get_worksheets_iterator.


  eo_iterator = me-&gt;worksheets-&gt;get_iterator( ).
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="9 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100704" CHANGEDBY="FEMIA" CHANGEDON="20100708" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" 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 " AUTHOR="FEMIA" CREATEDON="20100704" CHANGEDON="00000000" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="ZEXCEL_WORKSHEETS_NAME"/>
   <source>METHOD GET_WORKSHEETS_NAME.


  ep_name = me-&gt;worksheets-&gt;name.

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="10 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100704" CHANGEDBY="FEMIA" CHANGEDON="20100708" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" 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 " AUTHOR="FEMIA" CREATEDON="20100704" CHANGEDON="00000000" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="I"/>
   <source>METHOD get_worksheets_size.


  ep_size = me-&gt;worksheets-&gt;size( ).

ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL" CMPNAME="SAVE_AS" VERSION="1" LANGU="E" DESCRIPT="Save as" EXPOSURE="2" STATE="1" EDITORDER="11 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100708" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL" CMPNAME="SAVE_AS" SCONAME="IP_FORMAT" VERSION="1" LANGU="E" DESCRIPT="File format" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_FORMAT"/>
   <parameter CLSNAME="ZCL_EXCEL" CMPNAME="SAVE_AS" SCONAME="EP_FILE" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="XSTRING"/>
   <source>METHOD save_as.


  DATA lo_excel_writer_2007 TYPE REF TO zcl_excel_writer_2007.

* Determine the output engine to use
  CASE ip_format.
    WHEN me-&gt;c_xlsx.                                &quot; XLSX for Office 2007
      CREATE OBJECT lo_excel_writer_2007 EXPORTING io_excel = me.
      ep_file = lo_excel_writer_2007-&gt;create( ).
    WHEN OTHERS.
  ENDCASE.

ENDMETHOD.</source>
  </method>
 </CLAS>
 <CLAS CLSNAME="ZCL_EXCEL_COMMON" VERSION="1" LANGU="E" DESCRIPT="Static common methods" UUID="5E42354C6579E82CE1000000C0A8FA19" CATEGORY="00" EXPOSURE="2" STATE="1" RELEASE="0" AUTHOR="FEMIA" CREATEDON="20100710" CHANGEDON="00000000" CHGDANYON="00000000" CLSFINAL="X" CLSCCINCL="X" FIXPT="X" UNICODE="X" R3RELEASE="701" CLSBCCAT="00" DURATION_TYPE="0 " RISK_LEVEL="0 ">
  <publicSection>class ZCL_EXCEL_COMMON definition
  public
  final
  create public .

*&quot;* public components of class ZCL_EXCEL_COMMON
*&quot;* do not include other source files here!!!
public section.

  class-methods CONVERT_COLUMN2ALPHA
    importing
      !IP_COLUMN type ZEXCEL_CELL_COLUMN
    returning
      value(EP_COLUMN) type ZEXCEL_CELL_COLUMN_ALPHA .
  class-methods CONVERT_COLUMN2INT
    importing
      !IP_COLUMN type ZEXCEL_CELL_COLUMN_ALPHA
    returning
      value(EP_COLUMN) type ZEXCEL_CELL_COLUMN .</publicSection>
  <protectedSection>*&quot;* protected components of class ZCL_EXCEL_COMMON
*&quot;* do not include other source files here!!!
protected section.</protectedSection>
  <privateSection>*&quot;* private components of class ZCL_EXCEL_COMMON
*&quot;* do not include other source files here!!!
private section.

  class-data C_EXCEL_COL_MODULE type INT2 value 64. &quot;#EC NOTEXT .</privateSection>
  <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>
  <attribute CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="C_EXCEL_COL_MODULE" VERSION="1" LANGU="E" DESCRIPT="2 byte integer (signed)" EXPOSURE="0" STATE="1" EDITORDER="1 " AUTHOR="FEMIA" CREATEDON="20100710" CHANGEDON="00000000" ATTDECLTYP="1" ATTVALUE="64" ATTEXPVIRT="0" TYPTYPE="1" TYPE="INT2" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <method CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="CONVERT_COLUMN2ALPHA" VERSION="1" LANGU="E" DESCRIPT="Convert column indicator to Alpha" EXPOSURE="2" STATE="1" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100710" CHANGEDON="00000000" MTDTYPE="0" MTDDECLTYP="1" R3RELEASE="701" 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 " AUTHOR="FEMIA" CREATEDON="20100710" CHANGEDON="00000000" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_CELL_COLUMN"/>
   <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 " AUTHOR="FEMIA" CREATEDON="20100710" CHANGEDON="00000000" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="ZEXCEL_CELL_COLUMN_ALPHA"/>
   <source>METHOD convert_column2alpha.


  DATA: lo_conv      TYPE REF TO cl_abap_conv_in_ce,
        lv_uccpi     TYPE i,
        lv_text      TYPE sychar02,
        lv_module    TYPE int4,
        lv_column    TYPE zexcel_cell_column.

  lv_column = ip_column.
  WHILE lv_column GT 0.
    lv_module = ( lv_column - 1 ) MOD 26.
    lv_uccpi  = 65 + lv_module.

    lv_column = ( lv_column - lv_module ) / 26.

    lv_text   = cl_abap_conv_in_ce=&gt;uccpi( lv_uccpi ).
    CONCATENATE lv_text ep_column INTO ep_column.
  ENDWHILE.

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="2 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100710" CHANGEDON="00000000" MTDTYPE="0" MTDDECLTYP="1" R3RELEASE="701" 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 " AUTHOR="FEMIA" CREATEDON="20100710" CHANGEDON="00000000" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_CELL_COLUMN_ALPHA"/>
   <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 " AUTHOR="FEMIA" CREATEDON="20100710" CHANGEDON="00000000" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="ZEXCEL_CELL_COLUMN"/>
   <source>METHOD convert_column2int.


  DATA: lv_uccpi     TYPE i,
        lv_char      TYPE c,
        lv_column(2) TYPE c.

* Calculate most significant letter
  lv_char    = ip_column+1(1).
  IF lv_char IS NOT INITIAL. &quot;To avoid the first 26 column that have only a char in first position
    ep_column  = cl_abap_conv_out_ce=&gt;uccpi( lv_char ).

    ep_column  = ep_column MOD ( zcl_excel_common=&gt;c_excel_col_module ).

    lv_char    = ip_column(1).
    lv_uccpi   = cl_abap_conv_out_ce=&gt;uccpi( lv_char ).

    lv_uccpi   = ( lv_uccpi MOD ( zcl_excel_common=&gt;c_excel_col_module ) ) * 26.

    ep_column  = ep_column + lv_uccpi.
  ELSE.
    lv_char    = ip_column(1).
    ep_column  = cl_abap_conv_out_ce=&gt;uccpi( lv_char ).
    ep_column  = ep_column - zcl_excel_common=&gt;c_excel_col_module.
  ENDIF.

ENDMETHOD.</source>
  </method>
 </CLAS>
 <CLAS CLSNAME="ZCL_EXCEL_DRAWING" VERSION="1" LANGU="E" DESCRIPT="Drawing" UUID="0FA0354C6579E82CE1000000C0A8FA19" CATEGORY="00" EXPOSURE="2" STATE="1" RELEASE="0" AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDBY="FEMIA" CHANGEDON="20100708" CHGDANYON="00000000" CLSFINAL="X" CLSCCINCL="X" FIXPT="X" UNICODE="X" R3RELEASE="701" CLSBCCAT="00" DURATION_TYPE="0 " RISK_LEVEL="0 ">
  <publicSection>class ZCL_EXCEL_DRAWING definition
  public
  final
  create public .

*&quot;* public components of class ZCL_EXCEL_DRAWING
*&quot;* do not include other source files here!!!
public section.
  type-pools ABAP .

  data TITLE type ZEXCEL_SHEET_TITLE value &apos;Worksheet&apos;. &quot;#EC NOTEXT .
  data X_REFERENCES type CHAR1 .
  data Y_REFERENCES type CHAR1 .
  data GRAPH_TYPE type ZEXCEL_GRAPH_TYPE .

  methods CONSTRUCTOR
    importing
      !IP_TITLE type ZEXCEL_SHEET_TITLE optional .
  methods GET_GUID
    returning
      value(EP_GUID) type GUID_16 .</publicSection>
  <protectedSection>*&quot;* protected components of class ZABAP_EXCEL_WORKSHEET
*&quot;* do not include other source files here!!!
protected section.</protectedSection>
  <privateSection>*&quot;* private components of class ZCL_EXCEL_DRAWING
*&quot;* do not include other source files here!!!
private section.

  data GUID type GUID_16 .
  data LOWER_CELL type ZEXCEL_S_CELL_DATA .
  data UPPER_CELL type ZEXCEL_S_CELL_DATA .
  constants C_EXCEL_COL_MODULE type INT2 value 64. &quot;#EC NOTEXT

  methods CONVERT_COLUMN2ALPHA
    importing
      !IP_COLUMN type ZEXCEL_CELL_COLUMN
    returning
      value(EP_COLUMN) type ZEXCEL_CELL_COLUMN_ALPHA .
  methods CONVERT_COLUMN2INT
    importing
      !IP_COLUMN type ZEXCEL_CELL_COLUMN_ALPHA
    returning
      value(EP_COLUMN) type ZEXCEL_CELL_COLUMN .</privateSection>
  <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_DRAWING" TYPEGROUP="ABAP" VERSION="1" TPUTYPE="0" EXPLICIT="X"/>
  <forwardDeclaration>ABAP</forwardDeclaration>
  <attribute CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="C_EXCEL_COL_MODULE" VERSION="1" LANGU="E" DESCRIPT="2 byte integer (signed)" EXPOSURE="0" STATE="1" EDITORDER="8 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDON="00000000" ATTDECLTYP="2" ATTVALUE="64" ATTEXPVIRT="0" TYPTYPE="1" TYPE="INT2" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="GRAPH_TYPE" VERSION="1" LANGU="E" DESCRIPT="Graph type" EXPOSURE="2" STATE="1" EDITORDER="7 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDON="00000000" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_GRAPH_TYPE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="GUID" VERSION="1" LANGU="E" DESCRIPT="GUID in &apos;RAW&apos; format" EXPOSURE="0" STATE="1" EDITORDER="1 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDBY="FEMIA" CHANGEDON="20100708" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="GUID_16" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="LOWER_CELL" VERSION="1" LANGU="E" DESCRIPT="Bottom right range cell" EXPOSURE="0" STATE="1" EDITORDER="2 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDBY="FEMIA" CHANGEDON="20100708" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_S_CELL_DATA" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="TITLE" VERSION="1" LANGU="E" DESCRIPT="Title" EXPOSURE="2" STATE="1" EDITORDER="3 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDBY="FEMIA" CHANGEDON="20100708" ATTDECLTYP="0" ATTVALUE="&apos;Worksheet&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_TITLE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="UPPER_CELL" VERSION="1" LANGU="E" DESCRIPT="Top left range cell" EXPOSURE="0" STATE="1" EDITORDER="4 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDBY="FEMIA" CHANGEDON="20100708" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_S_CELL_DATA" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="X_REFERENCES" VERSION="1" LANGU="E" DESCRIPT="Single-Character Indicator" EXPOSURE="2" STATE="1" EDITORDER="5 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDON="00000000" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="CHAR1" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="Y_REFERENCES" VERSION="1" LANGU="E" DESCRIPT="Single-Character Indicator" EXPOSURE="2" STATE="1" EDITORDER="6 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDON="00000000" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="CHAR1" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <method CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="CONSTRUCTOR" VERSION="1" LANGU="E" DESCRIPT="CONSTRUCTOR" EXPOSURE="2" STATE="1" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDON="00000000" MTDTYPE="2" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="CONSTRUCTOR" SCONAME="IP_TITLE" VERSION="1" LANGU="E" DESCRIPT="Title" CMPTYPE="1" MTDTYPE="2" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDON="00000000" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_SHEET_TITLE" PAROPTIONL="X"/>
   <source>METHOD CONSTRUCTOR.
  CALL FUNCTION &apos;GUID_CREATE&apos;
    IMPORTING
      ev_guid_16 = me-&gt;guid.

  IF ip_title IS NOT INITIAL.
    title = ip_title.
  ELSE.
    title = me-&gt;guid.
  ENDIF.

* inizialize dimension range
  lower_cell-cell_row     = 1.
  lower_cell-cell_column  = 1.
  upper_cell-cell_row     = 1.
  upper_cell-cell_column  = 1.
ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="CONVERT_COLUMN2ALPHA" VERSION="1" LANGU="E" DESCRIPT="Convert column indicator to Alpha" EXPOSURE="0" STATE="1" EDITORDER="2 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDON="00000000" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="CONVERT_COLUMN2ALPHA" SCONAME="IP_COLUMN" VERSION="1" LANGU="E" DESCRIPT="Cell Column" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDON="00000000" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_CELL_COLUMN"/>
   <parameter CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="CONVERT_COLUMN2ALPHA" SCONAME="EP_COLUMN" VERSION="1" LANGU="E" DESCRIPT="Cell Column" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDON="00000000" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="ZEXCEL_CELL_COLUMN_ALPHA"/>
   <source>METHOD CONVERT_COLUMN2ALPHA.
  DATA: lo_conv      TYPE REF TO cl_abap_conv_in_ce,
        lv_uccpi     TYPE i,
        lv_text      TYPE sychar02,
        lv_module    TYPE int4,
        lv_column    TYPE zexcel_cell_column.

  lv_column = ip_column.
  WHILE lv_column GT 0.
    lv_module = ( lv_column - 1 ) MOD 26.
    lv_uccpi  = 65 + lv_module.

    lv_column = ( lv_column - lv_module ) / 26.

    lv_text   = cl_abap_conv_in_ce=&gt;uccpi( lv_uccpi ).
    CONCATENATE lv_text ep_column INTO ep_column.
  ENDWHILE.

ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="CONVERT_COLUMN2INT" VERSION="1" LANGU="E" DESCRIPT="Convert column indicator to Integer" EXPOSURE="0" STATE="1" EDITORDER="3 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDON="00000000" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="CONVERT_COLUMN2INT" SCONAME="IP_COLUMN" VERSION="1" LANGU="E" DESCRIPT="Cell Column" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDON="00000000" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_CELL_COLUMN_ALPHA"/>
   <parameter CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="CONVERT_COLUMN2INT" SCONAME="EP_COLUMN" VERSION="1" LANGU="E" DESCRIPT="Cell Column" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDON="00000000" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="ZEXCEL_CELL_COLUMN"/>
   <source>METHOD CONVERT_COLUMN2INT.

  DATA: lv_uccpi     TYPE i,
        lv_char      TYPE c,
        lv_column(2) TYPE c.

* Calculate most significant letter
  lv_char    = ip_column+1(1).
  IF lv_char IS NOT INITIAL. &quot;To avoid the first 26 column that have only a char in first position
    ep_column  = cl_abap_conv_out_ce=&gt;uccpi( lv_char ).

    ep_column  = ep_column MOD ( me-&gt;c_excel_col_module ).

    lv_char    = ip_column(1).
    lv_uccpi   = cl_abap_conv_out_ce=&gt;uccpi( lv_char ).

    lv_uccpi   = ( lv_uccpi MOD ( me-&gt;c_excel_col_module ) ) * 26.

    ep_column  = ep_column + lv_uccpi.
  ELSE.
    lv_char    = ip_column(1).
    ep_column  = cl_abap_conv_out_ce=&gt;uccpi( lv_char ).
    ep_column  = ep_column - me-&gt;c_excel_col_module.
  ENDIF.

ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="GET_GUID" VERSION="1" LANGU="E" DESCRIPT="Get sheet guid" EXPOSURE="2" STATE="1" EDITORDER="4 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDBY="FEMIA" CHANGEDON="20100708" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_DRAWING" CMPNAME="GET_GUID" SCONAME="EP_GUID" VERSION="1" LANGU="E" DESCRIPT="GUID in &apos;RAW&apos; format" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDON="00000000" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="GUID_16"/>
   <source>method GET_GUID.

  ep_guid = me-&gt;guid.

endmethod.</source>
  </method>
 </CLAS>
 <CLAS CLSNAME="ZCL_EXCEL_DRAWINGS" VERSION="1" LANGU="E" DESCRIPT="Drawings collection" UUID="549F354C6579E82CE1000000C0A8FA19" CATEGORY="00" EXPOSURE="2" STATE="1" RELEASE="0" AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDBY="FEMIA" CHANGEDON="20100708" CHGDANYON="00000000" CLSFINAL="X" CLSCCINCL="X" FIXPT="X" UNICODE="X" R3RELEASE="701" CLSBCCAT="00" DURATION_TYPE="0 " RISK_LEVEL="0 ">
  <publicSection>class ZCL_EXCEL_DRAWINGS definition
  public
  final
  create public .

*&quot;* public components of class ZCL_EXCEL_DRAWINGS
*&quot;* do not include other source files here!!!
public section.

  methods ADD
    importing
      !IP_DRAWING type ref to ZCL_EXCEL_DRAWING .
  methods CLEAR .
  methods CONSTRUCTOR .
  methods GET
    importing
      !IP_INDEX type ZEXCEL_ACTIVE_WORKSHEET
    returning
      value(EO_DRAWING) type ref to ZCL_EXCEL_DRAWING .
  methods GET_ITERATOR
    returning
      value(EO_ITERATOR) type ref to CL_OBJECT_COLLECTION_ITERATOR .
  methods IS_EMPTY
    returning
      value(IS_EMPTY) type FLAG .
  methods REMOVE
    importing
      !IP_DRAWING type ref to ZCL_EXCEL_DRAWING .
  methods SIZE
    returning
      value(EP_SIZE) type I .</publicSection>
  <protectedSection>*&quot;* protected components of class ZABAP_EXCEL_WORKSHEETS
*&quot;* do not include other source files here!!!
protected section.</protectedSection>
  <privateSection>*&quot;* private components of class ZCL_EXCEL_DRAWINGS
*&quot;* do not include other source files here!!!
private section.

  data DRAWINGS type ref to CL_OBJECT_COLLECTION .</privateSection>
  <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>
  <attribute CLSNAME="ZCL_EXCEL_DRAWINGS" CMPNAME="DRAWINGS" VERSION="1" LANGU="E" EXPOSURE="0" STATE="1" EDITORDER="1 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDON="00000000" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="3" TYPE="CL_OBJECT_COLLECTION" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <method CLSNAME="ZCL_EXCEL_DRAWINGS" CMPNAME="ADD" VERSION="1" LANGU="E" DESCRIPT="Adds an Element to the Collection" EXPOSURE="2" STATE="1" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDON="00000000" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_DRAWINGS" CMPNAME="ADD" SCONAME="IP_DRAWING" VERSION="1" LANGU="E" DESCRIPT="Worksheet" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDON="00000000" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="3" TYPE="ZCL_EXCEL_DRAWING"/>
   <source>METHOD add.


  drawings-&gt;add( ip_drawing ).
ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_DRAWINGS" CMPNAME="CLEAR" VERSION="1" LANGU="E" DESCRIPT="Initializes the Collection" EXPOSURE="2" STATE="1" EDITORDER="2 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDON="00000000" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <source>METHOD clear.


  drawings-&gt;clear( ).
ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_DRAWINGS" CMPNAME="CONSTRUCTOR" VERSION="1" LANGU="E" DESCRIPT="CONSTRUCTOR" EXPOSURE="2" STATE="1" EDITORDER="3 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDON="00000000" MTDTYPE="2" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <source>METHOD constructor.


  CREATE OBJECT drawings.

ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_DRAWINGS" CMPNAME="GET" VERSION="1" LANGU="E" DESCRIPT="Gets Element" EXPOSURE="2" STATE="1" EDITORDER="4 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDON="00000000" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_DRAWINGS" CMPNAME="GET" SCONAME="IP_INDEX" VERSION="1" LANGU="E" DESCRIPT="Active Worksheet" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDON="00000000" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_ACTIVE_WORKSHEET"/>
   <parameter CLSNAME="ZCL_EXCEL_DRAWINGS" CMPNAME="GET" SCONAME="EO_DRAWING" VERSION="1" LANGU="E" DESCRIPT="Worksheet" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDON="00000000" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="3" TYPE="ZCL_EXCEL_DRAWING"/>
   <source>METHOD get.


  DATA lv_index TYPE i.
  lv_index = ip_index.
  eo_drawing ?= drawings-&gt;if_object_collection~get( lv_index ).
ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_DRAWINGS" CMPNAME="GET_ITERATOR" VERSION="1" LANGU="E" DESCRIPT="Returns an iterator" EXPOSURE="2" STATE="1" EDITORDER="5 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDON="00000000" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_DRAWINGS" CMPNAME="GET_ITERATOR" SCONAME="EO_ITERATOR" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDON="00000000" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="3" TYPE="CL_OBJECT_COLLECTION_ITERATOR"/>
   <source>METHOD get_iterator.


  eo_iterator ?= drawings-&gt;if_object_collection~get_iterator( ).
ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_DRAWINGS" CMPNAME="IS_EMPTY" VERSION="1" LANGU="E" DESCRIPT="Checks whether elements are contained" EXPOSURE="2" STATE="1" EDITORDER="6 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDON="00000000" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_DRAWINGS" CMPNAME="IS_EMPTY" SCONAME="IS_EMPTY" VERSION="1" LANGU="E" DESCRIPT="General Flag" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDON="00000000" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="FLAG"/>
   <source>METHOD is_empty.


  is_empty = drawings-&gt;if_object_collection~is_empty( ).
ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_DRAWINGS" CMPNAME="REMOVE" VERSION="1" LANGU="E" DESCRIPT="Deletes an Element from the Collection" EXPOSURE="2" STATE="1" EDITORDER="7 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDON="00000000" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_DRAWINGS" CMPNAME="REMOVE" SCONAME="IP_DRAWING" VERSION="1" LANGU="E" DESCRIPT="Worksheet" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDON="00000000" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="3" TYPE="ZCL_EXCEL_DRAWING"/>
   <source>METHOD remove.


  drawings-&gt;remove( ip_drawing ).
ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_DRAWINGS" CMPNAME="SIZE" VERSION="1" LANGU="E" DESCRIPT="Specifies number of contained elements" EXPOSURE="2" STATE="1" EDITORDER="8 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDON="00000000" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_DRAWINGS" CMPNAME="SIZE" SCONAME="EP_SIZE" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDON="00000000" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="I"/>
   <source>METHOD size.


  ep_size = drawings-&gt;if_object_collection~size( ).
ENDMETHOD.</source>
  </method>
 </CLAS>
 <CLAS CLSNAME="ZCL_EXCEL_PROPERTIES" VERSION="1" LANGU="E" DESCRIPT="Document properties" UUID="A161274C8A34602DE1000000C0A8FA19" CATEGORY="00" EXPOSURE="2" STATE="1" RELEASE="0" AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" CHGDANYON="00000000" CLSFINAL="X" CLSCCINCL="X" FIXPT="X" UNICODE="X" R3RELEASE="701" CLSBCCAT="00" DURATION_TYPE="0 " RISK_LEVEL="0 ">
  <publicSection>class ZCL_EXCEL_PROPERTIES definition
  public
  final
  create public .

*&quot;* public components of class ZCL_EXCEL_PROPERTIES
*&quot;* do not include other source files here!!!
public section.

  data CREATOR type ZEXCEL_CREATOR value &apos;Unknown Creator&apos;. &quot;#EC NOTEXT .
  data LASTMODIFIEDBY type ZEXCEL_CREATOR value &apos;Unknown Creator&apos;. &quot;#EC NOTEXT .
  data CREATED type TIMESTAMPL .
  data MODIFIED type TIMESTAMPL .
  data TITLE type ZEXCEL_TITLE value &apos;Untitled Spreadsheet&apos;. &quot;#EC NOTEXT .
  data SUBJECT type ZEXCEL_SUBJECT .
  data DESCRIPTION type ZEXCEL_DESCRIPTION .
  data KEYWORDS type ZEXCEL_KEYWORDS .
  data CATEGORY type ZEXCEL_CATEGORY .
  data COMPANY type ZEXCEL_COMPANY value &apos;Microsoft Corporation&apos;. &quot;#EC NOTEXT .
  data APPLICATION type ZEXCEL_APPLICATION value &apos;Microsoft Excel&apos;. &quot;#EC NOTEXT .
  data DOCSECURITY type ZEXCEL_DOCSECURITY value &apos;0&apos;. &quot;#EC NOTEXT .
  data SCALECROP type ZEXCEL_SCALECROP value &apos;&apos;. &quot;#EC NOTEXT .
  data LINKSUPTODATE type FLAG .
  data SHAREDDOC type FLAG .
  data HYPERLINKSCHANGED type FLAG .
  data APPVERSION type ZEXCEL_APPVERSION value &apos;12.0000&apos;. &quot;#EC NOTEXT .

  methods CONSTRUCTOR .</publicSection>
  <protectedSection>*&quot;* protected components of class ZABAP_EXCEL_PROPERTIES
*&quot;* do not include other source files here!!!
protected section.</protectedSection>
  <privateSection>*&quot;* private components of class ZCL_EXCEL_PROPERTIES
*&quot;* do not include other source files here!!!
private section.</privateSection>
  <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>
  <attribute CLSNAME="ZCL_EXCEL_PROPERTIES" CMPNAME="APPLICATION" VERSION="1" LANGU="E" DESCRIPT="Application" EXPOSURE="2" STATE="1" EDITORDER="11 " AUTHOR="FEMIA" CREATEDON="20100702" CHANGEDON="00000000" ATTDECLTYP="0" ATTVALUE="&apos;Microsoft Excel&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_APPLICATION" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_PROPERTIES" CMPNAME="APPVERSION" VERSION="1" LANGU="E" DESCRIPT="Application version" EXPOSURE="2" STATE="1" EDITORDER="17 " AUTHOR="FEMIA" CREATEDON="20100702" CHANGEDON="00000000" ATTDECLTYP="0" ATTVALUE="&apos;12.0000&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_APPVERSION" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_PROPERTIES" CMPNAME="CATEGORY" VERSION="1" LANGU="E" DESCRIPT="Category" EXPOSURE="2" STATE="1" EDITORDER="9 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_CATEGORY" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_PROPERTIES" CMPNAME="COMPANY" VERSION="1" LANGU="E" DESCRIPT="Company" EXPOSURE="2" STATE="1" EDITORDER="10 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" ATTDECLTYP="0" ATTVALUE="&apos;Microsoft Corporation&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_COMPANY" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_PROPERTIES" CMPNAME="CREATED" VERSION="1" LANGU="E" DESCRIPT="Created on" EXPOSURE="2" STATE="1" EDITORDER="3 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="TIMESTAMPL" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_PROPERTIES" CMPNAME="CREATOR" VERSION="1" LANGU="E" DESCRIPT="Creator" EXPOSURE="2" STATE="1" EDITORDER="1 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" ATTDECLTYP="0" ATTVALUE="&apos;Unknown Creator&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_CREATOR" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_PROPERTIES" CMPNAME="DESCRIPTION" VERSION="1" LANGU="E" DESCRIPT="Description" EXPOSURE="2" STATE="1" EDITORDER="7 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_DESCRIPTION" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_PROPERTIES" CMPNAME="DOCSECURITY" VERSION="1" LANGU="E" DESCRIPT="DocSecurity" EXPOSURE="2" STATE="1" EDITORDER="12 " AUTHOR="FEMIA" CREATEDON="20100702" CHANGEDBY="FEMIA" CHANGEDON="20100702" ATTDECLTYP="0" ATTVALUE="&apos;0&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_DOCSECURITY" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_PROPERTIES" CMPNAME="HYPERLINKSCHANGED" VERSION="1" LANGU="E" DESCRIPT="Hyperlinks changed" EXPOSURE="2" STATE="1" EDITORDER="16 " AUTHOR="FEMIA" CREATEDON="20100702" CHANGEDON="00000000" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="FLAG" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_PROPERTIES" CMPNAME="KEYWORDS" VERSION="1" LANGU="E" DESCRIPT="Keywords" EXPOSURE="2" STATE="1" EDITORDER="8 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_KEYWORDS" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_PROPERTIES" CMPNAME="LASTMODIFIEDBY" VERSION="1" LANGU="E" DESCRIPT="Modified by" EXPOSURE="2" STATE="1" EDITORDER="2 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" ATTDECLTYP="0" ATTVALUE="&apos;Unknown Creator&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_CREATOR" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_PROPERTIES" CMPNAME="LINKSUPTODATE" VERSION="1" LANGU="E" DESCRIPT="Links up to date" EXPOSURE="2" STATE="1" EDITORDER="14 " AUTHOR="FEMIA" CREATEDON="20100702" CHANGEDON="00000000" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="FLAG" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_PROPERTIES" CMPNAME="MODIFIED" VERSION="1" LANGU="E" DESCRIPT="Modified on" EXPOSURE="2" STATE="1" EDITORDER="4 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="TIMESTAMPL" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_PROPERTIES" CMPNAME="SCALECROP" VERSION="1" LANGU="E" DESCRIPT="ScaleCrop" EXPOSURE="2" STATE="1" EDITORDER="13 " AUTHOR="FEMIA" CREATEDON="20100702" CHANGEDON="00000000" ATTDECLTYP="0" ATTVALUE="&apos;&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SCALECROP" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_PROPERTIES" CMPNAME="SHAREDDOC" VERSION="1" LANGU="E" DESCRIPT="Shared document" EXPOSURE="2" STATE="1" EDITORDER="15 " AUTHOR="FEMIA" CREATEDON="20100702" CHANGEDBY="FEMIA" CHANGEDON="20100702" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="FLAG" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_PROPERTIES" CMPNAME="SUBJECT" VERSION="1" LANGU="E" DESCRIPT="Subject" EXPOSURE="2" STATE="1" EDITORDER="6 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SUBJECT" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_PROPERTIES" CMPNAME="TITLE" VERSION="1" LANGU="E" DESCRIPT="Title" EXPOSURE="2" STATE="1" EDITORDER="5 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" ATTDECLTYP="0" ATTVALUE="&apos;Untitled Spreadsheet&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_TITLE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <method CLSNAME="ZCL_EXCEL_PROPERTIES" CMPNAME="CONSTRUCTOR" VERSION="1" LANGU="E" DESCRIPT="CONSTRUCTOR" EXPOSURE="2" STATE="1" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" MTDTYPE="2" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <source>METHOD CONSTRUCTOR.

  DATA: lv_timestamp TYPE timestampl.

  GET TIME STAMP FIELD lv_timestamp.
  created   = lv_timestamp.
  modified  = lv_timestamp.

ENDMETHOD.</source>
  </method>
 </CLAS>
 <CLAS CLSNAME="ZCL_EXCEL_RANGE" VERSION="1" LANGU="E" DESCRIPT="Worksheet" UUID="D3B0284C304B5E2DE1000000C0A8FA19" CATEGORY="00" EXPOSURE="2" STATE="1" RELEASE="0" AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" CHGDANYON="00000000" CLSFINAL="X" CLSCCINCL="X" FIXPT="X" UNICODE="X" R3RELEASE="701" CLSBCCAT="00" DURATION_TYPE="0 " RISK_LEVEL="0 ">
  <publicSection>class ZCL_EXCEL_RANGE definition
  public
  final
  create public .

*&quot;* public components of class ZCL_EXCEL_RANGE
*&quot;* do not include other source files here!!!
public section.

  methods CONSTRUCTOR .</publicSection>
  <protectedSection>*&quot;* protected components of class ZABAP_EXCEL_WORKSHEET
*&quot;* do not include other source files here!!!
protected section.</protectedSection>
  <privateSection>*&quot;* private components of class ZABAP_EXCEL_WORKSHEET
*&quot;* do not include other source files here!!!
private section.</privateSection>
  <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>
  <method CLSNAME="ZCL_EXCEL_RANGE" CMPNAME="CONSTRUCTOR" VERSION="1" LANGU="E" DESCRIPT="CONSTRUCTOR" EXPOSURE="2" STATE="1" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" MTDTYPE="2" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <source>method CONSTRUCTOR.
endmethod.</source>
  </method>
 </CLAS>
 <CLAS CLSNAME="ZCL_EXCEL_RANGES" VERSION="1" LANGU="E" DESCRIPT="Ranges collection" UUID="F2AF284C304B5E2DE1000000C0A8FA19" CATEGORY="00" EXPOSURE="2" STATE="1" RELEASE="0" AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" CHGDANYON="00000000" CLSFINAL="X" CLSCCINCL="X" FIXPT="X" UNICODE="X" R3RELEASE="701" CLSBCCAT="00" DURATION_TYPE="0 " RISK_LEVEL="0 ">
  <publicSection>class ZCL_EXCEL_RANGES definition
  public
  final
  create public .

*&quot;* public components of class ZCL_EXCEL_RANGES
*&quot;* do not include other source files here!!!
public section.

  methods ADD
    importing
      !IP_RANGE type ref to ZCL_EXCEL_RANGE .
  methods CLEAR .
  methods CONSTRUCTOR .
  methods GET
    importing
      !IP_INDEX type I
    returning
      value(EO_RANGE) type ref to ZCL_EXCEL_RANGE .
  methods GET_ITERATOR
    returning
      value(EO_ITERATOR) type ref to CL_OBJECT_COLLECTION_ITERATOR .
  methods IS_EMPTY
    returning
      value(IS_EMPTY) type FLAG .
  methods REMOVE
    importing
      !IP_RANGE type ref to ZCL_EXCEL_RANGE .
  methods SIZE
    returning
      value(EP_SIZE) type I .</publicSection>
  <protectedSection>*&quot;* protected components of class ZABAP_EXCEL_WORKSHEETS
*&quot;* do not include other source files here!!!
protected section.</protectedSection>
  <privateSection>*&quot;* private components of class ZABAP_EXCEL_RANGES
*&quot;* do not include other source files here!!!
private section.

  data RANGES type ref to CL_OBJECT_COLLECTION .</privateSection>
  <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>
  <attribute CLSNAME="ZCL_EXCEL_RANGES" CMPNAME="RANGES" VERSION="1" LANGU="E" EXPOSURE="0" STATE="1" EDITORDER="1 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="3" TYPE="CL_OBJECT_COLLECTION" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <method CLSNAME="ZCL_EXCEL_RANGES" CMPNAME="ADD" VERSION="1" LANGU="E" DESCRIPT="Adds an Element to the Collection" EXPOSURE="2" STATE="1" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_RANGES" CMPNAME="ADD" SCONAME="IP_RANGE" VERSION="1" LANGU="E" DESCRIPT="Worksheet" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100628" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="3" TYPE="ZCL_EXCEL_RANGE"/>
   <source>METHOD ADD.
  ranges-&gt;add( ip_range ).
ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_RANGES" CMPNAME="CLEAR" VERSION="1" LANGU="E" DESCRIPT="Initializes the Collection" EXPOSURE="2" STATE="1" EDITORDER="2 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <source>METHOD CLEAR.
  ranges-&gt;clear( ).
ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_RANGES" CMPNAME="CONSTRUCTOR" VERSION="1" LANGU="E" DESCRIPT="CONSTRUCTOR" EXPOSURE="2" STATE="1" EDITORDER="3 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" MTDTYPE="2" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <source>method CONSTRUCTOR.
endmethod.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_RANGES" CMPNAME="GET" VERSION="1" LANGU="E" DESCRIPT="Gets Element" EXPOSURE="2" STATE="1" EDITORDER="4 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_RANGES" CMPNAME="GET" SCONAME="IP_INDEX" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="I"/>
   <parameter CLSNAME="ZCL_EXCEL_RANGES" CMPNAME="GET" SCONAME="EO_RANGE" VERSION="1" LANGU="E" DESCRIPT="Worksheet" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100628" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="3" TYPE="ZCL_EXCEL_RANGE"/>
   <source>METHOD GET.
  eo_range ?= ranges-&gt;if_object_collection~get( ip_index ).
ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_RANGES" CMPNAME="GET_ITERATOR" VERSION="1" LANGU="E" DESCRIPT="Returns an iterator" EXPOSURE="2" STATE="1" EDITORDER="5 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_RANGES" CMPNAME="GET_ITERATOR" SCONAME="EO_ITERATOR" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="3" TYPE="CL_OBJECT_COLLECTION_ITERATOR"/>
   <source>METHOD GET_ITERATOR.
  eo_iterator ?= ranges-&gt;if_object_collection~get_iterator( ).
ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_RANGES" CMPNAME="IS_EMPTY" VERSION="1" LANGU="E" DESCRIPT="Checks whether elements are contained" EXPOSURE="2" STATE="1" EDITORDER="6 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_RANGES" CMPNAME="IS_EMPTY" SCONAME="IS_EMPTY" VERSION="1" LANGU="E" DESCRIPT="General Flag" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="FLAG"/>
   <source>METHOD IS_EMPTY.
  is_empty = ranges-&gt;if_object_collection~is_empty( ).
ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_RANGES" CMPNAME="REMOVE" VERSION="1" LANGU="E" DESCRIPT="Deletes an Element from the Collection" EXPOSURE="2" STATE="1" EDITORDER="7 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_RANGES" CMPNAME="REMOVE" SCONAME="IP_RANGE" VERSION="1" LANGU="E" DESCRIPT="Worksheet" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100628" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="3" TYPE="ZCL_EXCEL_RANGE"/>
   <source>METHOD REMOVE.
  ranges-&gt;remove( ip_range ).
ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_RANGES" CMPNAME="SIZE" VERSION="1" LANGU="E" DESCRIPT="Specifies number of contained elements" EXPOSURE="2" STATE="1" EDITORDER="8 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_RANGES" CMPNAME="SIZE" SCONAME="EP_SIZE" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="I"/>
   <source>METHOD SIZE.
  ep_size = ranges-&gt;if_object_collection~size( ).
ENDMETHOD.</source>
  </method>
 </CLAS>
 <CLAS CLSNAME="ZCL_EXCEL_SECURITY" VERSION="1" LANGU="E" DESCRIPT="Security" UUID="4BAF284C304B5E2DE1000000C0A8FA19" CATEGORY="00" EXPOSURE="2" STATE="1" RELEASE="0" AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" CHGDANYON="00000000" CLSFINAL="X" CLSCCINCL="X" FIXPT="X" UNICODE="X" R3RELEASE="701" CLSBCCAT="00" DURATION_TYPE="0 " RISK_LEVEL="0 ">
  <publicSection>class ZCL_EXCEL_SECURITY definition
  public
  final
  create public .

*&quot;* public components of class ZCL_EXCEL_SECURITY
*&quot;* do not include other source files here!!!
public section.
  type-pools ABAP .

  data LOCKREVISION type FLAG .
  data LOCKSTRUCTURE type FLAG .
  data LOCKWINDOWS type FLAG .
  data REVISIONSPASSWORD type ZEXCEL_REVISIONSPASSWORD .
  data WORKBOOKPASSWORD type ZEXCEL_WORKBOOKPASSWORD .

  methods CONSTRUCTOR .
  methods IS_SECURITY_ENABLED
    returning
      value(EP_SECURITY_ENABLED) type FLAG .</publicSection>
  <protectedSection>*&quot;* protected components of class ZABAP_EXCEL_SECURITY
*&quot;* do not include other source files here!!!
protected section.</protectedSection>
  <privateSection>*&quot;* private components of class ZABAP_EXCEL_SECURITY
*&quot;* do not include other source files here!!!
private section.</privateSection>
  <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_SECURITY" TYPEGROUP="ABAP" VERSION="1" TPUTYPE="0" EXPLICIT="X"/>
  <forwardDeclaration>ABAP</forwardDeclaration>
  <attribute CLSNAME="ZCL_EXCEL_SECURITY" CMPNAME="LOCKREVISION" VERSION="1" LANGU="E" DESCRIPT="General Flag" EXPOSURE="2" STATE="1" EDITORDER="1 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="FLAG" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SECURITY" CMPNAME="LOCKSTRUCTURE" VERSION="1" LANGU="E" DESCRIPT="General Flag" EXPOSURE="2" STATE="1" EDITORDER="2 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="FLAG" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SECURITY" CMPNAME="LOCKWINDOWS" VERSION="1" LANGU="E" DESCRIPT="General Flag" EXPOSURE="2" STATE="1" EDITORDER="3 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="FLAG" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SECURITY" CMPNAME="REVISIONSPASSWORD" VERSION="1" LANGU="E" DESCRIPT="Revisions password" EXPOSURE="2" STATE="1" EDITORDER="4 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_REVISIONSPASSWORD" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SECURITY" CMPNAME="WORKBOOKPASSWORD" VERSION="1" LANGU="E" DESCRIPT="Workbook password" EXPOSURE="2" STATE="1" EDITORDER="5 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_WORKBOOKPASSWORD" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <method CLSNAME="ZCL_EXCEL_SECURITY" CMPNAME="CONSTRUCTOR" VERSION="1" LANGU="E" DESCRIPT="CONSTRUCTOR" EXPOSURE="2" STATE="1" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" MTDTYPE="2" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <source>method CONSTRUCTOR.
endmethod.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_SECURITY" CMPNAME="IS_SECURITY_ENABLED" VERSION="1" LANGU="E" DESCRIPT="Is some sort of dcument security enabled?" EXPOSURE="2" STATE="1" EDITORDER="2 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_SECURITY" CMPNAME="IS_SECURITY_ENABLED" SCONAME="EP_SECURITY_ENABLED" VERSION="1" LANGU="E" DESCRIPT="General Flag" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="FLAG"/>
   <source>METHOD IS_SECURITY_ENABLED.
  IF lockrevision EQ abap_true OR lockstructure EQ abap_true OR lockwindows EQ abap_true.
    ep_security_enabled = abap_true.
  ENDIF.
ENDMETHOD.</source>
  </method>
 </CLAS>
 <CLAS CLSNAME="ZCL_EXCEL_SHEET_SETUP" VERSION="1" LANGU="E" DESCRIPT="Sheet setup" UUID="48ED294CBB345D2DE1000000C0A8FA19" CATEGORY="00" EXPOSURE="2" STATE="1" RELEASE="0" AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" CHGDANYON="00000000" CLSFINAL="X" CLSCCINCL="X" FIXPT="X" UNICODE="X" R3RELEASE="701" CLSBCCAT="00" DURATION_TYPE="0 " RISK_LEVEL="0 ">
  <publicSection>class ZCL_EXCEL_SHEET_SETUP definition
  public
  final
  create public .

*&quot;* public components of class ZCL_EXCEL_SHEET_SETUP
*&quot;* do not include other source files here!!!
public section.
  type-pools ABAP .

  constants C_PAPERSIZE_LETTER type ZEXCEL_SHEET_PAPER_SIZE value 1. &quot;#EC NOTEXT
  constants C_PAPERSIZE_LETTER_SMALL type ZEXCEL_SHEET_PAPER_SIZE value 2. &quot;#EC NOTEXT
  constants C_PAPERSIZE_TABLOID type ZEXCEL_SHEET_PAPER_SIZE value 3. &quot;#EC NOTEXT
  constants C_PAPERSIZE_LEDGER type ZEXCEL_SHEET_PAPER_SIZE value 4. &quot;#EC NOTEXT
  constants C_PAPERSIZE_LEGAL type ZEXCEL_SHEET_PAPER_SIZE value 5. &quot;#EC NOTEXT
  constants C_PAPERSIZE_STATEMENT type ZEXCEL_SHEET_PAPER_SIZE value 6. &quot;#EC NOTEXT
  constants C_PAPERSIZE_EXECUTIVE type ZEXCEL_SHEET_PAPER_SIZE value 7. &quot;#EC NOTEXT
  constants C_PAPERSIZE_A3 type ZEXCEL_SHEET_PAPER_SIZE value 8. &quot;#EC NOTEXT
  constants C_PAPERSIZE_A4 type ZEXCEL_SHEET_PAPER_SIZE value 9. &quot;#EC NOTEXT
  constants C_PAPERSIZE_A4_SMALL type ZEXCEL_SHEET_PAPER_SIZE value 10. &quot;#EC NOTEXT
  constants C_PAPERSIZE_A5 type ZEXCEL_SHEET_PAPER_SIZE value 11. &quot;#EC NOTEXT
  constants C_PAPERSIZE_B4 type ZEXCEL_SHEET_PAPER_SIZE value 12. &quot;#EC NOTEXT
  constants C_PAPERSIZE_B5 type ZEXCEL_SHEET_PAPER_SIZE value 13. &quot;#EC NOTEXT
  constants C_PAPERSIZE_FOLIO type ZEXCEL_SHEET_PAPER_SIZE value 14. &quot;#EC NOTEXT
  constants C_PAPERSIZE_QUARTO type ZEXCEL_SHEET_PAPER_SIZE value 15. &quot;#EC NOTEXT
  constants C_PAPERSIZE_STANDARD_1 type ZEXCEL_SHEET_PAPER_SIZE value 16. &quot;#EC NOTEXT
  constants C_PAPERSIZE_STANDARD_2 type ZEXCEL_SHEET_PAPER_SIZE value 17. &quot;#EC NOTEXT
  constants C_PAPERSIZE_NOTE type ZEXCEL_SHEET_PAPER_SIZE value 18. &quot;#EC NOTEXT
  constants C_PAPERSIZE_NO9_ENVELOPE type ZEXCEL_SHEET_PAPER_SIZE value 19. &quot;#EC NOTEXT
  constants C_PAPERSIZE_NO10_ENVELOPE type ZEXCEL_SHEET_PAPER_SIZE value 20. &quot;#EC NOTEXT
  constants C_PAPERSIZE_NO11_ENVELOPE type ZEXCEL_SHEET_PAPER_SIZE value 21. &quot;#EC NOTEXT
  constants C_PAPERSIZE_NO12_ENVELOPE type ZEXCEL_SHEET_PAPER_SIZE value 22. &quot;#EC NOTEXT
  constants C_PAPERSIZE_NO14_ENVELOPE type ZEXCEL_SHEET_PAPER_SIZE value 23. &quot;#EC NOTEXT
  constants C_PAPERSIZE_C type ZEXCEL_SHEET_PAPER_SIZE value 24. &quot;#EC NOTEXT
  constants C_PAPERSIZE_D type ZEXCEL_SHEET_PAPER_SIZE value 25. &quot;#EC NOTEXT
  constants C_PAPERSIZE_E type ZEXCEL_SHEET_PAPER_SIZE value 26. &quot;#EC NOTEXT
  constants C_PAPERSIZE_DL_ENVELOPE type ZEXCEL_SHEET_PAPER_SIZE value 27. &quot;#EC NOTEXT
  constants C_PAPERSIZE_C5_ENVELOPE type ZEXCEL_SHEET_PAPER_SIZE value 28. &quot;#EC NOTEXT
  constants C_PAPERSIZE_C3_ENVELOPE type ZEXCEL_SHEET_PAPER_SIZE value 29. &quot;#EC NOTEXT
  constants C_PAPERSIZE_C4_ENVELOPE type ZEXCEL_SHEET_PAPER_SIZE value 30. &quot;#EC NOTEXT
  constants C_PAPERSIZE_C6_ENVELOPE type ZEXCEL_SHEET_PAPER_SIZE value 31. &quot;#EC NOTEXT
  constants C_PAPERSIZE_C65_ENVELOPE type ZEXCEL_SHEET_PAPER_SIZE value 32. &quot;#EC NOTEXT
  constants C_PAPERSIZE_B4_ENVELOPE type ZEXCEL_SHEET_PAPER_SIZE value 33. &quot;#EC NOTEXT
  constants C_PAPERSIZE_B5_ENVELOPE type ZEXCEL_SHEET_PAPER_SIZE value 34. &quot;#EC NOTEXT
  constants C_PAPERSIZE_B6_ENVELOPE type ZEXCEL_SHEET_PAPER_SIZE value 35. &quot;#EC NOTEXT
  constants C_PAPERSIZE_ITALY_ENVELOPE type ZEXCEL_SHEET_PAPER_SIZE value 36. &quot;#EC NOTEXT
  constants C_PAPERSIZE_MONARCH_ENVELOPE type ZEXCEL_SHEET_PAPER_SIZE value 37. &quot;#EC NOTEXT
  constants C_PAPERSIZE_6_3_4_ENVELOPE type ZEXCEL_SHEET_PAPER_SIZE value 38. &quot;#EC NOTEXT
  constants C_PAPERSIZE_US_STD_FANFOLD type ZEXCEL_SHEET_PAPER_SIZE value 39. &quot;#EC NOTEXT
  constants C_PAPERSIZE_DE_STD_FANFOLD type ZEXCEL_SHEET_PAPER_SIZE value 40. &quot;#EC NOTEXT
  constants C_PAPERSIZE_DE_LEG_FANFOLD type ZEXCEL_SHEET_PAPER_SIZE value 41. &quot;#EC NOTEXT
  constants C_PAPERSIZE_ISO_B4 type ZEXCEL_SHEET_PAPER_SIZE value 42. &quot;#EC NOTEXT
  constants C_PAPERSIZE_JPN_DBL_POSTCARD type ZEXCEL_SHEET_PAPER_SIZE value 43. &quot;#EC NOTEXT
  constants C_PAPERSIZE_STANDARD_PAPER_1 type ZEXCEL_SHEET_PAPER_SIZE value 44. &quot;#EC NOTEXT
  constants C_PAPERSIZE_STANDARD_PAPER_2 type ZEXCEL_SHEET_PAPER_SIZE value 45. &quot;#EC NOTEXT
  constants C_PAPERSIZE_STANDARD_PAPER_3 type ZEXCEL_SHEET_PAPER_SIZE value 46. &quot;#EC NOTEXT
  constants C_PAPERSIZE_INVITE_ENVELOPE type ZEXCEL_SHEET_PAPER_SIZE value 47. &quot;#EC NOTEXT
  constants C_PAPERSIZE_LETTER_EXTRA_PAPER type ZEXCEL_SHEET_PAPER_SIZE value 48. &quot;#EC NOTEXT
  constants C_PAPERSIZE_LEGAL_EXTRA_PAPER type ZEXCEL_SHEET_PAPER_SIZE value 49. &quot;#EC NOTEXT
  constants C_PAPERSIZE_TABL_EXTRA_PAPER type ZEXCEL_SHEET_PAPER_SIZE value 50. &quot;#EC NOTEXT
  constants C_PAPERSIZE_A4_EXTRA_PAPER type ZEXCEL_SHEET_PAPER_SIZE value 51. &quot;#EC NOTEXT
  constants C_PAPERSIZE_LETTER_TV_PAPER type ZEXCEL_SHEET_PAPER_SIZE value 52. &quot;#EC NOTEXT
  constants C_PAPERSIZE_A4_TV_PAPER type ZEXCEL_SHEET_PAPER_SIZE value 53. &quot;#EC NOTEXT
  constants C_PAPERSIZE_LETTER_EXTV_PAPER type ZEXCEL_SHEET_PAPER_SIZE value 54. &quot;#EC NOTEXT
  constants C_PAPERSIZE_SUPERA_A4_PAPER type ZEXCEL_SHEET_PAPER_SIZE value 55. &quot;#EC NOTEXT
  constants C_PAPERSIZE_SUPERB_A3_PAPER type ZEXCEL_SHEET_PAPER_SIZE value 56. &quot;#EC NOTEXT
  constants C_PAPERSIZE_LETTER_PLUS_PAPER type ZEXCEL_SHEET_PAPER_SIZE value 57. &quot;#EC NOTEXT
  constants C_PAPERSIZE_A4_PLUS_PAPER type ZEXCEL_SHEET_PAPER_SIZE value 58. &quot;#EC NOTEXT
  constants C_PAPERSIZE_A5_TV_PAPER type ZEXCEL_SHEET_PAPER_SIZE value 59. &quot;#EC NOTEXT
  constants C_PAPERSIZE_JIS_B5_TV_PAPER type ZEXCEL_SHEET_PAPER_SIZE value 60. &quot;#EC NOTEXT
  constants C_PAPERSIZE_A3_EXTRA_PAPER type ZEXCEL_SHEET_PAPER_SIZE value 61. &quot;#EC NOTEXT
  constants C_PAPERSIZE_A5_EXTRA_PAPER type ZEXCEL_SHEET_PAPER_SIZE value 62. &quot;#EC NOTEXT
  constants C_PAPERSIZE_ISO_B5_EXTRA_PAPER type ZEXCEL_SHEET_PAPER_SIZE value 63. &quot;#EC NOTEXT
  constants C_PAPERSIZE_A2_PAPER type ZEXCEL_SHEET_PAPER_SIZE value 64. &quot;#EC NOTEXT
  constants C_PAPERSIZE_A3_TV_PAPER type ZEXCEL_SHEET_PAPER_SIZE value 65. &quot;#EC NOTEXT
  constants C_PAPERSIZE_A3_EXTRA_TV_PAPER type ZEXCEL_SHEET_PAPER_SIZE value 66. &quot;#EC NOTEXT
  constants C_ORIENTATION_DEFAULT type ZEXCEL_SHEET_ORIENATATION value &apos;default&apos;. &quot;#EC NOTEXT
  constants C_ORIENTATION_LANDSCAPE type ZEXCEL_SHEET_ORIENATATION value &apos;landscape&apos;. &quot;#EC NOTEXT
  constants C_ORIENTATION_PORTRAIT type ZEXCEL_SHEET_ORIENATATION value &apos;portrait&apos;. &quot;#EC NOTEXT
  data ORIENTATION type ZEXCEL_SHEET_ORIENATATION .

  methods CONSTRUCTOR .</publicSection>
  <protectedSection>*&quot;* protected components of class ZABAP_EXCEL_STYLE
*&quot;* do not include other source files here!!!
protected section.</protectedSection>
  <privateSection>*&quot;* private components of class ZCL_EXCEL_SHEET_SETUP
*&quot;* do not include other source files here!!!
private section.</privateSection>
  <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_SHEET_SETUP" TYPEGROUP="ABAP" VERSION="1" TPUTYPE="0" EXPLICIT="X"/>
  <forwardDeclaration>ABAP</forwardDeclaration>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_ORIENTATION_DEFAULT" VERSION="1" LANGU="E" DESCRIPT="Sheet orientation" EXPOSURE="2" STATE="1" EDITORDER="67 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDON="00000000" ATTDECLTYP="2" ATTVALUE="&apos;default&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_ORIENATATION" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_ORIENTATION_LANDSCAPE" VERSION="1" LANGU="E" DESCRIPT="Sheet orientation" EXPOSURE="2" STATE="1" EDITORDER="68 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDON="00000000" ATTDECLTYP="2" ATTVALUE="&apos;landscape&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_ORIENATATION" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_ORIENTATION_PORTRAIT" VERSION="1" LANGU="E" DESCRIPT="Sheet orientation" EXPOSURE="2" STATE="1" EDITORDER="69 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDON="00000000" ATTDECLTYP="2" ATTVALUE="&apos;portrait&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_ORIENATATION" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_PAPERSIZE_6_3_4_ENVELOPE" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="38 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" ATTDECLTYP="2" ATTVALUE="38" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_PAPER_SIZE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_PAPERSIZE_A2_PAPER" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="64 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" ATTDECLTYP="2" ATTVALUE="64" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_PAPER_SIZE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_PAPERSIZE_A3" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="8 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" ATTDECLTYP="2" ATTVALUE="8" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_PAPER_SIZE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_PAPERSIZE_A3_EXTRA_PAPER" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="61 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" ATTDECLTYP="2" ATTVALUE="61" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_PAPER_SIZE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_PAPERSIZE_A3_EXTRA_TV_PAPER" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="66 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" ATTDECLTYP="2" ATTVALUE="66" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_PAPER_SIZE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_PAPERSIZE_A3_TV_PAPER" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="65 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" ATTDECLTYP="2" ATTVALUE="65" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_PAPER_SIZE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_PAPERSIZE_A4" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="9 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" ATTDECLTYP="2" ATTVALUE="9" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_PAPER_SIZE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_PAPERSIZE_A4_EXTRA_PAPER" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="51 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" ATTDECLTYP="2" ATTVALUE="51" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_PAPER_SIZE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_PAPERSIZE_A4_PLUS_PAPER" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="58 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" ATTDECLTYP="2" ATTVALUE="58" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_PAPER_SIZE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_PAPERSIZE_A4_SMALL" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="10 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" ATTDECLTYP="2" ATTVALUE="10" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_PAPER_SIZE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_PAPERSIZE_A4_TV_PAPER" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="53 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" ATTDECLTYP="2" ATTVALUE="53" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_PAPER_SIZE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_PAPERSIZE_A5" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="11 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" ATTDECLTYP="2" ATTVALUE="11" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_PAPER_SIZE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_PAPERSIZE_A5_EXTRA_PAPER" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="62 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" ATTDECLTYP="2" ATTVALUE="62" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_PAPER_SIZE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_PAPERSIZE_A5_TV_PAPER" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="59 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" ATTDECLTYP="2" ATTVALUE="59" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_PAPER_SIZE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_PAPERSIZE_B4" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="12 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" ATTDECLTYP="2" ATTVALUE="12" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_PAPER_SIZE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_PAPERSIZE_B4_ENVELOPE" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="33 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" ATTDECLTYP="2" ATTVALUE="33" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_PAPER_SIZE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_PAPERSIZE_B5" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="13 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" ATTDECLTYP="2" ATTVALUE="13" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_PAPER_SIZE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_PAPERSIZE_B5_ENVELOPE" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="34 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" ATTDECLTYP="2" ATTVALUE="34" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_PAPER_SIZE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_PAPERSIZE_B6_ENVELOPE" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="35 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" ATTDECLTYP="2" ATTVALUE="35" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_PAPER_SIZE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_PAPERSIZE_C" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="24 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" ATTDECLTYP="2" ATTVALUE="24" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_PAPER_SIZE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_PAPERSIZE_C3_ENVELOPE" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="29 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" ATTDECLTYP="2" ATTVALUE="29" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_PAPER_SIZE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_PAPERSIZE_C4_ENVELOPE" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="30 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" ATTDECLTYP="2" ATTVALUE="30" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_PAPER_SIZE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_PAPERSIZE_C5_ENVELOPE" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="28 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" ATTDECLTYP="2" ATTVALUE="28" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_PAPER_SIZE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_PAPERSIZE_C65_ENVELOPE" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="32 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" ATTDECLTYP="2" ATTVALUE="32" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_PAPER_SIZE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_PAPERSIZE_C6_ENVELOPE" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="31 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" ATTDECLTYP="2" ATTVALUE="31" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_PAPER_SIZE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_PAPERSIZE_D" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="25 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" ATTDECLTYP="2" ATTVALUE="25" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_PAPER_SIZE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_PAPERSIZE_DE_LEG_FANFOLD" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="41 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" ATTDECLTYP="2" ATTVALUE="41" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_PAPER_SIZE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_PAPERSIZE_DE_STD_FANFOLD" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="40 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" ATTDECLTYP="2" ATTVALUE="40" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_PAPER_SIZE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_PAPERSIZE_DL_ENVELOPE" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="27 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" ATTDECLTYP="2" ATTVALUE="27" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_PAPER_SIZE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_PAPERSIZE_E" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="26 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" ATTDECLTYP="2" ATTVALUE="26" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_PAPER_SIZE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_PAPERSIZE_EXECUTIVE" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="7 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" ATTDECLTYP="2" ATTVALUE="7" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_PAPER_SIZE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_PAPERSIZE_FOLIO" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="14 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" ATTDECLTYP="2" ATTVALUE="14" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_PAPER_SIZE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_PAPERSIZE_INVITE_ENVELOPE" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="47 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" ATTDECLTYP="2" ATTVALUE="47" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_PAPER_SIZE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_PAPERSIZE_ISO_B4" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="42 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" ATTDECLTYP="2" ATTVALUE="42" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_PAPER_SIZE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_PAPERSIZE_ISO_B5_EXTRA_PAPER" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="63 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" ATTDECLTYP="2" ATTVALUE="63" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_PAPER_SIZE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_PAPERSIZE_ITALY_ENVELOPE" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="36 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" ATTDECLTYP="2" ATTVALUE="36" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_PAPER_SIZE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_PAPERSIZE_JIS_B5_TV_PAPER" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="60 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" ATTDECLTYP="2" ATTVALUE="60" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_PAPER_SIZE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_PAPERSIZE_JPN_DBL_POSTCARD" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="43 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" ATTDECLTYP="2" ATTVALUE="43" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_PAPER_SIZE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_PAPERSIZE_LEDGER" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="4 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" ATTDECLTYP="2" ATTVALUE="4" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_PAPER_SIZE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_PAPERSIZE_LEGAL" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="5 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" ATTDECLTYP="2" ATTVALUE="5" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_PAPER_SIZE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_PAPERSIZE_LEGAL_EXTRA_PAPER" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="49 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" ATTDECLTYP="2" ATTVALUE="49" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_PAPER_SIZE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_PAPERSIZE_LETTER" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="1 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" ATTDECLTYP="2" ATTVALUE="1" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_PAPER_SIZE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_PAPERSIZE_LETTER_EXTRA_PAPER" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="48 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" ATTDECLTYP="2" ATTVALUE="48" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_PAPER_SIZE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_PAPERSIZE_LETTER_EXTV_PAPER" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="54 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" ATTDECLTYP="2" ATTVALUE="54" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_PAPER_SIZE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_PAPERSIZE_LETTER_PLUS_PAPER" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="57 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" ATTDECLTYP="2" ATTVALUE="57" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_PAPER_SIZE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_PAPERSIZE_LETTER_SMALL" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="2 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" ATTDECLTYP="2" ATTVALUE="2" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_PAPER_SIZE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_PAPERSIZE_LETTER_TV_PAPER" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="52 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" ATTDECLTYP="2" ATTVALUE="52" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_PAPER_SIZE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_PAPERSIZE_MONARCH_ENVELOPE" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="37 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" ATTDECLTYP="2" ATTVALUE="37" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_PAPER_SIZE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_PAPERSIZE_NO10_ENVELOPE" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="20 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" ATTDECLTYP="2" ATTVALUE="20" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_PAPER_SIZE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_PAPERSIZE_NO11_ENVELOPE" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="21 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" ATTDECLTYP="2" ATTVALUE="21" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_PAPER_SIZE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_PAPERSIZE_NO12_ENVELOPE" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="22 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" ATTDECLTYP="2" ATTVALUE="22" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_PAPER_SIZE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_PAPERSIZE_NO14_ENVELOPE" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="23 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" ATTDECLTYP="2" ATTVALUE="23" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_PAPER_SIZE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_PAPERSIZE_NO9_ENVELOPE" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="19 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" ATTDECLTYP="2" ATTVALUE="19" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_PAPER_SIZE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_PAPERSIZE_NOTE" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="18 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" ATTDECLTYP="2" ATTVALUE="18" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_PAPER_SIZE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_PAPERSIZE_QUARTO" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="15 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" ATTDECLTYP="2" ATTVALUE="15" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_PAPER_SIZE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_PAPERSIZE_STANDARD_1" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="16 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" ATTDECLTYP="2" ATTVALUE="16" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_PAPER_SIZE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_PAPERSIZE_STANDARD_2" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="17 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" ATTDECLTYP="2" ATTVALUE="17" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_PAPER_SIZE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_PAPERSIZE_STANDARD_PAPER_1" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="44 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" ATTDECLTYP="2" ATTVALUE="44" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_PAPER_SIZE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_PAPERSIZE_STANDARD_PAPER_2" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="45 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" ATTDECLTYP="2" ATTVALUE="45" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_PAPER_SIZE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_PAPERSIZE_STANDARD_PAPER_3" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="46 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" ATTDECLTYP="2" ATTVALUE="46" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_PAPER_SIZE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_PAPERSIZE_STATEMENT" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="6 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" ATTDECLTYP="2" ATTVALUE="6" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_PAPER_SIZE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_PAPERSIZE_SUPERA_A4_PAPER" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="55 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" ATTDECLTYP="2" ATTVALUE="55" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_PAPER_SIZE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_PAPERSIZE_SUPERB_A3_PAPER" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="56 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" ATTDECLTYP="2" ATTVALUE="56" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_PAPER_SIZE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_PAPERSIZE_TABLOID" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="3 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" ATTDECLTYP="2" ATTVALUE="3" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_PAPER_SIZE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_PAPERSIZE_TABL_EXTRA_PAPER" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="50 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" ATTDECLTYP="2" ATTVALUE="50" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_PAPER_SIZE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="C_PAPERSIZE_US_STD_FANFOLD" VERSION="1" LANGU="E" DESCRIPT="Fill Type" EXPOSURE="2" STATE="1" EDITORDER="39 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDBY="FEMIA" CHANGEDON="20100629" ATTDECLTYP="2" ATTVALUE="39" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_PAPER_SIZE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="ORIENTATION" VERSION="1" LANGU="E" DESCRIPT="Sheet orientation" EXPOSURE="2" STATE="1" EDITORDER="70 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDON="00000000" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_SHEET_ORIENATATION" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <method CLSNAME="ZCL_EXCEL_SHEET_SETUP" CMPNAME="CONSTRUCTOR" VERSION="1" LANGU="E" DESCRIPT="CONSTRUCTOR" EXPOSURE="2" STATE="1" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100629" CHANGEDON="00000000" MTDTYPE="2" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <source>METHOD constructor.
  orientation = me-&gt;c_orientation_default.
ENDMETHOD.</source>
  </method>
 </CLAS>
 <CLAS CLSNAME="ZCL_EXCEL_STYLE" VERSION="1" LANGU="E" DESCRIPT="Style" UUID="90B1284C304B5E2DE1000000C0A8FA19" CATEGORY="00" EXPOSURE="2" STATE="1" RELEASE="0" AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" CHGDANYON="00000000" CLSFINAL="X" CLSCCINCL="X" FIXPT="X" UNICODE="X" R3RELEASE="701" CLSBCCAT="00" DURATION_TYPE="0 " RISK_LEVEL="0 ">
  <publicSection>class ZCL_EXCEL_STYLE definition
  public
  final
  create public .

*&quot;* public components of class ZCL_EXCEL_STYLE
*&quot;* do not include other source files here!!!
public section.

  data FONT type ref to ZCL_EXCEL_STYLE_FONT .
  data FILL type ref to ZCL_EXCEL_STYLE_FILL .
  data BORDERS type ref to ZCL_EXCEL_STYLE_BORDERS .
  data NUMBER_FORMAT type ref to ZCL_EXCEL_STYLE_NUMBER_FORMAT .

  methods CONSTRUCTOR .
  methods GET_GUID
    returning
      value(EP_GUID) type ZEXCEL_CELL_STYLE .</publicSection>
  <protectedSection>*&quot;* protected components of class ZABAP_EXCEL_STYLE
*&quot;* do not include other source files here!!!
protected section.</protectedSection>
  <privateSection>*&quot;* private components of class ZCL_EXCEL_STYLE
*&quot;* do not include other source files here!!!
private section.

  data ALIGNMENT type ref to ZCL_EXCEL_STYLE_ALIGNMENT .
  data PROTECTION type ref to ZCL_EXCEL_STYLE_PROTECTION .
  data GUID type ZEXCEL_CELL_STYLE .</privateSection>
  <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>
  <attribute CLSNAME="ZCL_EXCEL_STYLE" CMPNAME="ALIGNMENT" VERSION="1" LANGU="E" DESCRIPT="Font Style" EXPOSURE="0" STATE="1" EDITORDER="4 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100704" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="3" TYPE="ZCL_EXCEL_STYLE_ALIGNMENT" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE" CMPNAME="BORDERS" VERSION="1" LANGU="E" DESCRIPT="Font Style" EXPOSURE="2" STATE="1" EDITORDER="3 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100704" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="3" TYPE="ZCL_EXCEL_STYLE_BORDERS" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE" CMPNAME="FILL" VERSION="1" LANGU="E" DESCRIPT="Font Style" EXPOSURE="2" STATE="1" EDITORDER="2 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100704" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="3" TYPE="ZCL_EXCEL_STYLE_FILL" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE" CMPNAME="FONT" VERSION="1" LANGU="E" DESCRIPT="Font Style" EXPOSURE="2" STATE="1" EDITORDER="1 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100704" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="3" TYPE="ZCL_EXCEL_STYLE_FONT" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE" CMPNAME="GUID" VERSION="1" LANGU="E" DESCRIPT="Style identifier" EXPOSURE="0" STATE="1" EDITORDER="7 " AUTHOR="FEMIA" CREATEDON="20100704" CHANGEDBY="FEMIA" CHANGEDON="20100708" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_CELL_STYLE" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE" CMPNAME="NUMBER_FORMAT" VERSION="1" LANGU="E" DESCRIPT="Font Style" EXPOSURE="2" STATE="1" EDITORDER="5 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100708" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="3" TYPE="ZCL_EXCEL_STYLE_NUMBER_FORMAT" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <attribute CLSNAME="ZCL_EXCEL_STYLE" CMPNAME="PROTECTION" VERSION="1" LANGU="E" DESCRIPT="Font Style" EXPOSURE="0" STATE="1" EDITORDER="6 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100708" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="3" TYPE="ZCL_EXCEL_STYLE_PROTECTION" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <method CLSNAME="ZCL_EXCEL_STYLE" CMPNAME="CONSTRUCTOR" VERSION="1" LANGU="E" DESCRIPT="CONSTRUCTOR" EXPOSURE="2" STATE="1" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" MTDTYPE="2" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <source>METHOD constructor.


  CREATE OBJECT font.
  CREATE OBJECT fill.
  CREATE OBJECT borders.
  CREATE OBJECT alignment.
  CREATE OBJECT number_format.
  CREATE OBJECT protection.

  CALL FUNCTION &apos;GUID_CREATE&apos;
    IMPORTING
      ev_guid_16 = me-&gt;guid.

ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_STYLE" CMPNAME="GET_GUID" VERSION="1" LANGU="E" EXPOSURE="2" STATE="1" EDITORDER="2 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100704" CHANGEDON="00000000" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" 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 " AUTHOR="FEMIA" CREATEDON="20100704" CHANGEDBY="FEMIA" CHANGEDON="20100705" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="ZEXCEL_CELL_STYLE"/>
   <source>METHOD get_guid.


  ep_guid = me-&gt;guid.
ENDMETHOD.</source>
  </method>
 </CLAS>
 <CLAS CLSNAME="ZCL_EXCEL_STYLES" VERSION="1" LANGU="E" DESCRIPT="Styles collection" UUID="53B0284C304B5E2DE1000000C0A8FA19" CATEGORY="00" EXPOSURE="2" STATE="1" RELEASE="0" AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" CHGDANYON="00000000" CLSFINAL="X" CLSCCINCL="X" FIXPT="X" UNICODE="X" R3RELEASE="701" CLSBCCAT="00" DURATION_TYPE="0 " RISK_LEVEL="0 ">
  <publicSection>class ZCL_EXCEL_STYLES definition
  public
  final
  create public .

*&quot;* public components of class ZCL_EXCEL_STYLES
*&quot;* do not include other source files here!!!
public section.

  methods ADD
    importing
      !IP_STYLE type ref to ZCL_EXCEL_STYLE .
  methods CLEAR .
  methods CONSTRUCTOR .
  methods GET
    importing
      !IP_INDEX type I
    returning
      value(EO_STYLE) type ref to ZCL_EXCEL_STYLE .
  methods GET_ITERATOR
    returning
      value(EO_ITERATOR) type ref to CL_OBJECT_COLLECTION_ITERATOR .
  methods IS_EMPTY
    returning
      value(IS_EMPTY) type FLAG .
  methods REMOVE
    importing
      !IP_STYLE type ref to ZCL_EXCEL_STYLE .
  methods SIZE
    returning
      value(EP_SIZE) type I .
  methods REGISTER_NEW_STYLE
    importing
      !IO_STYLE type ref to ZCL_EXCEL_STYLE
    returning
      value(EP_STYLE_CODE) type I .</publicSection>
  <protectedSection>*&quot;* protected components of class ZABAP_EXCEL_WORKSHEETS
*&quot;* do not include other source files here!!!
protected section.</protectedSection>
  <privateSection>*&quot;* private components of class ZCL_EXCEL_STYLES
*&quot;* do not include other source files here!!!
private section.

  data STYLES type ref to CL_OBJECT_COLLECTION .</privateSection>
  <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>
  <attribute CLSNAME="ZCL_EXCEL_STYLES" CMPNAME="STYLES" VERSION="1" LANGU="E" EXPOSURE="0" STATE="1" EDITORDER="1 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="3" TYPE="CL_OBJECT_COLLECTION" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <method CLSNAME="ZCL_EXCEL_STYLES" CMPNAME="ADD" VERSION="1" LANGU="E" DESCRIPT="Adds an Element to the Collection" EXPOSURE="2" STATE="1" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100704" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_STYLES" CMPNAME="ADD" SCONAME="IP_STYLE" VERSION="1" LANGU="E" DESCRIPT="Worksheet" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100628" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="3" TYPE="ZCL_EXCEL_STYLE"/>
   <source>METHOD add.


  styles-&gt;add( ip_style ).
ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_STYLES" CMPNAME="CLEAR" VERSION="1" LANGU="E" DESCRIPT="Initializes the Collection" EXPOSURE="2" STATE="1" EDITORDER="2 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100704" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <source>METHOD clear.


  styles-&gt;clear( ).
ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_STYLES" CMPNAME="CONSTRUCTOR" VERSION="1" LANGU="E" DESCRIPT="CONSTRUCTOR" EXPOSURE="2" STATE="1" EDITORDER="3 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" MTDTYPE="2" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <source>METHOD constructor.


  CREATE OBJECT styles.
ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_STYLES" CMPNAME="GET" VERSION="1" LANGU="E" DESCRIPT="Gets Element" EXPOSURE="2" STATE="1" EDITORDER="4 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_STYLES" CMPNAME="GET" SCONAME="IP_INDEX" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="I"/>
   <parameter CLSNAME="ZCL_EXCEL_STYLES" CMPNAME="GET" SCONAME="EO_STYLE" VERSION="1" LANGU="E" DESCRIPT="Style" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100628" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="3" TYPE="ZCL_EXCEL_STYLE"/>
   <source>METHOD get.


  eo_style ?= styles-&gt;if_object_collection~get( ip_index ).
ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_STYLES" CMPNAME="GET_ITERATOR" VERSION="1" LANGU="E" DESCRIPT="Returns an iterator" EXPOSURE="2" STATE="1" EDITORDER="5 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_STYLES" CMPNAME="GET_ITERATOR" SCONAME="EO_ITERATOR" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="3" TYPE="CL_OBJECT_COLLECTION_ITERATOR"/>
   <source>METHOD get_iterator.


  eo_iterator ?= styles-&gt;if_object_collection~get_iterator( ).
ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_STYLES" CMPNAME="IS_EMPTY" VERSION="1" LANGU="E" DESCRIPT="Checks whether elements are contained" EXPOSURE="2" STATE="1" EDITORDER="6 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_STYLES" CMPNAME="IS_EMPTY" SCONAME="IS_EMPTY" VERSION="1" LANGU="E" DESCRIPT="General Flag" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="FLAG"/>
   <source>METHOD is_empty.


  is_empty = styles-&gt;if_object_collection~is_empty( ).
ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_STYLES" CMPNAME="REGISTER_NEW_STYLE" VERSION="1" LANGU="E" DESCRIPT="Register a new style" EXPOSURE="2" STATE="1" EDITORDER="9 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100704" CHANGEDBY="FEMIA" CHANGEDON="20100704" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_STYLES" CMPNAME="REGISTER_NEW_STYLE" SCONAME="IO_STYLE" VERSION="1" LANGU="E" DESCRIPT="Style" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100704" CHANGEDON="00000000" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="3" TYPE="ZCL_EXCEL_STYLE"/>
   <parameter CLSNAME="ZCL_EXCEL_STYLES" CMPNAME="REGISTER_NEW_STYLE" SCONAME="EP_STYLE_CODE" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100704" CHANGEDBY="FEMIA" CHANGEDON="20100704" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="I"/>
   <source>METHOD register_new_style.


  me-&gt;add( io_style ).
  ep_style_code = me-&gt;size( ) - 1. &quot;style count starts from 0
ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_STYLES" CMPNAME="REMOVE" VERSION="1" LANGU="E" DESCRIPT="Deletes an Element from the Collection" EXPOSURE="2" STATE="1" EDITORDER="7 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_STYLES" CMPNAME="REMOVE" SCONAME="IP_STYLE" VERSION="1" LANGU="E" DESCRIPT="Worksheet" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDBY="FEMIA" CHANGEDON="20100628" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="3" TYPE="ZCL_EXCEL_STYLE"/>
   <source>METHOD remove.


  styles-&gt;remove( ip_style ).
ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_STYLES" CMPNAME="SIZE" VERSION="1" LANGU="E" DESCRIPT="Specifies number of contained elements" EXPOSURE="2" STATE="1" EDITORDER="8 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_STYLES" CMPNAME="SIZE" SCONAME="EP_SIZE" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100628" CHANGEDON="00000000" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="I"/>
   <source>METHOD size.


  ep_size = styles-&gt;if_object_collection~size( ).
ENDMETHOD.</source>
  </method>
 </CLAS>
 <CLAS CLSNAME="ZCL_EXCEL_STYLES_CONDITIONAL" VERSION="1" LANGU="E" DESCRIPT="Styles conditional collection" UUID="57A5354C6579E82CE1000000C0A8FA19" CATEGORY="00" EXPOSURE="2" STATE="1" RELEASE="0" AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDBY="FEMIA" CHANGEDON="20100708" CHGDANYON="00000000" CLSFINAL="X" CLSCCINCL="X" FIXPT="X" UNICODE="X" R3RELEASE="701" CLSBCCAT="00" DURATION_TYPE="0 " RISK_LEVEL="0 ">
  <publicSection>class ZCL_EXCEL_STYLES_CONDITIONAL definition
  public
  final
  create public .

*&quot;* public components of class ZCL_EXCEL_STYLES_CONDITIONAL
*&quot;* do not include other source files here!!!
public section.

  methods ADD
    importing
      !IP_STYLE_CONDITIONAL type ref to ZCL_EXCEL_STYLE_CONDITIONAL .
  methods CLEAR .
  methods CONSTRUCTOR .
  methods GET
    importing
      !IP_INDEX type ZEXCEL_ACTIVE_WORKSHEET
    returning
      value(EO_STYLE_CONDITIONAL) type ref to ZCL_EXCEL_STYLE_CONDITIONAL .
  methods GET_ITERATOR
    returning
      value(EO_ITERATOR) type ref to CL_OBJECT_COLLECTION_ITERATOR .
  methods IS_EMPTY
    returning
      value(IS_EMPTY) type FLAG .
  methods REMOVE
    importing
      !IP_STYLE_CONDITIONAL type ref to ZCL_EXCEL_STYLE_CONDITIONAL .
  methods SIZE
    returning
      value(EP_SIZE) type I .</publicSection>
  <protectedSection>*&quot;* protected components of class ZABAP_EXCEL_WORKSHEETS
*&quot;* do not include other source files here!!!
protected section.</protectedSection>
  <privateSection>*&quot;* private components of class ZCL_EXCEL_STYLES_CONDITIONAL
*&quot;* do not include other source files here!!!
private section.

  data STYLES_CONDITIONAL type ref to CL_OBJECT_COLLECTION .</privateSection>
  <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>
  <attribute CLSNAME="ZCL_EXCEL_STYLES_CONDITIONAL" CMPNAME="STYLES_CONDITIONAL" VERSION="1" LANGU="E" EXPOSURE="0" STATE="1" EDITORDER="1 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDON="00000000" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="3" TYPE="CL_OBJECT_COLLECTION" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
  <method CLSNAME="ZCL_EXCEL_STYLES_CONDITIONAL" CMPNAME="ADD" VERSION="1" LANGU="E" DESCRIPT="Adds an Element to the Collection" EXPOSURE="2" STATE="1" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDON="00000000" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_STYLES_CONDITIONAL" CMPNAME="ADD" SCONAME="IP_STYLE_CONDITIONAL" VERSION="1" LANGU="E" DESCRIPT="Worksheet" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDON="00000000" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="3" TYPE="ZCL_EXCEL_STYLE_CONDITIONAL"/>
   <source>METHOD add.
  styles_conditional-&gt;add( ip_style_conditional ).
ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_STYLES_CONDITIONAL" CMPNAME="CLEAR" VERSION="1" LANGU="E" DESCRIPT="Initializes the Collection" EXPOSURE="2" STATE="1" EDITORDER="2 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDON="00000000" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <source>METHOD clear.
  styles_conditional-&gt;clear( ).
ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_STYLES_CONDITIONAL" CMPNAME="CONSTRUCTOR" VERSION="1" LANGU="E" DESCRIPT="CONSTRUCTOR" EXPOSURE="2" STATE="1" EDITORDER="3 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDON="00000000" MTDTYPE="2" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <source>METHOD constructor.

  CREATE OBJECT styles_conditional.

ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_STYLES_CONDITIONAL" CMPNAME="GET" VERSION="1" LANGU="E" DESCRIPT="Gets Element" EXPOSURE="2" STATE="1" EDITORDER="4 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDON="00000000" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_STYLES_CONDITIONAL" CMPNAME="GET" SCONAME="IP_INDEX" VERSION="1" LANGU="E" DESCRIPT="Active Worksheet" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDON="00000000" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_ACTIVE_WORKSHEET"/>
   <parameter CLSNAME="ZCL_EXCEL_STYLES_CONDITIONAL" CMPNAME="GET" SCONAME="EO_STYLE_CONDITIONAL" VERSION="1" LANGU="E" DESCRIPT="Font Style" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDBY="FEMIA" CHANGEDON="20100708" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="3" TYPE="ZCL_EXCEL_STYLE_CONDITIONAL"/>
   <source>METHOD get.
  DATA lv_index TYPE i.
  lv_index = ip_index.
  eo_style_conditional ?= styles_conditional-&gt;if_object_collection~get( lv_index ).
ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_STYLES_CONDITIONAL" CMPNAME="GET_ITERATOR" VERSION="1" LANGU="E" DESCRIPT="Returns an iterator" EXPOSURE="2" STATE="1" EDITORDER="5 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDON="00000000" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_STYLES_CONDITIONAL" CMPNAME="GET_ITERATOR" SCONAME="EO_ITERATOR" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDON="00000000" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="3" TYPE="CL_OBJECT_COLLECTION_ITERATOR"/>
   <source>METHOD get_iterator.
  eo_iterator ?= styles_conditional-&gt;if_object_collection~get_iterator( ).
ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_STYLES_CONDITIONAL" CMPNAME="IS_EMPTY" VERSION="1" LANGU="E" DESCRIPT="Checks whether elements are contained" EXPOSURE="2" STATE="1" EDITORDER="6 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDON="00000000" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_STYLES_CONDITIONAL" CMPNAME="IS_EMPTY" SCONAME="IS_EMPTY" VERSION="1" LANGU="E" DESCRIPT="General Flag" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDON="00000000" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="FLAG"/>
   <source>METHOD is_empty.
  is_empty = styles_conditional-&gt;if_object_collection~is_empty( ).
ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_STYLES_CONDITIONAL" CMPNAME="REMOVE" VERSION="1" LANGU="E" DESCRIPT="Deletes an Element from the Collection" EXPOSURE="2" STATE="1" EDITORDER="7 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDON="00000000" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_STYLES_CONDITIONAL" CMPNAME="REMOVE" SCONAME="IP_STYLE_CONDITIONAL" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDON="00000000" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="3" TYPE="ZCL_EXCEL_STYLE_CONDITIONAL"/>
   <source>METHOD remove.
  styles_conditional-&gt;remove( ip_style_conditional ).
ENDMETHOD.</source>
  </method>
  <method CLSNAME="ZCL_EXCEL_STYLES_CONDITIONAL" CMPNAME="SIZE" VERSION="1" LANGU="E" DESCRIPT="Specifies number of contained elements" EXPOSURE="2" STATE="1" EDITORDER="8 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDON="00000000" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
   <parameter CLSNAME="ZCL_EXCEL_STYLES_CONDITIONAL" CMPNAME="SIZE" SCONAME="EP_SIZE" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20100708" CHANGEDON="00000000" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="I"/>
   <source>METHOD size.
  ep_size = styles_conditional-&gt;if_object_collection~size( ).
ENDMETHOD.</source>
  </method>
 </CLAS>
 <DOMA DOMNAME="ZEXCEL_FORMAT" DDLANGUAGE="E" DATATYPE="CHAR" LENG="000004" OUTPUTLEN="000004" DECIMALS="000000" VALEXI="X" MASKLEN="0000" DDTEXT="File format" AUTHCLASS="00" AS4USER="FEMIA" AS4DATE="20100628" AS4TIME="155425">
  <dd07v DOMNAME="ZEXCEL_FORMAT" VALPOS="0001" DDLANGUAGE="E" DOMVALUE_L="XLSX" DDTEXT="Excel 2007 workbook (.xlsx)"/>
  <dd07v DOMNAME="ZEXCEL_FORMAT" VALPOS="0002" DDLANGUAGE="E" DOMVALUE_L="XLS" DDTEXT="Excel 2003 workbook (.xls)"/>
 </DOMA>
 <DTEL ROLLNAME="ZEXCEL_SHEET_STATE" DDLANGUAGE="E" DOMNAME="CHAR20" ROUTPUTLEN="000000" HEADLEN="20" SCRLEN1="10" SCRLEN2="15" SCRLEN3="20" DDTEXT="Sheet state" REPTEXT="Sheet state" SCRTEXT_S="State" SCRTEXT_M="Sheet state" SCRTEXT_L="Sheet state" AUTHCLASS="00" AS4USER="FEMIA" AS4DATE="20100629" AS4TIME="102247" DTELMASTER="E" DATATYPE="CHAR" LENG="000020" DECIMALS="000000" OUTPUTLEN="000020" REFKIND="D">
  <tpara/>
 </DTEL>
 <DTEL ROLLNAME="ZEXCEL_SHEET_PAPER_SIZE" DDLANGUAGE="E" DOMNAME="INT1" ROUTPUTLEN="000000" HEADLEN="09" SCRLEN1="09" SCRLEN2="09" SCRLEN3="09" DDTEXT="Fill Type" REPTEXT="Fill Type" SCRTEXT_S="Fill Type" SCRTEXT_M="Fill Type" SCRTEXT_L="Fill Type" AUTHCLASS="00" AS4USER="FEMIA" AS4DATE="20100629" AS4TIME="104727" DTELMASTER="E" DATATYPE="INT1" LENG="000003" DECIMALS="000000" OUTPUTLEN="000003" REFKIND="D">
  <tpara/>
 </DTEL>
 <DTEL ROLLNAME="ZEXCEL_SHEET_ORIENATATION" DDLANGUAGE="E" DOMNAME="CHAR20" ROUTPUTLEN="000000" HEADLEN="20" SCRLEN1="10" SCRLEN2="17" SCRLEN3="20" DDTEXT="Sheet orientation" REPTEXT="Sheet orientation" SCRTEXT_S="Orientat." SCRTEXT_M="Sheet orientation" SCRTEXT_L="Sheet orientation" AUTHCLASS="00" AS4USER="FEMIA" AS4DATE="20100629" AS4TIME="105348" DTELMASTER="E" DATATYPE="CHAR" LENG="000020" DECIMALS="000000" OUTPUTLEN="000020" REFKIND="D">
  <tpara/>
 </DTEL>
 <DTEL ROLLNAME="ZEXCEL_SCALECROP" DDLANGUAGE="E" DOMNAME="FLAG" ROUTPUTLEN="000000" HEADLEN="55" SCRLEN1="10" SCRLEN2="15" SCRLEN3="20" DDTEXT="ScaleCrop" REPTEXT="ScaleCrop" SCRTEXT_S="ScaleCrop" SCRTEXT_M="ScaleCrop" SCRTEXT_L="ScaleCrop" AUTHCLASS="00" AS4USER="FEMIA" AS4DATE="20100701" AS4TIME="173224" DTELMASTER="E" DATATYPE="CHAR" LENG="000001" DECIMALS="000000" OUTPUTLEN="000001" VALEXI="X" REFKIND="D">
  <tpara/>
 </DTEL>
 <DTEL ROLLNAME="ZEXCEL_ROTATION" DDLANGUAGE="E" DOMNAME="DEC_15_3" ROUTPUTLEN="000000" HEADLEN="19" SCRLEN1="10" SCRLEN2="15" SCRLEN3="20" DDTEXT="Rotation" REPTEXT="Rotation" SCRTEXT_S="Rotation" SCRTEXT_M="Rotation" SCRTEXT_L="Rotation" AUTHCLASS="00" AS4USER="FEMIA" AS4DATE="20100628" AS4TIME="175104" DTELMASTER="E" DATATYPE="DEC" LENG="000015" DECIMALS="000003" OUTPUTLEN="000019" REFKIND="D">
  <tpara/>
 </DTEL>
 <DTEL ROLLNAME="ZEXCEL_REVISIONSPASSWORD" DDLANGUAGE="E" DOMNAME="TEXT80" ROUTPUTLEN="000000" HEADLEN="55" SCRLEN1="10" SCRLEN2="20" SCRLEN3="20" DDTEXT="Revisions password" REPTEXT="Revisions password" SCRTEXT_S="Password" SCRTEXT_M="Revisions password" SCRTEXT_L="Revisions password" AUTHCLASS="00" AS4USER="FEMIA" AS4DATE="20100628" AS4TIME="151410" DTELMASTER="E" DATATYPE="CHAR" LENG="000080" DECIMALS="000000" OUTPUTLEN="000080" LOWERCASE="X" REFKIND="D">
  <tpara/>
 </DTEL>
 <DTEL ROLLNAME="ZEXCEL_PROTECTION" DDLANGUAGE="E" DOMNAME="CHAR20" ROUTPUTLEN="000000" HEADLEN="20" SCRLEN1="10" SCRLEN2="15" SCRLEN3="20" DDTEXT="Protection" REPTEXT="Protection" SCRTEXT_S="Protection" SCRTEXT_M="Protection" SCRTEXT_L="Protection" AUTHCLASS="00" AS4USER="FEMIA" AS4DATE="20100628" AS4TIME="184716" DTELMASTER="E" DATATYPE="CHAR" LENG="000020" DECIMALS="000000" OUTPUTLEN="000020" REFKIND="D">
  <tpara/>
 </DTEL>
 <DTEL ROLLNAME="ZEXCEL_NUMBER_FORMAT" DDLANGUAGE="E" DOMNAME="CHAR20" ROUTPUTLEN="000000" HEADLEN="20" SCRLEN1="10" SCRLEN2="15" SCRLEN3="20" DDTEXT="Number format" REPTEXT="Number format" SCRTEXT_S="Format" SCRTEXT_M="Number format" SCRTEXT_L="Number format" AUTHCLASS="00" AS4USER="FEMIA" AS4DATE="20100628" AS4TIME="183529" DTELMASTER="E" DATATYPE="CHAR" LENG="000020" DECIMALS="000000" OUTPUTLEN="000020" REFKIND="D">
  <tpara/>
 </DTEL>
 <DTEL ROLLNAME="ZEXCEL_KEYWORDS" DDLANGUAGE="E" DOMNAME="TEXT80" ROUTPUTLEN="000000" HEADLEN="55" SCRLEN1="10" SCRLEN2="15" SCRLEN3="20" DDTEXT="Keywords" REPTEXT="Keywords" SCRTEXT_S="Keywords" SCRTEXT_M="Keywords" SCRTEXT_L="Keywords" AUTHCLASS="00" AS4USER="FEMIA" AS4DATE="20100628" AS4TIME="145741" DTELMASTER="E" DATATYPE="CHAR" LENG="000080" DECIMALS="000000" OUTPUTLEN="000080" LOWERCASE="X" REFKIND="D">
  <tpara/>
 </DTEL>
 <DTEL ROLLNAME="ZEXCEL_INDENT" DDLANGUAGE="E" DOMNAME="INT1" ROUTPUTLEN="000000" HEADLEN="13" SCRLEN1="10" SCRLEN2="15" SCRLEN3="20" DDTEXT="Indent" REPTEXT="Indent" SCRTEXT_S="Indent" SCRTEXT_M="Indent" SCRTEXT_L="Indent" AUTHCLASS="00" AS4USER="FEMIA" AS4DATE="20100628" AS4TIME="183128" DTELMASTER="E" DATATYPE="INT1" LENG="000003" DECIMALS="000000" OUTPUTLEN="000003" REFKIND="D">
  <tpara/>
 </DTEL>
 <DTEL ROLLNAME="ZEXCEL_GRAPH_TYPE" DDLANGUAGE="E" DOMNAME="INT1" ROUTPUTLEN="000000" HEADLEN="10" SCRLEN1="10" SCRLEN2="15" SCRLEN3="20" DDTEXT="Graph type" REPTEXT="Graph type" SCRTEXT_S="Graph type" SCRTEXT_M="Graph type" SCRTEXT_L="Graph type" AUTHCLASS="00" AS4USER="FEMIA" AS4DATE="20100708" AS4TIME="170025" DTELMASTER="E" DATATYPE="INT1" LENG="000003" DECIMALS="000000" OUTPUTLEN="000003" REFKIND="D">
  <tpara/>
 </DTEL>
 <DTEL ROLLNAME="ZEXCEL_FORMAT" DDLANGUAGE="E" DOMNAME="ZEXCEL_FORMAT" ROUTPUTLEN="000000" HEADLEN="11" SCRLEN1="10" SCRLEN2="15" SCRLEN3="20" DDTEXT="File format" REPTEXT="File format" SCRTEXT_S="File type" SCRTEXT_M="File format" SCRTEXT_L="File format" AUTHCLASS="00" AS4USER="FEMIA" AS4DATE="20100628" AS4TIME="155538" DTELMASTER="E" DATATYPE="CHAR" LENG="000004" DECIMALS="000000" OUTPUTLEN="000004" VALEXI="X" REFKIND="D">
  <tpara/>
 </DTEL>
 <DTEL ROLLNAME="ZEXCEL_FONT" DDLANGUAGE="E" DOMNAME="CHAR10" ROUTPUTLEN="000000" HEADLEN="04" SCRLEN1="04" SCRLEN2="04" SCRLEN3="04" DDTEXT="Font" REPTEXT="Font" SCRTEXT_S="Font" SCRTEXT_M="Font" SCRTEXT_L="Font" AUTHCLASS="00" AS4USER="FEMIA" AS4DATE="20100628" AS4TIME="163757" DTELMASTER="E" DATATYPE="CHAR" LENG="000010" DECIMALS="000000" OUTPUTLEN="000010" REFKIND="D">
  <tpara/>
 </DTEL>
 <DTEL ROLLNAME="ZEXCEL_WORKSHEETS_NAME" DDLANGUAGE="E" DOMNAME="TEXT80" ROUTPUTLEN="000000" HEADLEN="55" SCRLEN1="10" SCRLEN2="15" SCRLEN3="20" DDTEXT="Worksheets name" REPTEXT="Worksheets name" SCRTEXT_S="Name" SCRTEXT_M="Worksheets name" SCRTEXT_L="Worksheets name" AUTHCLASS="00" AS4USER="FEMIA" AS4DATE="20100701" AS4TIME="174843" DTELMASTER="E" DATATYPE="CHAR" LENG="000080" DECIMALS="000000" OUTPUTLEN="000080" LOWERCASE="X" REFKIND="D">
  <tpara/>
 </DTEL>
 <DTEL ROLLNAME="ZEXCEL_WORKBOOKPASSWORD" DDLANGUAGE="E" DOMNAME="TEXT80" ROUTPUTLEN="000000" HEADLEN="55" SCRLEN1="10" SCRLEN2="20" SCRLEN3="20" DDTEXT="Workbook password" REPTEXT="Workbook password" SCRTEXT_S="Password" SCRTEXT_M="Workbook password" SCRTEXT_L="Workbook password" AUTHCLASS="00" AS4USER="FEMIA" AS4DATE="20100628" AS4TIME="151443" DTELMASTER="E" DATATYPE="CHAR" LENG="000080" DECIMALS="000000" OUTPUTLEN="000080" LOWERCASE="X" REFKIND="D">
  <tpara/>
 </DTEL>
 <DTEL ROLLNAME="ZEXCEL_TITLE" DDLANGUAGE="E" DOMNAME="TEXT80" ROUTPUTLEN="000000" HEADLEN="55" SCRLEN1="10" SCRLEN2="15" SCRLEN3="20" DDTEXT="Title" REPTEXT="Title" SCRTEXT_S="Title" SCRTEXT_M="Title" SCRTEXT_L="Title" AUTHCLASS="00" AS4USER="FEMIA" AS4DATE="20100628" AS4TIME="145528" DTELMASTER="E" DATATYPE="CHAR" LENG="000080" DECIMALS="000000" OUTPUTLEN="000080" LOWERCASE="X" REFKIND="D">
  <tpara/>
 </DTEL>
 <DTEL ROLLNAME="ZEXCEL_TEXT_ROTATION" DDLANGUAGE="E" DOMNAME="INT1" ROUTPUTLEN="000000" HEADLEN="13" SCRLEN1="10" SCRLEN2="15" SCRLEN3="20" DDTEXT="Text Rotation" REPTEXT="Text Rotation" SCRTEXT_S="Rotation" SCRTEXT_M="Text Rotation" SCRTEXT_L="Text Rotation" AUTHCLASS="00" AS4USER="FEMIA" AS4DATE="20100628" AS4TIME="181018" DTELMASTER="E" DATATYPE="INT1" LENG="000003" DECIMALS="000000" OUTPUTLEN="000003" REFKIND="D">
  <tpara/>
 </DTEL>
 <DTEL ROLLNAME="ZEXCEL_SUBJECT" DDLANGUAGE="E" DOMNAME="TEXT80" ROUTPUTLEN="000000" HEADLEN="55" SCRLEN1="10" SCRLEN2="15" SCRLEN3="20" DDTEXT="Subject" REPTEXT="Subject" SCRTEXT_S="Subject" SCRTEXT_M="Subject" SCRTEXT_L="Subject" AUTHCLASS="00" AS4USER="FEMIA" AS4DATE="20100628" AS4TIME="145646" DTELMASTER="E" DATATYPE="CHAR" LENG="000080" DECIMALS="000000" OUTPUTLEN="000080" LOWERCASE="X" REFKIND="D">
  <tpara/>
 </DTEL>
 <DTEL ROLLNAME="ZEXCEL_STYLE_PRIORITY" DDLANGUAGE="E" DOMNAME="INT1" ROUTPUTLEN="000000" HEADLEN="14" SCRLEN1="10" SCRLEN2="15" SCRLEN3="20" DDTEXT="Style Priority" REPTEXT="Style Priority" SCRTEXT_S="Priority" SCRTEXT_M="Style Priority" SCRTEXT_L="Style Priority" AUTHCLASS="00" AS4USER="FEMIA" AS4DATE="20100708" AS4TIME="172619" DTELMASTER="E" DATATYPE="INT1" LENG="000003" DECIMALS="000000" OUTPUTLEN="000003" REFKIND="D">
  <tpara/>
 </DTEL>
 <DTEL ROLLNAME="ZEXCEL_STYLE_FORMULA" DDLANGUAGE="E" DOMNAME="STRING" ROUTPUTLEN="000000" HEADLEN="13" SCRLEN1="10" SCRLEN2="15" SCRLEN3="20" DDTEXT="Style formula" REPTEXT="Style formula" SCRTEXT_S="Formula" SCRTEXT_M="Style formula" SCRTEXT_L="Style formula" AUTHCLASS="00" AS4USER="FEMIA" AS4DATE="20100708" AS4TIME="172713" DTELMASTER="E" DATATYPE="STRG" LENG="000000" DECIMALS="000000" OUTPUTLEN="000000" REFKIND="D">
  <tpara/>
 </DTEL>
 <DTEL ROLLNAME="ZEXCEL_STYLE_FONT_SCHEME" DDLANGUAGE="E" DOMNAME="CHAR20" ROUTPUTLEN="000000" HEADLEN="20" SCRLEN1="10" SCRLEN2="15" SCRLEN3="20" DDTEXT="Font scheme" REPTEXT="Font scheme" SCRTEXT_S="Scheme" SCRTEXT_M="Font scheme" SCRTEXT_L="Font scheme" AUTHCLASS="00" AS4USER="FEMIA" AS4DATE="20100704" AS4TIME="222313" DTELMASTER="E" DATATYPE="CHAR" LENG="000020" DECIMALS="000000" OUTPUTLEN="000020" REFKIND="D">
  <tpara/>
 </DTEL>
 <DTEL ROLLNAME="ZEXCEL_STYLE_COLOR_COMPONENT" DDLANGUAGE="E" DOMNAME="CHAR2" ROUTPUTLEN="000000" HEADLEN="15" SCRLEN1="10" SCRLEN2="15" SCRLEN3="15" DDTEXT="Color Component" REPTEXT="Color Component" SCRTEXT_S="Color Comp" SCRTEXT_M="Color Component" SCRTEXT_L="Color Component" AUTHCLASS="00" AS4USER="FEMIA" AS4DATE="20100705" AS4TIME="115840" DTELMASTER="E" DATATYPE="CHAR" LENG="000002" DECIMALS="000000" OUTPUTLEN="000002" REFKIND="D">
  <tpara/>
 </DTEL>
 <DTEL ROLLNAME="ZEXCEL_STYLE_COLOR_ARGB" DDLANGUAGE="E" DOMNAME="CHAR8" ROUTPUTLEN="000000" HEADLEN="10" SCRLEN1="10" SCRLEN2="15" SCRLEN3="20" DDTEXT="Color ARGB" REPTEXT="Color ARGB" SCRTEXT_S="Color ARGB" SCRTEXT_M="Color ARGB" SCRTEXT_L="Color ARGB" AUTHCLASS="00" AS4USER="FEMIA" AS4DATE="20100705" AS4TIME="115643" DTELMASTER="E" DATATYPE="CHAR" LENG="000008" DECIMALS="000000" OUTPUTLEN="000008" REFKIND="D">
  <tpara/>
 </DTEL>
 <DTEL ROLLNAME="ZEXCEL_SHEET_TITLE" DDLANGUAGE="E" DOMNAME="TEXT16" ROUTPUTLEN="000000" HEADLEN="55" SCRLEN1="10" SCRLEN2="15" SCRLEN3="20" DDTEXT="Title" REPTEXT="Title" SCRTEXT_S="Title" SCRTEXT_M="Title" SCRTEXT_L="Title" AUTHCLASS="00" AS4USER="FEMIA" AS4DATE="20100707" AS4TIME="171946" DTELMASTER="E" DATATYPE="CHAR" LENG="000016" DECIMALS="000000" OUTPUTLEN="000016" LOWERCASE="X" REFKIND="D">
  <tpara/>
 </DTEL>
 <DTEL ROLLNAME="ZEXCEL_FILL_TYPE" DDLANGUAGE="E" DOMNAME="CHAR20" ROUTPUTLEN="000000" HEADLEN="09" SCRLEN1="09" SCRLEN2="09" SCRLEN3="09" DDTEXT="Fill Type" REPTEXT="Fill Type" SCRTEXT_S="Fill Type" SCRTEXT_M="Fill Type" SCRTEXT_L="Fill Type" AUTHCLASS="00" AS4USER="FEMIA" AS4DATE="20100628" AS4TIME="175141" DTELMASTER="E" DATATYPE="CHAR" LENG="000020" DECIMALS="000000" OUTPUTLEN="000020" REFKIND="D">
  <tpara/>
 </DTEL>
 <DTEL ROLLNAME="ZEXCEL_CELL_ROW" DDLANGUAGE="E" DOMNAME="INT4" ROUTPUTLEN="000000" HEADLEN="08" SCRLEN1="08" SCRLEN2="08" SCRLEN3="08" DDTEXT="Cell Row" REPTEXT="Cell Row" SCRTEXT_S="Row" SCRTEXT_M="Cell Row" SCRTEXT_L="Cell Row" AUTHCLASS="00" AS4USER="FEMIA" AS4DATE="20100629" AS4TIME="112227" DTELMASTER="E" DATATYPE="INT4" LENG="000010" DECIMALS="000000" OUTPUTLEN="000010" SIGNFLAG="X" REFKIND="D">
  <tpara/>
 </DTEL>
 <DTEL ROLLNAME="ZEXCEL_CELL_FORMULA" DDLANGUAGE="E" DOMNAME="STRING" ROUTPUTLEN="000000" HEADLEN="12" SCRLEN1="10" SCRLEN2="15" SCRLEN3="20" DDTEXT="Cell Formula" REPTEXT="Cell Formula" SCRTEXT_S="Formula" SCRTEXT_M="Cell Formula" SCRTEXT_L="Cell Formula" AUTHCLASS="00" AS4USER="FEMIA" AS4DATE="20100710" AS4TIME="100133" DTELMASTER="E" DATATYPE="STRG" LENG="000000" DECIMALS="000000" OUTPUTLEN="000000" REFKIND="D">
  <tpara/>
 </DTEL>
 <DTEL ROLLNAME="ZEXCEL_CELL_COORDS" DDLANGUAGE="E" DOMNAME="STRING" ROUTPUTLEN="000000" HEADLEN="25" SCRLEN1="10" SCRLEN2="16" SCRLEN3="25" DDTEXT="Cell coordinates as Excel" REPTEXT="Cell coordinates as Excel" SCRTEXT_S="Cell coord" SCRTEXT_M="Cell coordinates" SCRTEXT_L="Cell coordinates as Excel" AUTHCLASS="00" AS4USER="FEMIA" AS4DATE="20100704" AS4TIME="162915" DTELMASTER="E" DATATYPE="STRG" LENG="000000" DECIMALS="000000" OUTPUTLEN="000000" REFKIND="D">
  <tpara/>
 </DTEL>
 <DTEL ROLLNAME="ZEXCEL_CELL_COLUMN_ALPHA" DDLANGUAGE="E" DOMNAME="CHAR2" ROUTPUTLEN="000000" HEADLEN="11" SCRLEN1="06" SCRLEN2="11" SCRLEN3="11" DDTEXT="Cell Column" REPTEXT="Cell Column" SCRTEXT_S="Column" SCRTEXT_M="Cell Column" SCRTEXT_L="Cell Column" AUTHCLASS="00" AS4USER="FEMIA" AS4DATE="20100629" AS4TIME="113748" DTELMASTER="E" DATATYPE="CHAR" LENG="000002" DECIMALS="000000" OUTPUTLEN="000002" REFKIND="D">
  <tpara/>
 </DTEL>
 <DTEL ROLLNAME="ZEXCEL_CELL_COLUMN" DDLANGUAGE="E" DOMNAME="INT4" ROUTPUTLEN="000000" HEADLEN="11" SCRLEN1="06" SCRLEN2="11" SCRLEN3="11" DDTEXT="Cell Column" REPTEXT="Cell Column" SCRTEXT_S="Column" SCRTEXT_M="Cell Column" SCRTEXT_L="Cell Column" AUTHCLASS="00" AS4USER="FEMIA" AS4DATE="20100629" AS4TIME="112051" DTELMASTER="E" DATATYPE="INT4" LENG="000010" DECIMALS="000000" OUTPUTLEN="000010" SIGNFLAG="X" REFKIND="D">
  <tpara/>
 </DTEL>
 <DTEL ROLLNAME="ZEXCEL_CATEGORY" DDLANGUAGE="E" DOMNAME="TEXT80" ROUTPUTLEN="000000" HEADLEN="55" SCRLEN1="10" SCRLEN2="15" SCRLEN3="20" DDTEXT="Category" REPTEXT="Category" SCRTEXT_S="Category" SCRTEXT_M="Category" SCRTEXT_L="Category" AUTHCLASS="00" AS4USER="FEMIA" AS4DATE="20100628" AS4TIME="145805" DTELMASTER="E" DATATYPE="CHAR" LENG="000080" DECIMALS="000000" OUTPUTLEN="000080" LOWERCASE="X" REFKIND="D">
  <tpara/>
 </DTEL>
 <DTEL ROLLNAME="ZEXCEL_BREAK" DDLANGUAGE="E" DOMNAME="INT1" ROUTPUTLEN="000000" HEADLEN="15" SCRLEN1="10" SCRLEN2="15" SCRLEN3="20" DDTEXT="Worksheet Break" REPTEXT="Worksheet Break" SCRTEXT_S="Break" SCRTEXT_M="Worksheet Break" SCRTEXT_L="Worksheet Break" AUTHCLASS="00" AS4USER="FEMIA" AS4DATE="20100629" AS4TIME="102144" DTELMASTER="E" DATATYPE="INT1" LENG="000003" DECIMALS="000000" OUTPUTLEN="000003" REFKIND="D">
  <tpara/>
 </DTEL>
 <DTEL ROLLNAME="ZEXCEL_BORDER" DDLANGUAGE="E" DOMNAME="CHAR20" ROUTPUTLEN="000000" HEADLEN="12" SCRLEN1="06" SCRLEN2="12" SCRLEN3="12" DDTEXT="Border style" REPTEXT="Border style" SCRTEXT_S="Border" SCRTEXT_M="Border style" SCRTEXT_L="Border style" AUTHCLASS="00" AS4USER="FEMIA" AS4DATE="20100628" AS4TIME="180210" DTELMASTER="E" DATATYPE="CHAR" LENG="000020" DECIMALS="000000" OUTPUTLEN="000020" REFKIND="D">
  <tpara/>
 </DTEL>
 <DTEL ROLLNAME="ZEXCEL_APPVERSION" DDLANGUAGE="E" DOMNAME="CHAR07" ROUTPUTLEN="000000" HEADLEN="19" SCRLEN1="10" SCRLEN2="19" SCRLEN3="20" DDTEXT="Application version" REPTEXT="Application version" SCRTEXT_S="AppVersion" SCRTEXT_M="Application version" SCRTEXT_L="Application version" AUTHCLASS="00" AS4USER="FEMIA" AS4DATE="20100702" AS4TIME="100702" DTELMASTER="E" DATATYPE="CHAR" LENG="000007" DECIMALS="000000" OUTPUTLEN="000007" REFKIND="D">
  <tpara/>
 </DTEL>
 <DTEL ROLLNAME="ZEXCEL_APPLICATION" DDLANGUAGE="E" DOMNAME="TEXT80" ROUTPUTLEN="000000" HEADLEN="55" SCRLEN1="10" SCRLEN2="15" SCRLEN3="20" DDTEXT="Application" REPTEXT="Application" SCRTEXT_S="Applic." SCRTEXT_M="Application" SCRTEXT_L="Application" AUTHCLASS="00" AS4USER="FEMIA" AS4DATE="20100701" AS4TIME="172918" DTELMASTER="E" DATATYPE="CHAR" LENG="000080" DECIMALS="000000" OUTPUTLEN="000080" LOWERCASE="X" REFKIND="D">
  <tpara/>
 </DTEL>
 <DTEL ROLLNAME="ZEXCEL_ALIGNMENT" DDLANGUAGE="E" DOMNAME="CHAR20" ROUTPUTLEN="000000" HEADLEN="09" SCRLEN1="09" SCRLEN2="09" SCRLEN3="09" DDTEXT="Alignment" REPTEXT="Alignment" SCRTEXT_S="Alignment" SCRTEXT_M="Alignment" SCRTEXT_L="Alignment" AUTHCLASS="00" AS4USER="FEMIA" AS4DATE="20100628" AS4TIME="180748" DTELMASTER="E" DATATYPE="CHAR" LENG="000020" DECIMALS="000000" OUTPUTLEN="000020" REFKIND="D">
  <tpara/>
 </DTEL>
 <DTEL ROLLNAME="ZEXCEL_ACTIVE_WORKSHEET" DDLANGUAGE="E" DOMNAME="INT1" ROUTPUTLEN="000000" HEADLEN="16" SCRLEN1="06" SCRLEN2="16" SCRLEN3="16" DDTEXT="Active Worksheet" REPTEXT="Active Worksheet" SCRTEXT_S="Active" SCRTEXT_M="Active Worksheet" SCRTEXT_L="Active Worksheet" AUTHCLASS="00" AS4USER="FEMIA" AS4DATE="20100628" AS4TIME="152531" DTELMASTER="E" DATATYPE="INT1" LENG="000003" DECIMALS="000000" OUTPUTLEN="000003" REFKIND="D">
  <tpara/>
 </DTEL>
 <DTEL ROLLNAME="ZEXCEL_CELL_STYLE" DDLANGUAGE="E" DOMNAME="GUID16" ROUTPUTLEN="000000" HEADLEN="16" SCRLEN1="10" SCRLEN2="16" SCRLEN3="20" DDTEXT="Style identifier" REPTEXT="Style identifier" SCRTEXT_S="Style no" SCRTEXT_M="Style identifier" SCRTEXT_L="Style identifier" AUTHCLASS="00" AS4USER="FEMIA" AS4DATE="20100704" AS4TIME="221000" DTELMASTER="E" DATATYPE="RAW" LENG="000016" DECIMALS="000000" OUTPUTLEN="000032" REFKIND="D">
  <tpara/>
 </DTEL>
 <DTEL ROLLNAME="ZEXCEL_FILL" DDLANGUAGE="E" DOMNAME="CHAR10" ROUTPUTLEN="000000" HEADLEN="04" SCRLEN1="04" SCRLEN2="04" SCRLEN3="04" DDTEXT="Font" REPTEXT="Font" SCRTEXT_S="Font" SCRTEXT_M="Font" SCRTEXT_L="Font" AUTHCLASS="00" AS4USER="FEMIA" AS4DATE="20100628" AS4TIME="175104" DTELMASTER="E" DATATYPE="CHAR" LENG="000010" DECIMALS="000000" OUTPUTLEN="000010" REFKIND="D">
  <tpara/>
 </DTEL>
 <DTEL ROLLNAME="ZEXCEL_DOCSECURITY" DDLANGUAGE="E" DOMNAME="NUMC1" ROUTPUTLEN="000000" HEADLEN="55" SCRLEN1="10" SCRLEN2="15" SCRLEN3="20" DDTEXT="DocSecurity" REPTEXT="DocSecurity" SCRTEXT_S="DocSec." SCRTEXT_M="DocSecurity" SCRTEXT_L="DocSecurity" AUTHCLASS="00" AS4USER="FEMIA" AS4DATE="20100702" AS4TIME="102503" DTELMASTER="E" DATATYPE="NUMC" LENG="000001" DECIMALS="000000" OUTPUTLEN="000001" VALEXI="X" REFKIND="D">
  <tpara/>
 </DTEL>
 <DTEL ROLLNAME="ZEXCEL_DIAGONAL" DDLANGUAGE="E" DOMNAME="INT1" ROUTPUTLEN="000000" HEADLEN="09" SCRLEN1="09" SCRLEN2="09" SCRLEN3="09" DDTEXT="Diagonal" REPTEXT="Fill Type" SCRTEXT_S="Fill Type" SCRTEXT_M="Fill Type" SCRTEXT_L="Fill Type" AUTHCLASS="00" AS4USER="FEMIA" AS4DATE="20100628" AS4TIME="175618" DTELMASTER="E" DATATYPE="INT1" LENG="000003" DECIMALS="000000" OUTPUTLEN="000003" REFKIND="D">
  <tpara/>
 </DTEL>
 <DTEL ROLLNAME="ZEXCEL_DESCRIPTION" DDLANGUAGE="E" DOMNAME="TEXT80" ROUTPUTLEN="000000" HEADLEN="55" SCRLEN1="10" SCRLEN2="15" SCRLEN3="20" DDTEXT="Description" REPTEXT="Description" SCRTEXT_S="Descr." SCRTEXT_M="Description" SCRTEXT_L="Description" AUTHCLASS="00" AS4USER="FEMIA" AS4DATE="20100628" AS4TIME="145725" DTELMASTER="E" DATATYPE="CHAR" LENG="000080" DECIMALS="000000" OUTPUTLEN="000080" LOWERCASE="X" REFKIND="D">
  <tpara/>
 </DTEL>
 <DTEL ROLLNAME="ZEXCEL_CREATOR" DDLANGUAGE="E" DOMNAME="TEXT80" ROUTPUTLEN="000000" HEADLEN="07" SCRLEN1="07" SCRLEN2="07" SCRLEN3="07" DDTEXT="Creator" REPTEXT="Creator" SCRTEXT_S="Creator" SCRTEXT_M="Creator" SCRTEXT_L="Creator" AUTHCLASS="00" AS4USER="FEMIA" AS4DATE="20100628" AS4TIME="145200" DTELMASTER="E" DATATYPE="CHAR" LENG="000080" DECIMALS="000000" OUTPUTLEN="000080" LOWERCASE="X" REFKIND="D">
  <tpara/>
 </DTEL>
 <DTEL ROLLNAME="ZEXCEL_CONDITION_RULE_ICONSET" DDLANGUAGE="E" DOMNAME="CHAR20" ROUTPUTLEN="000000" HEADLEN="22" SCRLEN1="10" SCRLEN2="18" SCRLEN3="22" DDTEXT="Condition rule iconset" REPTEXT="Condition rule iconset" SCRTEXT_S="Cond. rule" SCRTEXT_M="Cond. rule iconset" SCRTEXT_L="Condition rule iconset" AUTHCLASS="00" AS4USER="FEMIA" AS4DATE="20100708" AS4TIME="172922" DTELMASTER="E" DATATYPE="CHAR" LENG="000020" DECIMALS="000000" OUTPUTLEN="000020" REFKIND="D">
  <tpara/>
 </DTEL>
 <DTEL ROLLNAME="ZEXCEL_CONDITION_RULE" DDLANGUAGE="E" DOMNAME="CHAR20" ROUTPUTLEN="000000" HEADLEN="20" SCRLEN1="10" SCRLEN2="15" SCRLEN3="20" DDTEXT="Condition rule" REPTEXT="Condition rule" SCRTEXT_S="Cond. rule" SCRTEXT_M="Condition rule" SCRTEXT_L="Condition rule" AUTHCLASS="00" AS4USER="FEMIA" AS4DATE="20100708" AS4TIME="170658" DTELMASTER="E" DATATYPE="CHAR" LENG="000020" DECIMALS="000000" OUTPUTLEN="000020" REFKIND="D">
  <tpara/>
 </DTEL>
 <DTEL ROLLNAME="ZEXCEL_CONDITION_OPERATOR" DDLANGUAGE="E" DOMNAME="CHAR20" ROUTPUTLEN="000000" HEADLEN="20" SCRLEN1="10" SCRLEN2="18" SCRLEN3="20" DDTEXT="Condition operator" REPTEXT="Condition operator" SCRTEXT_S="Cond. oper" SCRTEXT_M="Condition operator" SCRTEXT_L="Condition operator" AUTHCLASS="00" AS4USER="FEMIA" AS4DATE="20100708" AS4TIME="171214" DTELMASTER="E" DATATYPE="CHAR" LENG="000020" DECIMALS="000000" OUTPUTLEN="000020" REFKIND="D">
  <tpara/>
 </DTEL>
 <DTEL ROLLNAME="ZEXCEL_CONDITIONAL" DDLANGUAGE="E" DOMNAME="CHAR20" ROUTPUTLEN="000000" HEADLEN="20" SCRLEN1="10" SCRLEN2="15" SCRLEN3="20" DDTEXT="Conditional" REPTEXT="Conditional" SCRTEXT_S="Condit." SCRTEXT_M="Conditional" SCRTEXT_L="Conditional" AUTHCLASS="00" AS4USER="FEMIA" AS4DATE="20100628" AS4TIME="184130" DTELMASTER="E" DATATYPE="CHAR" LENG="000020" DECIMALS="000000" OUTPUTLEN="000020" REFKIND="D">
  <tpara/>
 </DTEL>
 <DTEL ROLLNAME="ZEXCEL_COMPANY" DDLANGUAGE="E" DOMNAME="TEXT80" ROUTPUTLEN="000000" HEADLEN="55" SCRLEN1="10" SCRLEN2="15" SCRLEN3="20" DDTEXT="Company" REPTEXT="Company" SCRTEXT_S="Company" SCRTEXT_M="Company" SCRTEXT_L="Company" AUTHCLASS="00" AS4USER="FEMIA" AS4DATE="20100628" AS4TIME="145840" DTELMASTER="E" DATATYPE="CHAR" LENG="000080" DECIMALS="000000" OUTPUTLEN="000080" LOWERCASE="X" REFKIND="D">
  <tpara/>
 </DTEL>
 <DTEL ROLLNAME="ZEXCEL_COLOR" DDLANGUAGE="E" DOMNAME="CHAR8" ROUTPUTLEN="000000" HEADLEN="12" SCRLEN1="06" SCRLEN2="12" SCRLEN3="12" DDTEXT="Color" REPTEXT="Color" SCRTEXT_S="Color" SCRTEXT_M="Color" SCRTEXT_L="Color" AUTHCLASS="00" AS4USER="FEMIA" AS4DATE="20100628" AS4TIME="180424" DTELMASTER="E" DATATYPE="CHAR" LENG="000008" DECIMALS="000000" OUTPUTLEN="000008" REFKIND="D">
  <tpara/>
 </DTEL>
 <DTEL ROLLNAME="ZEXCEL_CELL_VALUE" DDLANGUAGE="E" DOMNAME="STRING" ROUTPUTLEN="000000" HEADLEN="10" SCRLEN1="10" SCRLEN2="15" SCRLEN3="20" DDTEXT="Cell Value" REPTEXT="Cell Value" SCRTEXT_S="Value" SCRTEXT_M="Cell Value" SCRTEXT_L="Cell Value" AUTHCLASS="00" AS4USER="FEMIA" AS4DATE="20100702" AS4TIME="163301" DTELMASTER="E" DATATYPE="STRG" LENG="000000" DECIMALS="000000" OUTPUTLEN="000000" REFKIND="D">
  <tpara/>
 </DTEL>
 <PROG NAME="ZDEMO_EXCEL1" VARCL="X" SUBC="1" CNAM="FEMIA" CDAT="20100711" UNAM="FEMIA" UDAT="20100711" VERN="000011" RSTAT="T" RMAND="001" RLOAD="E" FIXPT="X" SDATE="20100711" STIME="181343" IDATE="20100711" ITIME="181343" UCCHECK="X">
  <textPool>
   <language SPRAS="E">
    <textElement ID="R" ENTRY="Test for excel" LENGTH="14 "/>
   </language>
  </textPool>
  <source>*&amp;---------------------------------------------------------------------*
*&amp; Report  ZIFE_TEST_EXCEL
*&amp;
*&amp;---------------------------------------------------------------------*
*&amp;
*&amp;
*&amp;---------------------------------------------------------------------*

REPORT  zdemo_excel1.

DATA: lo_excel                TYPE REF TO zcl_excel,
      lo_worksheet            TYPE REF TO zcl_excel_worksheet.

DATA: lv_file                 TYPE xstring,
      lv_bytecount            TYPE i,
      lt_file_tab             TYPE STANDARD TABLE OF solisti1.

&quot; Creates active sheet
CREATE OBJECT lo_excel.

&quot; Get active sheet
lo_worksheet = lo_excel-&gt;get_active_worksheet( ).
lo_worksheet-&gt;title = &apos;Sheet1&apos;.
lo_worksheet-&gt;set_cell( ip_column = &apos;B&apos; ip_row = 2 ip_value = &apos;Hello world&apos; ).

lv_file = lo_excel-&gt;save_as( zcl_excel=&gt;c_xlsx ).

&quot; Convert to binary
CALL FUNCTION &apos;SCMS_XSTRING_TO_BINARY&apos;
  EXPORTING
    buffer        = lv_file
  IMPORTING
    output_length = lv_bytecount
  TABLES
    binary_tab    = lt_file_tab.

&quot; Save the file
CALL FUNCTION &apos;GUI_DOWNLOAD&apos;
  EXPORTING
    bin_filesize = lv_bytecount
    filename     = &apos;C:\HelloWorld.xlsx&apos;
    filetype     = &apos;BIN&apos;
  TABLES
    data_tab     = lt_file_tab.</source>
 </PROG>
 <PROG NAME="ZDEMO_EXCEL2" VARCL="X" SUBC="1" CNAM="FEMIA" CDAT="20100711" UNAM="FEMIA" UDAT="20100711" VERN="000011" RSTAT="T" RMAND="001" RLOAD="E" FIXPT="X" SDATE="20100711" STIME="181348" IDATE="20100711" ITIME="181348" UCCHECK="X">
  <textPool>
   <language SPRAS="E">
    <textElement ID="R" ENTRY="Test for excel" LENGTH="14 "/>
   </language>
  </textPool>
  <source>*&amp;---------------------------------------------------------------------*
*&amp; Report  ZIFE_TEST_EXCEL
*&amp;
*&amp;---------------------------------------------------------------------*
*&amp;
*&amp;
*&amp;---------------------------------------------------------------------*

REPORT  zdemo_excel2.

DATA: lo_excel                TYPE REF TO zcl_excel,
      lo_worksheet            TYPE REF TO zcl_excel_worksheet,
      lo_style_bold           TYPE REF TO zcl_excel_style,
      lo_style_underline      TYPE REF TO zcl_excel_style,
      lo_style_filled         TYPE REF TO zcl_excel_style,
      lo_style_border         TYPE REF TO zcl_excel_style,
      lo_style_button         TYPE REF TO zcl_excel_style,
      lo_border_dark          TYPE REF TO zcl_excel_style_border,
      lo_border_light         TYPE REF TO zcl_excel_style_border.

DATA: lv_style_bold_guid      TYPE zexcel_cell_style,
      lv_style_underline_guid TYPE zexcel_cell_style,
      lv_style_filled_guid    TYPE zexcel_cell_style,
      lv_style_border_guid    TYPE zexcel_cell_style,
      lv_style_button_guid    TYPE zexcel_cell_style.

DATA: lv_file                 TYPE xstring,
      lv_bytecount            TYPE i,
      lt_file_tab             TYPE STANDARD TABLE OF solisti1.

&quot; Creates active sheet
CREATE OBJECT lo_excel.

&quot; Create border object
CREATE OBJECT lo_border_dark.
lo_border_dark-&gt;border_color = zcl_excel_style_color=&gt;c_black.
lo_border_dark-&gt;border_style = zcl_excel_style_border=&gt;c_border_thin.
CREATE OBJECT lo_border_light.
lo_border_light-&gt;border_color = zcl_excel_style_color=&gt;c_gray.
lo_border_light-&gt;border_style = zcl_excel_style_border=&gt;c_border_thin.
&quot; Create a bold / italic style
lo_style_bold               = lo_excel-&gt;add_new_style( ).
lo_style_bold-&gt;font-&gt;bold   = abap_true.
lo_style_bold-&gt;font-&gt;italic = abap_true.
lo_style_bold-&gt;font-&gt;color  = zcl_excel_style_color=&gt;c_red.
lv_style_bold_guid          = lo_style_bold-&gt;get_guid( ).
&quot; Create an underline double style
lo_style_underline                        = lo_excel-&gt;add_new_style( ).
lo_style_underline-&gt;font-&gt;underline       = abap_true.
lo_style_underline-&gt;font-&gt;underline_mode  = zcl_excel_style_font=&gt;c_underline_double.
lv_style_underline_guid                   = lo_style_underline-&gt;get_guid( ).
&quot; Create filled style
lo_style_filled                 = lo_excel-&gt;add_new_style( ).
lo_style_filled-&gt;fill-&gt;filltype = zcl_excel_style_fill=&gt;c_fill_solid.
lo_style_filled-&gt;fill-&gt;fgcolor  = zcl_excel_style_color=&gt;c_yellow.
lv_style_filled_guid            = lo_style_filled-&gt;get_guid( ).
&quot; Create border with button effects
lo_style_button                   = lo_excel-&gt;add_new_style( ).
lo_style_button-&gt;borders-&gt;right   = lo_border_dark.
lo_style_button-&gt;borders-&gt;down    = lo_border_dark.
lo_style_button-&gt;borders-&gt;left    = lo_border_light.
lo_style_button-&gt;borders-&gt;top     = lo_border_light.
lv_style_button_guid              = lo_style_button-&gt;get_guid( ).
&quot;Create style with border
lo_style_border                       = lo_excel-&gt;add_new_style( ).
lo_style_border-&gt;borders-&gt;allborders  = lo_border_dark.
lv_style_border_guid                  = lo_style_border-&gt;get_guid( ).

&quot; Get active sheet
lo_worksheet = lo_excel-&gt;get_active_worksheet( ).
lo_worksheet-&gt;title = &apos;Styles&apos;.
lo_worksheet-&gt;set_cell( ip_column = &apos;B&apos; ip_row = 2 ip_value = &apos;Hello world&apos; ).
lo_worksheet-&gt;set_cell( ip_column = &apos;C&apos; ip_row = 3 ip_value = &apos;Bold text&apos; ip_style = lv_style_bold_guid ).
lo_worksheet-&gt;set_cell( ip_column = &apos;D&apos; ip_row = 4 ip_value = &apos;Underlined text&apos; ip_style = lv_style_underline_guid ).
lo_worksheet-&gt;set_cell( ip_column = &apos;B&apos; ip_row = 5 ip_value = &apos;Filled text&apos; ip_style = lv_style_filled_guid ).
lo_worksheet-&gt;set_cell( ip_column = &apos;C&apos; ip_row = 6 ip_value = &apos;Borders&apos; ip_style = lv_style_border_guid ).
lo_worksheet-&gt;set_cell( ip_column = &apos;D&apos; ip_row = 7 ip_value = &apos;I&apos;&apos;m not a button :)&apos; ip_style = lv_style_button_guid ).

lv_file = lo_excel-&gt;save_as( zcl_excel=&gt;c_xlsx ).

&quot; Convert to binary
CALL FUNCTION &apos;SCMS_XSTRING_TO_BINARY&apos;
  EXPORTING
    buffer        = lv_file
  IMPORTING
    output_length = lv_bytecount
  TABLES
    binary_tab    = lt_file_tab.

&quot; Save the file
CALL FUNCTION &apos;GUI_DOWNLOAD&apos;
  EXPORTING
    bin_filesize = lv_bytecount
    filename     = &apos;C:\Styles.xlsx&apos;
    filetype     = &apos;BIN&apos;
  TABLES
    data_tab     = lt_file_tab.</source>
 </PROG>
 <PROG NAME="ZDEMO_EXCEL3" VARCL="X" SUBC="1" CNAM="FEMIA" CDAT="20100711" UNAM="FEMIA" UDAT="20100711" VERN="000011" RSTAT="T" RMAND="001" RLOAD="E" FIXPT="X" SDATE="20100711" STIME="181355" IDATE="20100711" ITIME="181355" UCCHECK="X">
  <textPool>
   <language SPRAS="E">
    <textElement ID="R" ENTRY="Test for excel" LENGTH="14 "/>
   </language>
  </textPool>
  <source>*&amp;---------------------------------------------------------------------*
*&amp; Report  ZIFE_TEST_EXCEL
*&amp;
*&amp;---------------------------------------------------------------------*
*&amp;
*&amp;
*&amp;---------------------------------------------------------------------*

REPORT  zdemo_excel3.

DATA: lo_excel                TYPE REF TO zcl_excel,
      lo_worksheet            TYPE REF TO zcl_excel_worksheet,
      lo_style_header         TYPE REF TO zcl_excel_style,
      lo_style_body           TYPE REF TO zcl_excel_style,
      lo_border_dark          TYPE REF TO zcl_excel_style_border,
      lo_border_light         TYPE REF TO zcl_excel_style_border.

DATA: lv_style_header_guid    TYPE zexcel_cell_style,
      lv_style_body_guid      TYPE zexcel_cell_style.

DATA: lv_file                 TYPE xstring,
      lv_bytecount            TYPE i,
      lt_file_tab             TYPE STANDARD TABLE OF solisti1.

&quot; Creates active sheet
CREATE OBJECT lo_excel.

&quot; Create border object
CREATE OBJECT lo_border_dark.
lo_border_dark-&gt;border_color = zcl_excel_style_color=&gt;c_black.
lo_border_dark-&gt;border_style = zcl_excel_style_border=&gt;c_border_thin.
&quot; Create filled style
lo_style_header                       = lo_excel-&gt;add_new_style( ).
lo_style_header-&gt;fill-&gt;filltype       = zcl_excel_style_fill=&gt;c_fill_solid.
lo_style_header-&gt;fill-&gt;fgcolor        = zcl_excel_style_color=&gt;c_yellow.
lo_style_header-&gt;borders-&gt;allborders  = lo_border_dark.
lv_style_header_guid                  = lo_style_header-&gt;get_guid( ).
&quot;Create style with border
lo_style_body                       = lo_excel-&gt;add_new_style( ).
lo_style_body-&gt;borders-&gt;allborders  = lo_border_dark.
lv_style_body_guid                  = lo_style_body-&gt;get_guid( ).

&quot; Get active sheet
lo_worksheet = lo_excel-&gt;get_active_worksheet( ).
lo_worksheet-&gt;title = &apos;Internal table&apos;.

DATA lt_test TYPE TABLE OF sflight.
SELECT * FROM sflight INTO TABLE lt_test.
lo_worksheet-&gt;set_table( ip_table       = lt_test
                         ip_hdr_style   = lv_style_header_guid
                         ip_body_style  = lv_style_body_guid ).

lv_file = lo_excel-&gt;save_as( zcl_excel=&gt;c_xlsx ).

&quot; Convert to binary
CALL FUNCTION &apos;SCMS_XSTRING_TO_BINARY&apos;
  EXPORTING
    buffer        = lv_file
  IMPORTING
    output_length = lv_bytecount
  TABLES
    binary_tab    = lt_file_tab.

&quot; Save the file
CALL FUNCTION &apos;GUI_DOWNLOAD&apos;
  EXPORTING
    bin_filesize = lv_bytecount
    filename     = &apos;C:\iTab.xlsx&apos;
    filetype     = &apos;BIN&apos;
  TABLES
    data_tab     = lt_file_tab.</source>
 </PROG>
 <PROG NAME="ZDEMO_EXCEL4" VARCL="X" SUBC="1" CNAM="FEMIA" CDAT="20100711" UNAM="FEMIA" UDAT="20100711" VERN="000011" RSTAT="T" RMAND="001" RLOAD="E" FIXPT="X" SDATE="20100711" STIME="181400" IDATE="20100711" ITIME="181400" UCCHECK="X">
  <textPool>
   <language SPRAS="E">
    <textElement ID="R" ENTRY="Test for excel" LENGTH="14 "/>
   </language>
  </textPool>
  <source>*&amp;---------------------------------------------------------------------*
*&amp; Report  ZIFE_TEST_EXCEL
*&amp;
*&amp;---------------------------------------------------------------------*
*&amp;
*&amp;
*&amp;---------------------------------------------------------------------*

REPORT  zdemo_excel4.

DATA: lo_excel                TYPE REF TO zcl_excel,
      lo_worksheet            TYPE REF TO zcl_excel_worksheet.

DATA: lv_file                 TYPE xstring,
      lv_bytecount            TYPE i,
      lt_file_tab             TYPE STANDARD TABLE OF solisti1.

&quot; Creates active sheet
CREATE OBJECT lo_excel.

&quot; Get active sheet
lo_worksheet = lo_excel-&gt;get_active_worksheet( ).
lo_worksheet-&gt;title = &apos;Sheet1&apos;.
lo_worksheet-&gt;set_cell( ip_column = &apos;B&apos; ip_row = 2 ip_value = &apos;This is the first sheet&apos; ).

lo_worksheet = lo_excel-&gt;add_new_worksheet( ).
lo_worksheet-&gt;title = &apos;Sheet2&apos;.
lo_worksheet-&gt;set_cell( ip_column = &apos;B&apos; ip_row = 2 ip_value = &apos;This is the second sheet&apos; ).


lv_file = lo_excel-&gt;save_as( zcl_excel=&gt;c_xlsx ).

&quot; Convert to binary
CALL FUNCTION &apos;SCMS_XSTRING_TO_BINARY&apos;
  EXPORTING
    buffer        = lv_file
  IMPORTING
    output_length = lv_bytecount
  TABLES
    binary_tab    = lt_file_tab.

&quot; Save the file
CALL FUNCTION &apos;GUI_DOWNLOAD&apos;
  EXPORTING
    bin_filesize = lv_bytecount
    filename     = &apos;C:\Sheets.xlsx&apos;
    filetype     = &apos;BIN&apos;
  TABLES
    data_tab     = lt_file_tab.</source>
 </PROG>
 <PROG NAME="ZDEMO_EXCEL5" VARCL="X" SUBC="1" CNAM="FEMIA" CDAT="20100711" UNAM="FEMIA" UDAT="20100711" VERN="000011" RSTAT="T" RMAND="001" RLOAD="E" FIXPT="X" SDATE="20100711" STIME="181406" IDATE="20100711" ITIME="181406" UCCHECK="X">
  <textPool>
   <language SPRAS="E">
    <textElement ID="R" ENTRY="Test for excel" LENGTH="14 "/>
   </language>
  </textPool>
  <source>*&amp;---------------------------------------------------------------------*
*&amp; Report  ZIFE_TEST_EXCEL
*&amp;
*&amp;---------------------------------------------------------------------*
*&amp;
*&amp;
*&amp;---------------------------------------------------------------------*

REPORT  zdemo_excel5.

DATA: lo_excel                TYPE REF TO zcl_excel,
      lo_worksheet            TYPE REF TO zcl_excel_worksheet,
      lo_style_conditional    TYPE REF TO zcl_excel_style_conditional,
      lo_style_number         TYPE REF TO zcl_excel_style,
      lv_file                 TYPE xstring,
      lv_style_number_guid    TYPE zexcel_cell_style,
      lv_bytecount            TYPE i,
      lt_file_tab             TYPE STANDARD TABLE OF solisti1.

CREATE OBJECT lo_excel.

lo_style_number = lo_excel-&gt;add_new_style( ).
lo_style_number-&gt;number_format-&gt;format_code = zcl_excel_style_number_format=&gt;c_format_number.
lv_style_number_guid = lo_style_number-&gt;get_guid( ).

&quot; Get active sheet
lo_worksheet = lo_excel-&gt;get_active_worksheet( ).

lo_style_conditional = lo_worksheet-&gt;add_new_conditional_style( ).
lo_style_conditional-&gt;rule      = zcl_excel_style_conditional=&gt;c_rule_iconset.
lo_style_conditional-&gt;iconset   = zcl_excel_style_conditional=&gt;c_iconset_3trafficlights2.
lo_style_conditional-&gt;priority  = 1.
lo_style_conditional-&gt;set_range( ip_start_column  = &apos;C&apos;
                                 ip_start_row     = 4
                                 ip_stop_column   = &apos;C&apos;
                                 ip_stop_row      = 8 ).


lo_worksheet-&gt;set_cell( ip_row = 4 ip_column = &apos;C&apos; ip_value = &apos;100&apos; ip_style = lv_style_number_guid ).
lo_worksheet-&gt;set_cell( ip_row = 5 ip_column = &apos;C&apos; ip_value = &apos;1000&apos; ip_style = lv_style_number_guid ).
lo_worksheet-&gt;set_cell( ip_row = 6 ip_column = &apos;C&apos; ip_value = &apos;150&apos; ip_style = lv_style_number_guid ).
lo_worksheet-&gt;set_cell( ip_row = 7 ip_column = &apos;C&apos; ip_value = &apos;10&apos; ip_style = lv_style_number_guid ).
lo_worksheet-&gt;set_cell( ip_row = 8 ip_column = &apos;C&apos; ip_value = &apos;500&apos; ip_style = lv_style_number_guid ).

lv_file = lo_excel-&gt;save_as( zcl_excel=&gt;c_xlsx ).

&quot;convert to table
CALL FUNCTION &apos;SCMS_XSTRING_TO_BINARY&apos;
  EXPORTING
    buffer        = lv_file
  IMPORTING
    output_length = lv_bytecount
  TABLES
    binary_tab    = lt_file_tab.
&quot;Save the file
CALL FUNCTION &apos;GUI_DOWNLOAD&apos;
  EXPORTING
    bin_filesize = lv_bytecount
    filename     = &apos;C:\CondFormatting.xlsx&apos;
    filetype     = &apos;BIN&apos;
  TABLES
    data_tab     = lt_file_tab.</source>
 </PROG>
 <PROG NAME="ZDEMO_EXCEL6" VARCL="X" SUBC="1" CNAM="FEMIA" CDAT="20100711" UNAM="FEMIA" UDAT="20100711" VERN="000011" RSTAT="T" RMAND="001" RLOAD="E" FIXPT="X" SDATE="20100711" STIME="181412" IDATE="20100711" ITIME="181412" UCCHECK="X">
  <textPool>
   <language SPRAS="E">
    <textElement ID="R" ENTRY="Test for excel" LENGTH="14 "/>
   </language>
  </textPool>
  <source>*&amp;---------------------------------------------------------------------*
*&amp; Report  ZIFE_TEST_EXCEL
*&amp;
*&amp;---------------------------------------------------------------------*
*&amp;
*&amp;
*&amp;---------------------------------------------------------------------*

REPORT  zdemo_excel6.

DATA: lo_excel                TYPE REF TO zcl_excel,
      lo_worksheet            TYPE REF TO zcl_excel_worksheet,
      lo_style_conditional    TYPE REF TO zcl_excel_style_conditional,
      lo_style_number         TYPE REF TO zcl_excel_style,
      lv_file                 TYPE xstring,
      lv_style_number_guid    TYPE zexcel_cell_style,
      lv_bytecount            TYPE i,
      lt_file_tab             TYPE STANDARD TABLE OF solisti1.

CREATE OBJECT lo_excel.

lo_style_number = lo_excel-&gt;add_new_style( ).
lo_style_number-&gt;number_format-&gt;format_code = zcl_excel_style_number_format=&gt;c_format_number.
lv_style_number_guid = lo_style_number-&gt;get_guid( ).

&quot; Get active sheet
lo_worksheet = lo_excel-&gt;get_active_worksheet( ).

lo_worksheet-&gt;set_cell( ip_row = 4 ip_column = &apos;C&apos; ip_value = &apos;100&apos; ip_style = lv_style_number_guid ).
lo_worksheet-&gt;set_cell( ip_row = 5 ip_column = &apos;C&apos; ip_value = &apos;1000&apos; ip_style = lv_style_number_guid ).
lo_worksheet-&gt;set_cell( ip_row = 6 ip_column = &apos;C&apos; ip_value = &apos;150&apos; ip_style = lv_style_number_guid ).
lo_worksheet-&gt;set_cell( ip_row = 7 ip_column = &apos;C&apos; ip_value = &apos;10&apos; ip_style = lv_style_number_guid ).
lo_worksheet-&gt;set_cell( ip_row = 8 ip_column = &apos;C&apos; ip_value = &apos;500&apos; ip_style = lv_style_number_guid ).
lo_worksheet-&gt;set_cell( ip_row = 9 ip_column = &apos;C&apos; ip_value = &apos;1760&apos; ip_formula = &apos;SUM(C4:C8)&apos; ).

lv_file = lo_excel-&gt;save_as( zcl_excel=&gt;c_xlsx ).

&quot;convert to table
CALL FUNCTION &apos;SCMS_XSTRING_TO_BINARY&apos;
  EXPORTING
    buffer        = lv_file
  IMPORTING
    output_length = lv_bytecount
  TABLES
    binary_tab    = lt_file_tab.
&quot;Save the file
CALL FUNCTION &apos;GUI_DOWNLOAD&apos;
  EXPORTING
    bin_filesize = lv_bytecount
    filename     = &apos;C:\Formula.xlsx&apos;
    filetype     = &apos;BIN&apos;
  TABLES
    data_tab     = lt_file_tab.</source>
 </PROG>
 <PROG NAME="ZDEMO_EXCEL7" VARCL="X" SUBC="1" CNAM="FEMIA" CDAT="20100711" UNAM="FEMIA" UDAT="20100711" VERN="000011" RSTAT="T" RMAND="001" RLOAD="E" FIXPT="X" SDATE="20100711" STIME="181416" IDATE="20100711" ITIME="181416" UCCHECK="X">
  <textPool>
   <language SPRAS="E">
    <textElement ID="R" ENTRY="Test for excel" LENGTH="14 "/>
   </language>
  </textPool>
  <source>*&amp;---------------------------------------------------------------------*
*&amp; Report  ZIFE_TEST_EXCEL
*&amp;
*&amp;---------------------------------------------------------------------*
*&amp;
*&amp;
*&amp;---------------------------------------------------------------------*

REPORT  zdemo_excel7.

DATA: lo_excel                TYPE REF TO zcl_excel,
      lo_worksheet            TYPE REF TO zcl_excel_worksheet,
      lo_style_conditional    TYPE REF TO zcl_excel_style_conditional,
      lo_style_number         TYPE REF TO zcl_excel_style,
      lv_file                 TYPE xstring,
      lv_style_number_guid    TYPE zexcel_cell_style,
      lv_bytecount            TYPE i,
      lt_file_tab             TYPE STANDARD TABLE OF solisti1.

CREATE OBJECT lo_excel.

lo_style_number = lo_excel-&gt;add_new_style( ).
lo_style_number-&gt;number_format-&gt;format_code = zcl_excel_style_number_format=&gt;c_format_number.
lv_style_number_guid = lo_style_number-&gt;get_guid( ).

&quot; Get active sheet
lo_worksheet = lo_excel-&gt;get_active_worksheet( ).

lo_style_conditional = lo_worksheet-&gt;add_new_conditional_style( ).
lo_style_conditional-&gt;rule      = zcl_excel_style_conditional=&gt;c_rule_iconset.
lo_style_conditional-&gt;iconset   = zcl_excel_style_conditional=&gt;c_iconset_3arrows.
lo_style_conditional-&gt;priority  = 1.
lo_style_conditional-&gt;set_range( ip_start_column  = &apos;B&apos;
                                 ip_start_row     = 5
                                 ip_stop_column   = &apos;B&apos;
                                 ip_stop_row      = 9 ).

lo_worksheet-&gt;set_cell( ip_row = 4 ip_column = &apos;B&apos; ip_value = &apos;C_ICONSET_3ARROWS&apos; ).
lo_worksheet-&gt;set_cell( ip_row = 5 ip_column = &apos;B&apos; ip_value = &apos;10&apos; ip_style = lv_style_number_guid ).
lo_worksheet-&gt;set_cell( ip_row = 6 ip_column = &apos;B&apos; ip_value = &apos;20&apos; ip_style = lv_style_number_guid ).
lo_worksheet-&gt;set_cell( ip_row = 7 ip_column = &apos;B&apos; ip_value = &apos;30&apos; ip_style = lv_style_number_guid ).
lo_worksheet-&gt;set_cell( ip_row = 8 ip_column = &apos;B&apos; ip_value = &apos;40&apos; ip_style = lv_style_number_guid ).
lo_worksheet-&gt;set_cell( ip_row = 9 ip_column = &apos;B&apos; ip_value = &apos;50&apos; ip_style = lv_style_number_guid ).

lo_style_conditional = lo_worksheet-&gt;add_new_conditional_style( ).
lo_style_conditional-&gt;rule      = zcl_excel_style_conditional=&gt;c_rule_iconset.
lo_style_conditional-&gt;iconset   = zcl_excel_style_conditional=&gt;c_iconset_3arrowsgray.
lo_style_conditional-&gt;priority  = 1.
lo_style_conditional-&gt;set_range( ip_start_column  = &apos;C&apos;
                                 ip_start_row     = 5
                                 ip_stop_column   = &apos;C&apos;
                                 ip_stop_row      = 9 ).

lo_worksheet-&gt;set_cell( ip_row = 4 ip_column = &apos;C&apos; ip_value = &apos;C_ICONSET_3ARROWSGRAY&apos; ).
lo_worksheet-&gt;set_cell( ip_row = 5 ip_column = &apos;C&apos; ip_value = &apos;10&apos; ip_style = lv_style_number_guid ).
lo_worksheet-&gt;set_cell( ip_row = 6 ip_column = &apos;C&apos; ip_value = &apos;20&apos; ip_style = lv_style_number_guid ).
lo_worksheet-&gt;set_cell( ip_row = 7 ip_column = &apos;C&apos; ip_value = &apos;30&apos; ip_style = lv_style_number_guid ).
lo_worksheet-&gt;set_cell( ip_row = 8 ip_column = &apos;C&apos; ip_value = &apos;40&apos; ip_style = lv_style_number_guid ).
lo_worksheet-&gt;set_cell( ip_row = 9 ip_column = &apos;C&apos; ip_value = &apos;50&apos; ip_style = lv_style_number_guid ).

lo_style_conditional = lo_worksheet-&gt;add_new_conditional_style( ).
lo_style_conditional-&gt;rule      = zcl_excel_style_conditional=&gt;c_rule_iconset.
lo_style_conditional-&gt;iconset   = zcl_excel_style_conditional=&gt;c_iconset_3flags.
lo_style_conditional-&gt;priority  = 1.
lo_style_conditional-&gt;set_range( ip_start_column  = &apos;D&apos;
                                 ip_start_row     = 5
                                 ip_stop_column   = &apos;D&apos;
                                 ip_stop_row      = 9 ).

lo_worksheet-&gt;set_cell( ip_row = 4 ip_column = &apos;D&apos; ip_value = &apos;C_ICONSET_3FLAGS&apos; ).
lo_worksheet-&gt;set_cell( ip_row = 5 ip_column = &apos;D&apos; ip_value = &apos;10&apos; ip_style = lv_style_number_guid ).
lo_worksheet-&gt;set_cell( ip_row = 6 ip_column = &apos;D&apos; ip_value = &apos;20&apos; ip_style = lv_style_number_guid ).
lo_worksheet-&gt;set_cell( ip_row = 7 ip_column = &apos;D&apos; ip_value = &apos;30&apos; ip_style = lv_style_number_guid ).
lo_worksheet-&gt;set_cell( ip_row = 8 ip_column = &apos;D&apos; ip_value = &apos;40&apos; ip_style = lv_style_number_guid ).
lo_worksheet-&gt;set_cell( ip_row = 9 ip_column = &apos;D&apos; ip_value = &apos;50&apos; ip_style = lv_style_number_guid ).

lo_style_conditional = lo_worksheet-&gt;add_new_conditional_style( ).
lo_style_conditional-&gt;rule      = zcl_excel_style_conditional=&gt;c_rule_iconset.
lo_style_conditional-&gt;iconset   = zcl_excel_style_conditional=&gt;c_iconset_3trafficlights.
lo_style_conditional-&gt;priority  = 1.
lo_style_conditional-&gt;set_range( ip_start_column  = &apos;E&apos;
                                 ip_start_row     = 5
                                 ip_stop_column   = &apos;E&apos;
                                 ip_stop_row      = 9 ).

lo_worksheet-&gt;set_cell( ip_row = 4 ip_column = &apos;E&apos; ip_value = &apos;C_ICONSET_3TRAFFICLIGHTS&apos; ).
lo_worksheet-&gt;set_cell( ip_row = 5 ip_column = &apos;E&apos; ip_value = &apos;10&apos; ip_style = lv_style_number_guid ).
lo_worksheet-&gt;set_cell( ip_row = 6 ip_column = &apos;E&apos; ip_value = &apos;20&apos; ip_style = lv_style_number_guid ).
lo_worksheet-&gt;set_cell( ip_row = 7 ip_column = &apos;E&apos; ip_value = &apos;30&apos; ip_style = lv_style_number_guid ).
lo_worksheet-&gt;set_cell( ip_row = 8 ip_column = &apos;E&apos; ip_value = &apos;40&apos; ip_style = lv_style_number_guid ).
lo_worksheet-&gt;set_cell( ip_row = 9 ip_column = &apos;E&apos; ip_value = &apos;50&apos; ip_style = lv_style_number_guid ).

lo_style_conditional = lo_worksheet-&gt;add_new_conditional_style( ).
lo_style_conditional-&gt;rule      = zcl_excel_style_conditional=&gt;c_rule_iconset.
lo_style_conditional-&gt;iconset   = zcl_excel_style_conditional=&gt;c_iconset_3trafficlights2.
lo_style_conditional-&gt;priority  = 1.
lo_style_conditional-&gt;set_range( ip_start_column  = &apos;F&apos;
                                 ip_start_row     = 5
                                 ip_stop_column   = &apos;F&apos;
                                 ip_stop_row      = 9 ).

lo_worksheet-&gt;set_cell( ip_row = 4 ip_column = &apos;F&apos; ip_value = &apos;C_ICONSET_3TRAFFICLIGHTS2&apos; ).
lo_worksheet-&gt;set_cell( ip_row = 5 ip_column = &apos;F&apos; ip_value = &apos;10&apos; ip_style = lv_style_number_guid ).
lo_worksheet-&gt;set_cell( ip_row = 6 ip_column = &apos;F&apos; ip_value = &apos;20&apos; ip_style = lv_style_number_guid ).
lo_worksheet-&gt;set_cell( ip_row = 7 ip_column = &apos;F&apos; ip_value = &apos;30&apos; ip_style = lv_style_number_guid ).
lo_worksheet-&gt;set_cell( ip_row = 8 ip_column = &apos;F&apos; ip_value = &apos;40&apos; ip_style = lv_style_number_guid ).
lo_worksheet-&gt;set_cell( ip_row = 9 ip_column = &apos;F&apos; ip_value = &apos;50&apos; ip_style = lv_style_number_guid ).

lo_style_conditional = lo_worksheet-&gt;add_new_conditional_style( ).
lo_style_conditional-&gt;rule      = zcl_excel_style_conditional=&gt;c_rule_iconset.
lo_style_conditional-&gt;iconset   = zcl_excel_style_conditional=&gt;c_iconset_3signs.
lo_style_conditional-&gt;priority  = 1.
lo_style_conditional-&gt;set_range( ip_start_column  = &apos;G&apos;
                                 ip_start_row     = 5
                                 ip_stop_column   = &apos;G&apos;
                                 ip_stop_row      = 9 ).

lo_worksheet-&gt;set_cell( ip_row = 4 ip_column = &apos;G&apos; ip_value = &apos;C_ICONSET_3SIGNS&apos; ).
lo_worksheet-&gt;set_cell( ip_row = 5 ip_column = &apos;G&apos; ip_value = &apos;10&apos; ip_style = lv_style_number_guid ).
lo_worksheet-&gt;set_cell( ip_row = 6 ip_column = &apos;G&apos; ip_value = &apos;20&apos; ip_style = lv_style_number_guid ).
lo_worksheet-&gt;set_cell( ip_row = 7 ip_column = &apos;G&apos; ip_value = &apos;30&apos; ip_style = lv_style_number_guid ).
lo_worksheet-&gt;set_cell( ip_row = 8 ip_column = &apos;G&apos; ip_value = &apos;40&apos; ip_style = lv_style_number_guid ).
lo_worksheet-&gt;set_cell( ip_row = 9 ip_column = &apos;G&apos; ip_value = &apos;50&apos; ip_style = lv_style_number_guid ).

lo_style_conditional = lo_worksheet-&gt;add_new_conditional_style( ).
lo_style_conditional-&gt;rule      = zcl_excel_style_conditional=&gt;c_rule_iconset.
lo_style_conditional-&gt;iconset   = zcl_excel_style_conditional=&gt;c_iconset_3symbols.
lo_style_conditional-&gt;priority  = 1.
lo_style_conditional-&gt;set_range( ip_start_column  = &apos;H&apos;
                                 ip_start_row     = 5
                                 ip_stop_column   = &apos;H&apos;
                                 ip_stop_row      = 9 ).

lo_worksheet-&gt;set_cell( ip_row = 4 ip_column = &apos;H&apos; ip_value = &apos;C_ICONSET_3SYMBOLS&apos; ).
lo_worksheet-&gt;set_cell( ip_row = 5 ip_column = &apos;H&apos; ip_value = &apos;10&apos; ip_style = lv_style_number_guid ).
lo_worksheet-&gt;set_cell( ip_row = 6 ip_column = &apos;H&apos; ip_value = &apos;20&apos; ip_style = lv_style_number_guid ).
lo_worksheet-&gt;set_cell( ip_row = 7 ip_column = &apos;H&apos; ip_value = &apos;30&apos; ip_style = lv_style_number_guid ).
lo_worksheet-&gt;set_cell( ip_row = 8 ip_column = &apos;H&apos; ip_value = &apos;40&apos; ip_style = lv_style_number_guid ).
lo_worksheet-&gt;set_cell( ip_row = 9 ip_column = &apos;H&apos; ip_value = &apos;50&apos; ip_style = lv_style_number_guid ).

lo_style_conditional = lo_worksheet-&gt;add_new_conditional_style( ).
lo_style_conditional-&gt;rule      = zcl_excel_style_conditional=&gt;c_rule_iconset.
lo_style_conditional-&gt;iconset   = zcl_excel_style_conditional=&gt;c_iconset_3symbols2.
lo_style_conditional-&gt;priority  = 1.
lo_style_conditional-&gt;set_range( ip_start_column  = &apos;I&apos;
                                 ip_start_row     = 5
                                 ip_stop_column   = &apos;I&apos;
                                 ip_stop_row      = 9 ).

lo_worksheet-&gt;set_cell( ip_row = 4 ip_column = &apos;I&apos; ip_value = &apos;C_ICONSET_3SYMBOLS2&apos; ).
lo_worksheet-&gt;set_cell( ip_row = 5 ip_column = &apos;I&apos; ip_value = &apos;10&apos; ip_style = lv_style_number_guid ).
lo_worksheet-&gt;set_cell( ip_row = 6 ip_column = &apos;I&apos; ip_value = &apos;20&apos; ip_style = lv_style_number_guid ).
lo_worksheet-&gt;set_cell( ip_row = 7 ip_column = &apos;I&apos; ip_value = &apos;30&apos; ip_style = lv_style_number_guid ).
lo_worksheet-&gt;set_cell( ip_row = 8 ip_column = &apos;I&apos; ip_value = &apos;40&apos; ip_style = lv_style_number_guid ).
lo_worksheet-&gt;set_cell( ip_row = 9 ip_column = &apos;I&apos; ip_value = &apos;50&apos; ip_style = lv_style_number_guid ).

lo_style_conditional = lo_worksheet-&gt;add_new_conditional_style( ).
lo_style_conditional-&gt;rule      = zcl_excel_style_conditional=&gt;c_rule_iconset.
lo_style_conditional-&gt;iconset   = zcl_excel_style_conditional=&gt;c_iconset_4arrows.
lo_style_conditional-&gt;priority  = 1.
lo_style_conditional-&gt;set_range( ip_start_column  = &apos;B&apos;
                                 ip_start_row     = 12
                                 ip_stop_column   = &apos;B&apos;
                                 ip_stop_row      = 16 ).

lo_worksheet-&gt;set_cell( ip_row = 11 ip_column = &apos;B&apos; ip_value = &apos;C_ICONSET_4ARROWS&apos; ).
lo_worksheet-&gt;set_cell( ip_row = 12 ip_column = &apos;B&apos; ip_value = &apos;10&apos; ip_style = lv_style_number_guid ).
lo_worksheet-&gt;set_cell( ip_row = 13 ip_column = &apos;B&apos; ip_value = &apos;20&apos; ip_style = lv_style_number_guid ).
lo_worksheet-&gt;set_cell( ip_row = 14 ip_column = &apos;B&apos; ip_value = &apos;30&apos; ip_style = lv_style_number_guid ).
lo_worksheet-&gt;set_cell( ip_row = 15 ip_column = &apos;B&apos; ip_value = &apos;40&apos; ip_style = lv_style_number_guid ).
lo_worksheet-&gt;set_cell( ip_row = 16 ip_column = &apos;B&apos; ip_value = &apos;50&apos; ip_style = lv_style_number_guid ).

lo_style_conditional = lo_worksheet-&gt;add_new_conditional_style( ).
lo_style_conditional-&gt;rule      = zcl_excel_style_conditional=&gt;c_rule_iconset.
lo_style_conditional-&gt;iconset   = zcl_excel_style_conditional=&gt;c_iconset_4arrowsgray.
lo_style_conditional-&gt;priority  = 1.
lo_style_conditional-&gt;set_range( ip_start_column  = &apos;C&apos;
                                 ip_start_row     = 12
                                 ip_stop_column   = &apos;C&apos;
                                 ip_stop_row      = 16 ).

lo_worksheet-&gt;set_cell( ip_row = 11 ip_column = &apos;C&apos; ip_value = &apos;C_ICONSET_4ARROWSGRAY&apos; ).
lo_worksheet-&gt;set_cell( ip_row = 12 ip_column = &apos;C&apos; ip_value = &apos;10&apos; ip_style = lv_style_number_guid ).
lo_worksheet-&gt;set_cell( ip_row = 13 ip_column = &apos;C&apos; ip_value = &apos;20&apos; ip_style = lv_style_number_guid ).
lo_worksheet-&gt;set_cell( ip_row = 14 ip_column = &apos;C&apos; ip_value = &apos;30&apos; ip_style = lv_style_number_guid ).
lo_worksheet-&gt;set_cell( ip_row = 15 ip_column = &apos;C&apos; ip_value = &apos;40&apos; ip_style = lv_style_number_guid ).
lo_worksheet-&gt;set_cell( ip_row = 16 ip_column = &apos;C&apos; ip_value = &apos;50&apos; ip_style = lv_style_number_guid ).

lo_style_conditional = lo_worksheet-&gt;add_new_conditional_style( ).
lo_style_conditional-&gt;rule      = zcl_excel_style_conditional=&gt;c_rule_iconset.
lo_style_conditional-&gt;iconset   = zcl_excel_style_conditional=&gt;c_iconset_4redtoblack.
lo_style_conditional-&gt;priority  = 1.
lo_style_conditional-&gt;set_range( ip_start_column  = &apos;D&apos;
                                 ip_start_row     = 12
                                 ip_stop_column   = &apos;D&apos;
                                 ip_stop_row      = 16 ).

lo_worksheet-&gt;set_cell( ip_row = 11 ip_column = &apos;D&apos; ip_value = &apos;C_ICONSET_4REDTOBLACK&apos; ).
lo_worksheet-&gt;set_cell( ip_row = 12 ip_column = &apos;D&apos; ip_value = &apos;10&apos; ip_style = lv_style_number_guid ).
lo_worksheet-&gt;set_cell( ip_row = 13 ip_column = &apos;D&apos; ip_value = &apos;20&apos; ip_style = lv_style_number_guid ).
lo_worksheet-&gt;set_cell( ip_row = 14 ip_column = &apos;D&apos; ip_value = &apos;30&apos; ip_style = lv_style_number_guid ).
lo_worksheet-&gt;set_cell( ip_row = 15 ip_column = &apos;D&apos; ip_value = &apos;40&apos; ip_style = lv_style_number_guid ).
lo_worksheet-&gt;set_cell( ip_row = 16 ip_column = &apos;D&apos; ip_value = &apos;50&apos; ip_style = lv_style_number_guid ).

lo_style_conditional = lo_worksheet-&gt;add_new_conditional_style( ).
lo_style_conditional-&gt;rule      = zcl_excel_style_conditional=&gt;c_rule_iconset.
lo_style_conditional-&gt;iconset   = zcl_excel_style_conditional=&gt;c_iconset_4rating.
lo_style_conditional-&gt;priority  = 1.
lo_style_conditional-&gt;set_range( ip_start_column  = &apos;E&apos;
                                 ip_start_row     = 12
                                 ip_stop_column   = &apos;E&apos;
                                 ip_stop_row      = 16 ).

lo_worksheet-&gt;set_cell( ip_row = 11 ip_column = &apos;E&apos; ip_value = &apos;C_ICONSET_4RATING&apos; ).
lo_worksheet-&gt;set_cell( ip_row = 12 ip_column = &apos;E&apos; ip_value = &apos;10&apos; ip_style = lv_style_number_guid ).
lo_worksheet-&gt;set_cell( ip_row = 13 ip_column = &apos;E&apos; ip_value = &apos;20&apos; ip_style = lv_style_number_guid ).
lo_worksheet-&gt;set_cell( ip_row = 14 ip_column = &apos;E&apos; ip_value = &apos;30&apos; ip_style = lv_style_number_guid ).
lo_worksheet-&gt;set_cell( ip_row = 15 ip_column = &apos;E&apos; ip_value = &apos;40&apos; ip_style = lv_style_number_guid ).
lo_worksheet-&gt;set_cell( ip_row = 16 ip_column = &apos;E&apos; ip_value = &apos;50&apos; ip_style = lv_style_number_guid ).

lo_style_conditional = lo_worksheet-&gt;add_new_conditional_style( ).
lo_style_conditional-&gt;rule      = zcl_excel_style_conditional=&gt;c_rule_iconset.
lo_style_conditional-&gt;iconset   = zcl_excel_style_conditional=&gt;c_iconset_4trafficlights.
lo_style_conditional-&gt;priority  = 1.
lo_style_conditional-&gt;set_range( ip_start_column  = &apos;F&apos;
                                 ip_start_row     = 12
                                 ip_stop_column   = &apos;F&apos;
                                 ip_stop_row      = 16 ).

lo_worksheet-&gt;set_cell( ip_row = 11 ip_column = &apos;F&apos; ip_value = &apos;C_ICONSET_4TRAFFICLIGHTS&apos; ).
lo_worksheet-&gt;set_cell( ip_row = 12 ip_column = &apos;F&apos; ip_value = &apos;10&apos; ip_style = lv_style_number_guid ).
lo_worksheet-&gt;set_cell( ip_row = 13 ip_column = &apos;F&apos; ip_value = &apos;20&apos; ip_style = lv_style_number_guid ).
lo_worksheet-&gt;set_cell( ip_row = 14 ip_column = &apos;F&apos; ip_value = &apos;30&apos; ip_style = lv_style_number_guid ).
lo_worksheet-&gt;set_cell( ip_row = 15 ip_column = &apos;F&apos; ip_value = &apos;40&apos; ip_style = lv_style_number_guid ).
lo_worksheet-&gt;set_cell( ip_row = 16 ip_column = &apos;F&apos; ip_value = &apos;50&apos; ip_style = lv_style_number_guid ).

lo_style_conditional = lo_worksheet-&gt;add_new_conditional_style( ).
lo_style_conditional-&gt;rule      = zcl_excel_style_conditional=&gt;c_rule_iconset.
lo_style_conditional-&gt;iconset   = zcl_excel_style_conditional=&gt;c_iconset_5arrows.
lo_style_conditional-&gt;priority  = 1.
lo_style_conditional-&gt;set_range( ip_start_column  = &apos;B&apos;
                                 ip_start_row     = 19
                                 ip_stop_column   = &apos;B&apos;
                                 ip_stop_row      = 23 ).

lo_worksheet-&gt;set_cell( ip_row = 18 ip_column = &apos;B&apos; ip_value = &apos;C_ICONSET_5ARROWS&apos; ).
lo_worksheet-&gt;set_cell( ip_row = 19 ip_column = &apos;B&apos; ip_value = &apos;10&apos; ip_style = lv_style_number_guid ).
lo_worksheet-&gt;set_cell( ip_row = 20 ip_column = &apos;B&apos; ip_value = &apos;20&apos; ip_style = lv_style_number_guid ).
lo_worksheet-&gt;set_cell( ip_row = 21 ip_column = &apos;B&apos; ip_value = &apos;30&apos; ip_style = lv_style_number_guid ).
lo_worksheet-&gt;set_cell( ip_row = 22 ip_column = &apos;B&apos; ip_value = &apos;40&apos; ip_style = lv_style_number_guid ).
lo_worksheet-&gt;set_cell( ip_row = 23 ip_column = &apos;B&apos; ip_value = &apos;50&apos; ip_style = lv_style_number_guid ).

lo_style_conditional = lo_worksheet-&gt;add_new_conditional_style( ).
lo_style_conditional-&gt;rule      = zcl_excel_style_conditional=&gt;c_rule_iconset.
lo_style_conditional-&gt;iconset   = zcl_excel_style_conditional=&gt;c_iconset_5arrowsgray.
lo_style_conditional-&gt;priority  = 1.
lo_style_conditional-&gt;set_range( ip_start_column  = &apos;C&apos;
                                 ip_start_row     = 19
                                 ip_stop_column   = &apos;C&apos;
                                 ip_stop_row      = 23 ).

lo_worksheet-&gt;set_cell( ip_row = 18 ip_column = &apos;C&apos; ip_value = &apos;C_ICONSET_5ARROWSGRAY&apos; ).
lo_worksheet-&gt;set_cell( ip_row = 19 ip_column = &apos;C&apos; ip_value = &apos;10&apos; ip_style = lv_style_number_guid ).
lo_worksheet-&gt;set_cell( ip_row = 20 ip_column = &apos;C&apos; ip_value = &apos;20&apos; ip_style = lv_style_number_guid ).
lo_worksheet-&gt;set_cell( ip_row = 21 ip_column = &apos;C&apos; ip_value = &apos;30&apos; ip_style = lv_style_number_guid ).
lo_worksheet-&gt;set_cell( ip_row = 22 ip_column = &apos;C&apos; ip_value = &apos;40&apos; ip_style = lv_style_number_guid ).
lo_worksheet-&gt;set_cell( ip_row = 23 ip_column = &apos;C&apos; ip_value = &apos;50&apos; ip_style = lv_style_number_guid ).

lo_style_conditional = lo_worksheet-&gt;add_new_conditional_style( ).
lo_style_conditional-&gt;rule      = zcl_excel_style_conditional=&gt;c_rule_iconset.
lo_style_conditional-&gt;iconset   = zcl_excel_style_conditional=&gt;c_iconset_5rating.
lo_style_conditional-&gt;priority  = 1.
lo_style_conditional-&gt;set_range( ip_start_column  = &apos;D&apos;
                                 ip_start_row     = 19
                                 ip_stop_column   = &apos;D&apos;
                                 ip_stop_row      = 23 ).

lo_worksheet-&gt;set_cell( ip_row = 18 ip_column = &apos;D&apos; ip_value = &apos;C_ICONSET_5RATING&apos; ).
lo_worksheet-&gt;set_cell( ip_row = 19 ip_column = &apos;D&apos; ip_value = &apos;10&apos; ip_style = lv_style_number_guid ).
lo_worksheet-&gt;set_cell( ip_row = 20 ip_column = &apos;D&apos; ip_value = &apos;20&apos; ip_style = lv_style_number_guid ).
lo_worksheet-&gt;set_cell( ip_row = 21 ip_column = &apos;D&apos; ip_value = &apos;30&apos; ip_style = lv_style_number_guid ).
lo_worksheet-&gt;set_cell( ip_row = 22 ip_column = &apos;D&apos; ip_value = &apos;40&apos; ip_style = lv_style_number_guid ).
lo_worksheet-&gt;set_cell( ip_row = 23 ip_column = &apos;D&apos; ip_value = &apos;50&apos; ip_style = lv_style_number_guid ).

lo_style_conditional = lo_worksheet-&gt;add_new_conditional_style( ).
lo_style_conditional-&gt;rule      = zcl_excel_style_conditional=&gt;c_rule_iconset.
lo_style_conditional-&gt;iconset   = zcl_excel_style_conditional=&gt;c_iconset_5quarters.
lo_style_conditional-&gt;priority  = 1.
lo_style_conditional-&gt;set_range( ip_start_column  = &apos;E&apos;
                                 ip_start_row     = 19
                                 ip_stop_column   = &apos;E&apos;
                                 ip_stop_row      = 23 ).

lo_worksheet-&gt;set_cell( ip_row = 18 ip_column = &apos;E&apos; ip_value = &apos;C_ICONSET_5QUARTERS&apos; ).
lo_worksheet-&gt;set_cell( ip_row = 19 ip_column = &apos;E&apos; ip_value = &apos;10&apos; ip_style = lv_style_number_guid ).
lo_worksheet-&gt;set_cell( ip_row = 20 ip_column = &apos;E&apos; ip_value = &apos;20&apos; ip_style = lv_style_number_guid ).
lo_worksheet-&gt;set_cell( ip_row = 21 ip_column = &apos;E&apos; ip_value = &apos;30&apos; ip_style = lv_style_number_guid ).
lo_worksheet-&gt;set_cell( ip_row = 22 ip_column = &apos;E&apos; ip_value = &apos;40&apos; ip_style = lv_style_number_guid ).
lo_worksheet-&gt;set_cell( ip_row = 23 ip_column = &apos;E&apos; ip_value = &apos;50&apos; ip_style = lv_style_number_guid ).

lv_file = lo_excel-&gt;save_as( zcl_excel=&gt;c_xlsx ).

&quot;convert to table
CALL FUNCTION &apos;SCMS_XSTRING_TO_BINARY&apos;
  EXPORTING
    buffer        = lv_file
  IMPORTING
    output_length = lv_bytecount
  TABLES
    binary_tab    = lt_file_tab.
&quot;Save the file
CALL FUNCTION &apos;GUI_DOWNLOAD&apos;
  EXPORTING
    bin_filesize = lv_bytecount
    filename     = &apos;C:\Iconset.xlsx&apos;
    filetype     = &apos;BIN&apos;
  TABLES
    data_tab     = lt_file_tab.</source>
 </PROG>
 <TABL TABNAME="ZEXCEL_S_STYLE_FONT" DDLANGUAGE="E" TABCLASS="INTTAB" DATMIN="0000000000" DATMAX="0000000000" DATAVG="0000000000" DDTEXT="Cell Font" AUTHCLASS="00" AS4USER="FEMIA" AS4DATE="20100705" AS4TIME="120344" PROZPUFF="000" EXCLASS="1">
  <dd09l AS4VERS="0000" SCHFELDANZ="000" AS4DATE="00000000" AS4TIME="000000"/>
  <dd03p TABNAME="ZEXCEL_S_STYLE_FONT" FIELDNAME="BOLD" 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"/>
  <dd03p TABNAME="ZEXCEL_S_STYLE_FONT" FIELDNAME="ITALIC" 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"/>
  <dd03p TABNAME="ZEXCEL_S_STYLE_FONT" FIELDNAME="UNDERLINE" 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"/>
  <dd03p TABNAME="ZEXCEL_S_STYLE_FONT" FIELDNAME="UNDERLINE_MODE" DDLANGUAGE="E" POSITION="0004" ROLLNAME="CHAR20" ADMINFIELD="0" INTTYPE="C" INTLEN="000040" DOMNAME="CHAR20" ROUTPUTLEN="000000" HEADLEN="55" SCRLEN1="10" SCRLEN2="15" SCRLEN3="20" DATATYPE="CHAR" LENG="000020" OUTPUTLEN="000020" DECIMALS="000000" MASK="  CHARE" MASKLEN="0000" DDTEXT="Char 20" REPTEXT="Char20" SCRTEXT_S="Char20" SCRTEXT_M="Char20" SCRTEXT_L="Char20" DOMNAME3L="CHAR20" DEPTH="00" COMPTYPE="E" EXCLASS="0" DBPOSITION="0000"/>
  <dd03p TABNAME="ZEXCEL_S_STYLE_FONT" FIELDNAME="STRIKETHROUGH" DDLANGUAGE="E" POSITION="0005" 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"/>
  <dd03p TABNAME="ZEXCEL_S_STYLE_FONT" FIELDNAME="SIZE" DDLANGUAGE="E" POSITION="0006" ROLLNAME="INT1" ADMINFIELD="0" INTTYPE="X" INTLEN="000001" DOMNAME="INT1" ROUTPUTLEN="000000" HEADLEN="00" SCRLEN1="04" SCRLEN2="04" SCRLEN3="04" DTELMASTER="D" DATATYPE="INT1" LENG="000003" OUTPUTLEN="000003" DECIMALS="000000" MASK="  INT1E" MASKLEN="0000" DDTEXT="Byte Value" SCRTEXT_S="Byte" SCRTEXT_M="Byte" SCRTEXT_L="Byte" DOMNAME3L="INT1" DEPTH="00" COMPTYPE="E" EXCLASS="0" DBPOSITION="0000"/>
  <dd03p TABNAME="ZEXCEL_S_STYLE_FONT" FIELDNAME="COLOR" DDLANGUAGE="E" POSITION="0007" ROLLNAME="ZEXCEL_STYLE_COLOR_ARGB" ADMINFIELD="0" INTTYPE="C" INTLEN="000016" DOMNAME="CHAR8" ROUTPUTLEN="000000" HEADLEN="10" SCRLEN1="10" SCRLEN2="15" SCRLEN3="20" DTELMASTER="E" DATATYPE="CHAR" LENG="000008" OUTPUTLEN="000008" DECIMALS="000000" MASK="  CHARE" MASKLEN="0000" DDTEXT="Color ARGB" REPTEXT="Color ARGB" SCRTEXT_S="Color ARGB" SCRTEXT_M="Color ARGB" SCRTEXT_L="Color ARGB" DOMNAME3L="CHAR8" DEPTH="00" COMPTYPE="E" EXCLASS="0" DBPOSITION="0000"/>
  <dd03p TABNAME="ZEXCEL_S_STYLE_FONT" FIELDNAME="NAME" DDLANGUAGE="E" POSITION="0008" ROLLNAME="CHAR255" ADMINFIELD="0" INTTYPE="C" INTLEN="000510" DOMNAME="CHAR255" ROUTPUTLEN="000000" HEADLEN="00" SCRLEN1="07" SCRLEN2="00" SCRLEN3="00" DATATYPE="CHAR" LENG="000255" OUTPUTLEN="000255" DECIMALS="000000" MASK="  CHARE" MASKLEN="0000" DDTEXT="Char255" SCRTEXT_S="Char255" DOMNAME3L="CHAR255" DEPTH="00" COMPTYPE="E" EXCLASS="0" DBPOSITION="0000"/>
  <dd03p TABNAME="ZEXCEL_S_STYLE_FONT" FIELDNAME="FAMILY" DDLANGUAGE="E" POSITION="0009" ROLLNAME="INT1" ADMINFIELD="0" INTTYPE="X" INTLEN="000001" DOMNAME="INT1" ROUTPUTLEN="000000" HEADLEN="00" SCRLEN1="04" SCRLEN2="04" SCRLEN3="04" DTELMASTER="D" DATATYPE="INT1" LENG="000003" OUTPUTLEN="000003" DECIMALS="000000" MASK="  INT1E" MASKLEN="0000" DDTEXT="Byte Value" SCRTEXT_S="Byte" SCRTEXT_M="Byte" SCRTEXT_L="Byte" DOMNAME3L="INT1" DEPTH="00" COMPTYPE="E" EXCLASS="0" DBPOSITION="0000"/>
  <dd03p TABNAME="ZEXCEL_S_STYLE_FONT" FIELDNAME="SCHEME" DDLANGUAGE="E" POSITION="0010" ROLLNAME="ZEXCEL_STYLE_FONT_SCHEME" ADMINFIELD="0" INTTYPE="C" INTLEN="000040" DOMNAME="CHAR20" ROUTPUTLEN="000000" HEADLEN="20" SCRLEN1="10" SCRLEN2="15" SCRLEN3="20" DTELMASTER="E" DATATYPE="CHAR" LENG="000020" OUTPUTLEN="000020" DECIMALS="000000" MASK="  CHARE" MASKLEN="0000" DDTEXT="Font scheme" REPTEXT="Font scheme" SCRTEXT_S="Scheme" SCRTEXT_M="Font scheme" SCRTEXT_L="Font scheme" DOMNAME3L="CHAR20" DEPTH="00" COMPTYPE="E" EXCLASS="0" DBPOSITION="0000"/>
 </TABL>
 <TABL TABNAME="ZEXCEL_S_CELLXFS" DDLANGUAGE="E" TABCLASS="INTTAB" DATMIN="0000000000" DATMAX="0000000000" DATAVG="0000000000" DDTEXT="Cell style" AUTHCLASS="00" AS4USER="FEMIA" AS4DATE="20100708" AS4TIME="234104" PROZPUFF="000" EXCLASS="1">
  <dd09l AS4VERS="0000" SCHFELDANZ="000" AS4DATE="00000000" AS4TIME="000000"/>
  <dd03p TABNAME="ZEXCEL_S_CELLXFS" FIELDNAME="NUMFMTID" DDLANGUAGE="E" POSITION="0001" ROLLNAME="INT1" ADMINFIELD="0" INTTYPE="X" INTLEN="000001" DOMNAME="INT1" ROUTPUTLEN="000000" HEADLEN="00" SCRLEN1="04" SCRLEN2="04" SCRLEN3="04" DTELMASTER="D" DATATYPE="INT1" LENG="000003" OUTPUTLEN="000003" DECIMALS="000000" MASK="  INT1E" MASKLEN="0000" DDTEXT="Byte Value" SCRTEXT_S="Byte" SCRTEXT_M="Byte" SCRTEXT_L="Byte" DOMNAME3L="INT1" DEPTH="00" COMPTYPE="E" EXCLASS="0" DBPOSITION="0000"/>
  <dd03p TABNAME="ZEXCEL_S_CELLXFS" FIELDNAME="FONTID" DDLANGUAGE="E" POSITION="0002" ROLLNAME="INT1" ADMINFIELD="0" INTTYPE="X" INTLEN="000001" DOMNAME="INT1" ROUTPUTLEN="000000" HEADLEN="00" SCRLEN1="04" SCRLEN2="04" SCRLEN3="04" DTELMASTER="D" DATATYPE="INT1" LENG="000003" OUTPUTLEN="000003" DECIMALS="000000" MASK="  INT1E" MASKLEN="0000" DDTEXT="Byte Value" SCRTEXT_S="Byte" SCRTEXT_M="Byte" SCRTEXT_L="Byte" DOMNAME3L="INT1" DEPTH="00" COMPTYPE="E" EXCLASS="0" DBPOSITION="0000"/>
  <dd03p TABNAME="ZEXCEL_S_CELLXFS" FIELDNAME="FILLID" DDLANGUAGE="E" POSITION="0003" ROLLNAME="INT1" ADMINFIELD="0" INTTYPE="X" INTLEN="000001" DOMNAME="INT1" ROUTPUTLEN="000000" HEADLEN="00" SCRLEN1="04" SCRLEN2="04" SCRLEN3="04" DTELMASTER="D" DATATYPE="INT1" LENG="000003" OUTPUTLEN="000003" DECIMALS="000000" MASK="  INT1E" MASKLEN="0000" DDTEXT="Byte Value" SCRTEXT_S="Byte" SCRTEXT_M="Byte" SCRTEXT_L="Byte" DOMNAME3L="INT1" DEPTH="00" COMPTYPE="E" EXCLASS="0" DBPOSITION="0000"/>
  <dd03p TABNAME="ZEXCEL_S_CELLXFS" FIELDNAME="BORDERID" DDLANGUAGE="E" POSITION="0004" ROLLNAME="INT1" ADMINFIELD="0" INTTYPE="X" INTLEN="000001" DOMNAME="INT1" ROUTPUTLEN="000000" HEADLEN="00" SCRLEN1="04" SCRLEN2="04" SCRLEN3="04" DTELMASTER="D" DATATYPE="INT1" LENG="000003" OUTPUTLEN="000003" DECIMALS="000000" MASK="  INT1E" MASKLEN="0000" DDTEXT="Byte Value" SCRTEXT_S="Byte" SCRTEXT_M="Byte" SCRTEXT_L="Byte" DOMNAME3L="INT1" DEPTH="00" COMPTYPE="E" EXCLASS="0" DBPOSITION="0000"/>
  <dd03p TABNAME="ZEXCEL_S_CELLXFS" FIELDNAME="XFID" DDLANGUAGE="E" POSITION="0005" ROLLNAME="INT1" ADMINFIELD="0" INTTYPE="X" INTLEN="000001" DOMNAME="INT1" ROUTPUTLEN="000000" HEADLEN="00" SCRLEN1="04" SCRLEN2="04" SCRLEN3="04" DTELMASTER="D" DATATYPE="INT1" LENG="000003" OUTPUTLEN="000003" DECIMALS="000000" MASK="  INT1E" MASKLEN="0000" DDTEXT="Byte Value" SCRTEXT_S="Byte" SCRTEXT_M="Byte" SCRTEXT_L="Byte" DOMNAME3L="INT1" DEPTH="00" COMPTYPE="E" EXCLASS="0" DBPOSITION="0000"/>
  <dd03p TABNAME="ZEXCEL_S_CELLXFS" FIELDNAME="APPLYNUMBERFORMAT" DDLANGUAGE="E" POSITION="0006" ROLLNAME="INT1" ADMINFIELD="0" INTTYPE="X" INTLEN="000001" DOMNAME="INT1" ROUTPUTLEN="000000" HEADLEN="00" SCRLEN1="04" SCRLEN2="04" SCRLEN3="04" DTELMASTER="D" DATATYPE="INT1" LENG="000003" OUTPUTLEN="000003" DECIMALS="000000" MASK="  INT1E" MASKLEN="0000" DDTEXT="Byte Value" SCRTEXT_S="Byte" SCRTEXT_M="Byte" SCRTEXT_L="Byte" DOMNAME3L="INT1" DEPTH="00" COMPTYPE="E" EXCLASS="0" DBPOSITION="0000"/>
  <dd03p TABNAME="ZEXCEL_S_CELLXFS" FIELDNAME="APPLYFONT" DDLANGUAGE="E" POSITION="0007" ROLLNAME="INT1" ADMINFIELD="0" INTTYPE="X" INTLEN="000001" DOMNAME="INT1" ROUTPUTLEN="000000" HEADLEN="00" SCRLEN1="04" SCRLEN2="04" SCRLEN3="04" DTELMASTER="D" DATATYPE="INT1" LENG="000003" OUTPUTLEN="000003" DECIMALS="000000" MASK="  INT1E" MASKLEN="0000" DDTEXT="Byte Value" SCRTEXT_S="Byte" SCRTEXT_M="Byte" SCRTEXT_L="Byte" DOMNAME3L="INT1" DEPTH="00" COMPTYPE="E" EXCLASS="0" DBPOSITION="0000"/>
  <dd03p TABNAME="ZEXCEL_S_CELLXFS" FIELDNAME="APPLYFILL" DDLANGUAGE="E" POSITION="0008" ROLLNAME="INT1" ADMINFIELD="0" INTTYPE="X" INTLEN="000001" DOMNAME="INT1" ROUTPUTLEN="000000" HEADLEN="00" SCRLEN1="04" SCRLEN2="04" SCRLEN3="04" DTELMASTER="D" DATATYPE="INT1" LENG="000003" OUTPUTLEN="000003" DECIMALS="000000" MASK="  INT1E" MASKLEN="0000" DDTEXT="Byte Value" SCRTEXT_S="Byte" SCRTEXT_M="Byte" SCRTEXT_L="Byte" DOMNAME3L="INT1" DEPTH="00" COMPTYPE="E" EXCLASS="0" DBPOSITION="0000"/>
  <dd03p TABNAME="ZEXCEL_S_CELLXFS" FIELDNAME="APPLYBORDER" DDLANGUAGE="E" POSITION="0009" ROLLNAME="INT1" ADMINFIELD="0" INTTYPE="X" INTLEN="000001" DOMNAME="INT1" ROUTPUTLEN="000000" HEADLEN="00" SCRLEN1="04" SCRLEN2="04" SCRLEN3="04" DTELMASTER="D" DATATYPE="INT1" LENG="000003" OUTPUTLEN="000003" DECIMALS="000000" MASK="  INT1E" MASKLEN="0000" DDTEXT="Byte Value" SCRTEXT_S="Byte" SCRTEXT_M="Byte" SCRTEXT_L="Byte" DOMNAME3L="INT1" DEPTH="00" COMPTYPE="E" EXCLASS="0" DBPOSITION="0000"/>
 </TABL>
 <TABL TABNAME="ZEXCEL_S_CELL_DATA" DDLANGUAGE="E" TABCLASS="INTTAB" DATMIN="0000000000" DATMAX="0000000000" DATAVG="0000000000" DDTEXT="Cell data" AUTHCLASS="00" AS4USER="FEMIA" AS4DATE="20100710" AS4TIME="094200" PROZPUFF="000" EXCLASS="1">
  <dd09l AS4VERS="0000" SCHFELDANZ="000" AS4DATE="00000000" AS4TIME="000000"/>
  <dd03p TABNAME="ZEXCEL_S_CELL_DATA" FIELDNAME="CELL_ROW" DDLANGUAGE="E" POSITION="0001" ROLLNAME="ZEXCEL_CELL_ROW" ADMINFIELD="0" INTTYPE="X" INTLEN="000004" DOMNAME="INT4" ROUTPUTLEN="000000" HEADLEN="08" SCRLEN1="08" SCRLEN2="08" SCRLEN3="08" DTELMASTER="E" DATATYPE="INT4" LENG="000010" OUTPUTLEN="000010" DECIMALS="000000" SIGNFLAG="X" MASK="  INT4E" MASKLEN="0000" DDTEXT="Cell Row" REPTEXT="Cell Row" SCRTEXT_S="Row" SCRTEXT_M="Cell Row" SCRTEXT_L="Cell Row" DOMNAME3L="INT4" DEPTH="00" COMPTYPE="E" EXCLASS="0" DBPOSITION="0000"/>
  <dd03p TABNAME="ZEXCEL_S_CELL_DATA" FIELDNAME="CELL_COLUMN" DDLANGUAGE="E" POSITION="0002" ROLLNAME="ZEXCEL_CELL_COLUMN" ADMINFIELD="0" INTTYPE="X" INTLEN="000004" DOMNAME="INT4" ROUTPUTLEN="000000" HEADLEN="11" SCRLEN1="06" SCRLEN2="11" SCRLEN3="11" DTELMASTER="E" DATATYPE="INT4" LENG="000010" OUTPUTLEN="000010" DECIMALS="000000" SIGNFLAG="X" MASK="  INT4E" MASKLEN="0000" DDTEXT="Cell Column" REPTEXT="Cell Column" SCRTEXT_S="Column" SCRTEXT_M="Cell Column" SCRTEXT_L="Cell Column" DOMNAME3L="INT4" DEPTH="00" COMPTYPE="E" EXCLASS="0" DBPOSITION="0000"/>
  <dd03p TABNAME="ZEXCEL_S_CELL_DATA" FIELDNAME="CELL_VALUE" DDLANGUAGE="E" POSITION="0003" ROLLNAME="ZEXCEL_CELL_VALUE" ADMINFIELD="0" INTTYPE="g" INTLEN="000008" DOMNAME="STRING" ROUTPUTLEN="000000" HEADLEN="10" SCRLEN1="10" SCRLEN2="15" SCRLEN3="20" DTELMASTER="E" DATATYPE="STRG" LENG="000000" OUTPUTLEN="000000" DECIMALS="000000" MASK="  STRGE" MASKLEN="0000" DDTEXT="Cell Value" REPTEXT="Cell Value" SCRTEXT_S="Value" SCRTEXT_M="Cell Value" SCRTEXT_L="Cell Value" DOMNAME3L="STRING" DEPTH="00" COMPTYPE="E" EXCLASS="0" DBPOSITION="0000"/>
  <dd03p TABNAME="ZEXCEL_S_CELL_DATA" FIELDNAME="CELL_FORMULA" DDLANGUAGE="E" POSITION="0004" ROLLNAME="ZEXCEL_CELL_FORMULA" ADMINFIELD="0" INTTYPE="g" INTLEN="000008" DOMNAME="STRING" ROUTPUTLEN="000000" HEADLEN="12" SCRLEN1="10" SCRLEN2="15" SCRLEN3="20" DTELMASTER="E" DATATYPE="STRG" LENG="000000" OUTPUTLEN="000000" DECIMALS="000000" MASK="  STRGE" MASKLEN="0000" DDTEXT="Cell Formula" REPTEXT="Cell Formula" SCRTEXT_S="Formula" SCRTEXT_M="Cell Formula" SCRTEXT_L="Cell Formula" DOMNAME3L="STRING" DEPTH="00" COMPTYPE="E" EXCLASS="0" DBPOSITION="0000"/>
  <dd03p TABNAME="ZEXCEL_S_CELL_DATA" FIELDNAME="CELL_COORDS" DDLANGUAGE="E" POSITION="0005" ROLLNAME="ZEXCEL_CELL_COORDS" ADMINFIELD="0" INTTYPE="g" INTLEN="000008" DOMNAME="STRING" ROUTPUTLEN="000000" HEADLEN="25" SCRLEN1="10" SCRLEN2="16" SCRLEN3="25" DTELMASTER="E" DATATYPE="STRG" LENG="000000" OUTPUTLEN="000000" DECIMALS="000000" MASK="  STRGE" MASKLEN="0000" DDTEXT="Cell coordinates as Excel" REPTEXT="Cell coordinates as Excel" SCRTEXT_S="Cell coord" SCRTEXT_M="Cell coordinates" SCRTEXT_L="Cell coordinates as Excel" DOMNAME3L="STRING" DEPTH="00" COMPTYPE="E" EXCLASS="0" DBPOSITION="0000"/>
  <dd03p TABNAME="ZEXCEL_S_CELL_DATA" FIELDNAME="CELL_STYLE" DDLANGUAGE="E" POSITION="0006" ROLLNAME="ZEXCEL_CELL_STYLE" ADMINFIELD="0" INTTYPE="X" INTLEN="000016" DOMNAME="GUID16" 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="GUID16" DEPTH="00" COMPTYPE="E" EXCLASS="0" DBPOSITION="0000"/>
 </TABL>
 <TABL TABNAME="ZEXCEL_S_SHARED_STRING" DDLANGUAGE="E" TABCLASS="INTTAB" DATMIN="0000000000" DATMAX="0000000000" DATAVG="0000000000" DDTEXT="Shared strings" AUTHCLASS="00" AS4USER="FEMIA" AS4DATE="20100702" AS4TIME="163328" PROZPUFF="000" EXCLASS="1">
  <dd09l AS4VERS="0000" SCHFELDANZ="000" AS4DATE="00000000" AS4TIME="000000"/>
  <dd03p TABNAME="ZEXCEL_S_SHARED_STRING" FIELDNAME="STRING_NO" 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"/>
  <dd03p TABNAME="ZEXCEL_S_SHARED_STRING" FIELDNAME="STRING_VALUE" DDLANGUAGE="E" POSITION="0002" ROLLNAME="ZEXCEL_CELL_VALUE" ADMINFIELD="0" INTTYPE="g" INTLEN="000008" DOMNAME="STRING" ROUTPUTLEN="000000" HEADLEN="10" SCRLEN1="10" SCRLEN2="15" SCRLEN3="20" DTELMASTER="E" DATATYPE="STRG" LENG="000000" OUTPUTLEN="000000" DECIMALS="000000" MASK="  STRGE" MASKLEN="0000" DDTEXT="Cell Value" REPTEXT="Cell Value" SCRTEXT_S="Value" SCRTEXT_M="Cell Value" SCRTEXT_L="Cell Value" DOMNAME3L="STRING" DEPTH="00" COMPTYPE="E" EXCLASS="0" DBPOSITION="0000"/>
 </TABL>
 <TABL TABNAME="ZEXCEL_S_STYLES_MAPPING" DDLANGUAGE="E" TABCLASS="INTTAB" DATMIN="0000000000" DATMAX="0000000000" DATAVG="0000000000" DDTEXT="Style mapping" AUTHCLASS="00" AS4USER="FEMIA" AS4DATE="20100709" AS4TIME="174300" PROZPUFF="000" EXCLASS="1">
  <dd09l AS4VERS="0000" SCHFELDANZ="000" AS4DATE="00000000" AS4TIME="000000"/>
  <dd03p TABNAME="ZEXCEL_S_STYLES_MAPPING" FIELDNAME="GUID" DDLANGUAGE="E" POSITION="0001" ROLLNAME="GUID_16" ADMINFIELD="0" INTTYPE="X" INTLEN="000016" DOMNAME="SYSUUID" ROUTPUTLEN="000000" HEADLEN="07" SCRLEN1="10" SCRLEN2="15" SCRLEN3="20" DTELMASTER="D" DATATYPE="RAW" LENG="000016" OUTPUTLEN="000032" DECIMALS="000000" MASK="  RAW E" MASKLEN="0000" DDTEXT="GUID in &apos;RAW&apos; format" REPTEXT="GUID 16" SCRTEXT_S="GUID 16" SCRTEXT_M="GUID 16" SCRTEXT_L="GUID 16" DOMNAME3L="SYSUUID" DEPTH="00" COMPTYPE="E" EXCLASS="0" DBPOSITION="0000"/>
  <dd03p TABNAME="ZEXCEL_S_STYLES_MAPPING" FIELDNAME="STYLE" DDLANGUAGE="E" POSITION="0002" ROLLNAME="INT1" ADMINFIELD="0" INTTYPE="X" INTLEN="000001" DOMNAME="INT1" ROUTPUTLEN="000000" HEADLEN="00" SCRLEN1="04" SCRLEN2="04" SCRLEN3="04" DTELMASTER="D" DATATYPE="INT1" LENG="000003" OUTPUTLEN="000003" DECIMALS="000000" MASK="  INT1E" MASKLEN="0000" DDTEXT="Byte Value" SCRTEXT_S="Byte" SCRTEXT_M="Byte" SCRTEXT_L="Byte" DOMNAME3L="INT1" DEPTH="00" COMPTYPE="E" EXCLASS="0" DBPOSITION="0000"/>
  <dd03p TABNAME="ZEXCEL_S_STYLES_MAPPING" FIELDNAME="CELL_FORMAT" DDLANGUAGE="E" POSITION="0003" ROLLNAME="CHAR1" ADMINFIELD="0" INTTYPE="C" INTLEN="000002" DOMNAME="CHAR1" ROUTPUTLEN="000000" HEADLEN="00" SCRLEN1="00" SCRLEN2="00" SCRLEN3="00" DTELMASTER="D" DATATYPE="CHAR" LENG="000001" OUTPUTLEN="000001" DECIMALS="000000" MASK="  CHARE" MASKLEN="0000" DDTEXT="Single-Character Indicator" DOMNAME3L="CHAR1" DEPTH="00" COMPTYPE="E" EXCLASS="0" DBPOSITION="0000"/>
 </TABL>
 <TABL TABNAME="ZEXCEL_S_STYLE_BORDER" DDLANGUAGE="E" TABCLASS="INTTAB" DATMIN="0000000000" DATMAX="0000000000" DATAVG="0000000000" DDTEXT="Border Style" AUTHCLASS="00" AS4USER="FEMIA" AS4DATE="20100706" AS4TIME="120557" PROZPUFF="000" EXCLASS="1">
  <dd09l AS4VERS="0000" SCHFELDANZ="000" AS4DATE="00000000" AS4TIME="000000"/>
  <dd03p TABNAME="ZEXCEL_S_STYLE_BORDER" FIELDNAME="LEFT_COLOR" DDLANGUAGE="E" POSITION="0001" ROLLNAME="ZEXCEL_STYLE_COLOR_ARGB" ADMINFIELD="0" INTTYPE="C" INTLEN="000016" DOMNAME="CHAR8" ROUTPUTLEN="000000" HEADLEN="10" SCRLEN1="10" SCRLEN2="15" SCRLEN3="20" DTELMASTER="E" DATATYPE="CHAR" LENG="000008" OUTPUTLEN="000008" DECIMALS="000000" MASK="  CHARE" MASKLEN="0000" DDTEXT="Color ARGB" REPTEXT="Color ARGB" SCRTEXT_S="Color ARGB" SCRTEXT_M="Color ARGB" SCRTEXT_L="Color ARGB" DOMNAME3L="CHAR8" DEPTH="00" COMPTYPE="E" EXCLASS="0" DBPOSITION="0000"/>
  <dd03p TABNAME="ZEXCEL_S_STYLE_BORDER" FIELDNAME="LEFT_STYLE" DDLANGUAGE="E" POSITION="0002" ROLLNAME="ZEXCEL_BORDER" ADMINFIELD="0" INTTYPE="C" INTLEN="000040" DOMNAME="CHAR20" ROUTPUTLEN="000000" HEADLEN="12" SCRLEN1="06" SCRLEN2="12" SCRLEN3="12" DTELMASTER="E" DATATYPE="CHAR" LENG="000020" OUTPUTLEN="000020" DECIMALS="000000" MASK="  CHARE" MASKLEN="0000" DDTEXT="Border style" REPTEXT="Border style" SCRTEXT_S="Border" SCRTEXT_M="Border style" SCRTEXT_L="Border style" DOMNAME3L="CHAR20" DEPTH="00" COMPTYPE="E" EXCLASS="0" DBPOSITION="0000"/>
  <dd03p TABNAME="ZEXCEL_S_STYLE_BORDER" FIELDNAME="RIGHT_COLOR" DDLANGUAGE="E" POSITION="0003" ROLLNAME="ZEXCEL_STYLE_COLOR_ARGB" ADMINFIELD="0" INTTYPE="C" INTLEN="000016" DOMNAME="CHAR8" ROUTPUTLEN="000000" HEADLEN="10" SCRLEN1="10" SCRLEN2="15" SCRLEN3="20" DTELMASTER="E" DATATYPE="CHAR" LENG="000008" OUTPUTLEN="000008" DECIMALS="000000" MASK="  CHARE" MASKLEN="0000" DDTEXT="Color ARGB" REPTEXT="Color ARGB" SCRTEXT_S="Color ARGB" SCRTEXT_M="Color ARGB" SCRTEXT_L="Color ARGB" DOMNAME3L="CHAR8" DEPTH="00" COMPTYPE="E" EXCLASS="0" DBPOSITION="0000"/>
  <dd03p TABNAME="ZEXCEL_S_STYLE_BORDER" FIELDNAME="RIGHT_STYLE" DDLANGUAGE="E" POSITION="0004" ROLLNAME="ZEXCEL_BORDER" ADMINFIELD="0" INTTYPE="C" INTLEN="000040" DOMNAME="CHAR20" ROUTPUTLEN="000000" HEADLEN="12" SCRLEN1="06" SCRLEN2="12" SCRLEN3="12" DTELMASTER="E" DATATYPE="CHAR" LENG="000020" OUTPUTLEN="000020" DECIMALS="000000" MASK="  CHARE" MASKLEN="0000" DDTEXT="Border style" REPTEXT="Border style" SCRTEXT_S="Border" SCRTEXT_M="Border style" SCRTEXT_L="Border style" DOMNAME3L="CHAR20" DEPTH="00" COMPTYPE="E" EXCLASS="0" DBPOSITION="0000"/>
  <dd03p TABNAME="ZEXCEL_S_STYLE_BORDER" FIELDNAME="TOP_COLOR" DDLANGUAGE="E" POSITION="0005" ROLLNAME="ZEXCEL_STYLE_COLOR_ARGB" ADMINFIELD="0" INTTYPE="C" INTLEN="000016" DOMNAME="CHAR8" ROUTPUTLEN="000000" HEADLEN="10" SCRLEN1="10" SCRLEN2="15" SCRLEN3="20" DTELMASTER="E" DATATYPE="CHAR" LENG="000008" OUTPUTLEN="000008" DECIMALS="000000" MASK="  CHARE" MASKLEN="0000" DDTEXT="Color ARGB" REPTEXT="Color ARGB" SCRTEXT_S="Color ARGB" SCRTEXT_M="Color ARGB" SCRTEXT_L="Color ARGB" DOMNAME3L="CHAR8" DEPTH="00" COMPTYPE="E" EXCLASS="0" DBPOSITION="0000"/>
  <dd03p TABNAME="ZEXCEL_S_STYLE_BORDER" FIELDNAME="TOP_STYLE" DDLANGUAGE="E" POSITION="0006" ROLLNAME="ZEXCEL_BORDER" ADMINFIELD="0" INTTYPE="C" INTLEN="000040" DOMNAME="CHAR20" ROUTPUTLEN="000000" HEADLEN="12" SCRLEN1="06" SCRLEN2="12" SCRLEN3="12" DTELMASTER="E" DATATYPE="CHAR" LENG="000020" OUTPUTLEN="000020" DECIMALS="000000" MASK="  CHARE" MASKLEN="0000" DDTEXT="Border style" REPTEXT="Border style" SCRTEXT_S="Border" SCRTEXT_M="Border style" SCRTEXT_L="Border style" DOMNAME3L="CHAR20" DEPTH="00" COMPTYPE="E" EXCLASS="0" DBPOSITION="0000"/>
  <dd03p TABNAME="ZEXCEL_S_STYLE_BORDER" FIELDNAME="BOTTOM_COLOR" DDLANGUAGE="E" POSITION="0007" ROLLNAME="ZEXCEL_STYLE_COLOR_ARGB" ADMINFIELD="0" INTTYPE="C" INTLEN="000016" DOMNAME="CHAR8" ROUTPUTLEN="000000" HEADLEN="10" SCRLEN1="10" SCRLEN2="15" SCRLEN3="20" DTELMASTER="E" DATATYPE="CHAR" LENG="000008" OUTPUTLEN="000008" DECIMALS="000000" MASK="  CHARE" MASKLEN="0000" DDTEXT="Color ARGB" REPTEXT="Color ARGB" SCRTEXT_S="Color ARGB" SCRTEXT_M="Color ARGB" SCRTEXT_L="Color ARGB" DOMNAME3L="CHAR8" DEPTH="00" COMPTYPE="E" EXCLASS="0" DBPOSITION="0000"/>
  <dd03p TABNAME="ZEXCEL_S_STYLE_BORDER" FIELDNAME="BOTTOM_STYLE" DDLANGUAGE="E" POSITION="0008" ROLLNAME="ZEXCEL_BORDER" ADMINFIELD="0" INTTYPE="C" INTLEN="000040" DOMNAME="CHAR20" ROUTPUTLEN="000000" HEADLEN="12" SCRLEN1="06" SCRLEN2="12" SCRLEN3="12" DTELMASTER="E" DATATYPE="CHAR" LENG="000020" OUTPUTLEN="000020" DECIMALS="000000" MASK="  CHARE" MASKLEN="0000" DDTEXT="Border style" REPTEXT="Border style" SCRTEXT_S="Border" SCRTEXT_M="Border style" SCRTEXT_L="Border style" DOMNAME3L="CHAR20" DEPTH="00" COMPTYPE="E" EXCLASS="0" DBPOSITION="0000"/>
  <dd03p TABNAME="ZEXCEL_S_STYLE_BORDER" FIELDNAME="DIAGONAL_COLOR" DDLANGUAGE="E" POSITION="0009" ROLLNAME="ZEXCEL_STYLE_COLOR_ARGB" ADMINFIELD="0" INTTYPE="C" INTLEN="000016" DOMNAME="CHAR8" ROUTPUTLEN="000000" HEADLEN="10" SCRLEN1="10" SCRLEN2="15" SCRLEN3="20" DTELMASTER="E" DATATYPE="CHAR" LENG="000008" OUTPUTLEN="000008" DECIMALS="000000" MASK="  CHARE" MASKLEN="0000" DDTEXT="Color ARGB" REPTEXT="Color ARGB" SCRTEXT_S="Color ARGB" SCRTEXT_M="Color ARGB" SCRTEXT_L="Color ARGB" DOMNAME3L="CHAR8" DEPTH="00" COMPTYPE="E" EXCLASS="0" DBPOSITION="0000"/>
  <dd03p TABNAME="ZEXCEL_S_STYLE_BORDER" FIELDNAME="DIAGONAL_STYLE" DDLANGUAGE="E" POSITION="0010" ROLLNAME="ZEXCEL_BORDER" ADMINFIELD="0" INTTYPE="C" INTLEN="000040" DOMNAME="CHAR20" ROUTPUTLEN="000000" HEADLEN="12" SCRLEN1="06" SCRLEN2="12" SCRLEN3="12" DTELMASTER="E" DATATYPE="CHAR" LENG="000020" OUTPUTLEN="000020" DECIMALS="000000" MASK="  CHARE" MASKLEN="0000" DDTEXT="Border style" REPTEXT="Border style" SCRTEXT_S="Border" SCRTEXT_M="Border style" SCRTEXT_L="Border style" DOMNAME3L="CHAR20" DEPTH="00" COMPTYPE="E" EXCLASS="0" DBPOSITION="0000"/>
 </TABL>
 <TABL TABNAME="ZEXCEL_S_STYLE_FILL" DDLANGUAGE="E" TABCLASS="INTTAB" DATMIN="0000000000" DATMAX="0000000000" DATAVG="0000000000" DDTEXT="Cell Fill" AUTHCLASS="00" AS4USER="FEMIA" AS4DATE="20100705" AS4TIME="120552" PROZPUFF="000" EXCLASS="1">
  <dd09l AS4VERS="0000" SCHFELDANZ="000" AS4DATE="00000000" AS4TIME="000000"/>
  <dd03p TABNAME="ZEXCEL_S_STYLE_FILL" FIELDNAME="FILLTYPE" DDLANGUAGE="E" POSITION="0001" ROLLNAME="ZEXCEL_FILL_TYPE" ADMINFIELD="0" INTTYPE="C" INTLEN="000040" DOMNAME="CHAR20" ROUTPUTLEN="000000" HEADLEN="09" SCRLEN1="09" SCRLEN2="09" SCRLEN3="09" DTELMASTER="E" DATATYPE="CHAR" LENG="000020" OUTPUTLEN="000020" DECIMALS="000000" MASK="  CHARE" MASKLEN="0000" DDTEXT="Fill Type" REPTEXT="Fill Type" SCRTEXT_S="Fill Type" SCRTEXT_M="Fill Type" SCRTEXT_L="Fill Type" DOMNAME3L="CHAR20" DEPTH="00" COMPTYPE="E" EXCLASS="0" DBPOSITION="0000"/>
  <dd03p TABNAME="ZEXCEL_S_STYLE_FILL" FIELDNAME="ROTATION" DDLANGUAGE="E" POSITION="0002" ROLLNAME="ZEXCEL_ROTATION" ADMINFIELD="0" INTTYPE="P" INTLEN="000008" DOMNAME="DEC_15_3" ROUTPUTLEN="000000" HEADLEN="19" SCRLEN1="10" SCRLEN2="15" SCRLEN3="20" DTELMASTER="E" DATATYPE="DEC" LENG="000015" OUTPUTLEN="000019" DECIMALS="000003" MASK="  DEC E" MASKLEN="0000" DDTEXT="Rotation" REPTEXT="Rotation" SCRTEXT_S="Rotation" SCRTEXT_M="Rotation" SCRTEXT_L="Rotation" DOMNAME3L="DEC_15_3" DEPTH="00" COMPTYPE="E" EXCLASS="0" DBPOSITION="0000"/>
  <dd03p TABNAME="ZEXCEL_S_STYLE_FILL" FIELDNAME="FGCOLOR" DDLANGUAGE="E" POSITION="0003" ROLLNAME="ZEXCEL_STYLE_COLOR_ARGB" ADMINFIELD="0" INTTYPE="C" INTLEN="000016" DOMNAME="CHAR8" ROUTPUTLEN="000000" HEADLEN="10" SCRLEN1="10" SCRLEN2="15" SCRLEN3="20" DTELMASTER="E" DATATYPE="CHAR" LENG="000008" OUTPUTLEN="000008" DECIMALS="000000" MASK="  CHARE" MASKLEN="0000" DDTEXT="Color ARGB" REPTEXT="Color ARGB" SCRTEXT_S="Color ARGB" SCRTEXT_M="Color ARGB" SCRTEXT_L="Color ARGB" DOMNAME3L="CHAR8" DEPTH="00" COMPTYPE="E" EXCLASS="0" DBPOSITION="0000"/>
  <dd03p TABNAME="ZEXCEL_S_STYLE_FILL" FIELDNAME="BGCOLOR" DDLANGUAGE="E" POSITION="0004" ROLLNAME="ZEXCEL_STYLE_COLOR_ARGB" ADMINFIELD="0" INTTYPE="C" INTLEN="000016" DOMNAME="CHAR8" ROUTPUTLEN="000000" HEADLEN="10" SCRLEN1="10" SCRLEN2="15" SCRLEN3="20" DTELMASTER="E" DATATYPE="CHAR" LENG="000008" OUTPUTLEN="000008" DECIMALS="000000" MASK="  CHARE" MASKLEN="0000" DDTEXT="Color ARGB" REPTEXT="Color ARGB" SCRTEXT_S="Color ARGB" SCRTEXT_M="Color ARGB" SCRTEXT_L="Color ARGB" DOMNAME3L="CHAR8" DEPTH="00" COMPTYPE="E" EXCLASS="0" DBPOSITION="0000"/>
 </TABL>
 <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" AS4USER="FEMIA" AS4DATE="20100705" AS4TIME="120344" DDTEXT="Table type for styles ZEXCEL_S_STYLE_FONT" TYPELEN="000618" CTLENG="000000" CTDECIMALS="000000" OCCURS="00000">
  <dd42v TYPENAME="ZEXCEL_T_STYLE_FONT" KEYFDPOS="0001" ROWTYPEPOS="0001" KEYFIELD="BOLD"/>
  <dd42v TYPENAME="ZEXCEL_T_STYLE_FONT" KEYFDPOS="0002" ROWTYPEPOS="0002" KEYFIELD="ITALIC"/>
  <dd42v TYPENAME="ZEXCEL_T_STYLE_FONT" KEYFDPOS="0003" ROWTYPEPOS="0003" KEYFIELD="UNDERLINE"/>
  <dd42v TYPENAME="ZEXCEL_T_STYLE_FONT" KEYFDPOS="0004" ROWTYPEPOS="0004" KEYFIELD="UNDERLINE_MODE"/>
  <dd42v TYPENAME="ZEXCEL_T_STYLE_FONT" KEYFDPOS="0005" ROWTYPEPOS="0005" KEYFIELD="STRIKETHROUGH"/>
  <dd42v TYPENAME="ZEXCEL_T_STYLE_FONT" KEYFDPOS="0006" ROWTYPEPOS="0006" KEYFIELD="SIZE"/>
  <dd42v TYPENAME="ZEXCEL_T_STYLE_FONT" KEYFDPOS="0007" ROWTYPEPOS="0007" KEYFIELD="COLOR"/>
  <dd42v TYPENAME="ZEXCEL_T_STYLE_FONT" KEYFDPOS="0008" ROWTYPEPOS="0008" KEYFIELD="NAME"/>
  <dd42v TYPENAME="ZEXCEL_T_STYLE_FONT" KEYFDPOS="0009" ROWTYPEPOS="0009" KEYFIELD="FAMILY"/>
  <dd42v TYPENAME="ZEXCEL_T_STYLE_FONT" KEYFDPOS="0010" ROWTYPEPOS="0010" KEYFIELD="SCHEME"/>
 </TTYP>
 <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" AS4USER="FEMIA" AS4DATE="20100705" AS4TIME="120624" DDTEXT="Cell Fills" TYPELEN="000080" 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="0004" KEYFIELD="BGCOLOR"/>
 </TTYP>
 <TTYP TYPENAME="ZEXCEL_T_STYLE_BORDER" DDLANGUAGE="E" ROWTYPE="ZEXCEL_S_STYLE_BORDER" ROWKIND="S" DATATYPE="STRU" LENG="000000" DECIMALS="000000" ACCESSMODE="T" KEYDEF="K" KEYKIND="N" KEYFDCOUNT="0010" AS4USER="FEMIA" AS4DATE="20100706" AS4TIME="120613" DDTEXT="Border Style" TYPELEN="000280" CTLENG="000000" CTDECIMALS="000000" OCCURS="00000">
  <dd42v TYPENAME="ZEXCEL_T_STYLE_BORDER" KEYFDPOS="0001" ROWTYPEPOS="0001" KEYFIELD="LEFT_COLOR"/>
  <dd42v TYPENAME="ZEXCEL_T_STYLE_BORDER" KEYFDPOS="0002" ROWTYPEPOS="0002" KEYFIELD="LEFT_STYLE"/>
  <dd42v TYPENAME="ZEXCEL_T_STYLE_BORDER" KEYFDPOS="0003" ROWTYPEPOS="0003" KEYFIELD="RIGHT_COLOR"/>
  <dd42v TYPENAME="ZEXCEL_T_STYLE_BORDER" KEYFDPOS="0004" ROWTYPEPOS="0004" KEYFIELD="RIGHT_STYLE"/>
  <dd42v TYPENAME="ZEXCEL_T_STYLE_BORDER" KEYFDPOS="0005" ROWTYPEPOS="0005" KEYFIELD="TOP_COLOR"/>
  <dd42v TYPENAME="ZEXCEL_T_STYLE_BORDER" KEYFDPOS="0006" ROWTYPEPOS="0006" KEYFIELD="TOP_STYLE"/>
  <dd42v TYPENAME="ZEXCEL_T_STYLE_BORDER" KEYFDPOS="0007" ROWTYPEPOS="0007" KEYFIELD="BOTTOM_COLOR"/>
  <dd42v TYPENAME="ZEXCEL_T_STYLE_BORDER" KEYFDPOS="0008" ROWTYPEPOS="0008" KEYFIELD="BOTTOM_STYLE"/>
  <dd42v TYPENAME="ZEXCEL_T_STYLE_BORDER" KEYFDPOS="0009" ROWTYPEPOS="0009" KEYFIELD="DIAGONAL_COLOR"/>
  <dd42v TYPENAME="ZEXCEL_T_STYLE_BORDER" KEYFDPOS="0010" ROWTYPEPOS="0010" KEYFIELD="DIAGONAL_STYLE"/>
 </TTYP>
 <TTYP TYPENAME="ZEXCEL_T_STYLES_MAPPING" DDLANGUAGE="E" ROWTYPE="ZEXCEL_S_STYLES_MAPPING" ROWKIND="S" DATATYPE="STRU" LENG="000000" DECIMALS="000000" ACCESSMODE="T" KEYDEF="D" KEYKIND="N" KEYFDCOUNT="0000" AS4USER="FEMIA" AS4DATE="20100709" AS4TIME="174301" DDTEXT="Styles mapping" TYPELEN="000020" CTLENG="000000" CTDECIMALS="000000" OCCURS="00000"/>
 <TTYP TYPENAME="ZEXCEL_T_SHARED_STRING" DDLANGUAGE="E" ROWTYPE="ZEXCEL_S_SHARED_STRING" ROWKIND="S" DATATYPE="STRU" LENG="000000" DECIMALS="000000" ACCESSMODE="T" KEYDEF="D" KEYKIND="N" KEYFDCOUNT="0000" AS4USER="FEMIA" AS4DATE="20100702" AS4TIME="163328" DDTEXT="Shared Strings" TYPELEN="000012" CTLENG="000000" CTDECIMALS="000000" OCCURS="00000"/>
 <TTYP TYPENAME="ZEXCEL_T_CELL_DATA_UNSORTED" DDLANGUAGE="E" ROWTYPE="ZEXCEL_S_CELL_DATA" ROWKIND="S" DATATYPE="STRU" LENG="000000" DECIMALS="000000" ACCESSMODE="T" KEYDEF="D" KEYKIND="N" KEYFDCOUNT="0000" AS4USER="FEMIA" AS4DATE="20100710" AS4TIME="094202" DDTEXT="Excel worksheet content" TYPELEN="000048" CTLENG="000000" CTDECIMALS="000000" OCCURS="00000"/>
 <TTYP TYPENAME="ZEXCEL_T_CELL_DATA" DDLANGUAGE="E" ROWTYPE="ZEXCEL_S_CELL_DATA" ROWKIND="S" DATATYPE="STRU" LENG="000000" DECIMALS="000000" ACCESSMODE="T" KEYDEF="K" KEYKIND="N" KEYFDCOUNT="0002" AS4USER="FEMIA" AS4DATE="20100710" AS4TIME="094202" DDTEXT="Excel worksheet content" TYPELEN="000048" CTLENG="000000" CTDECIMALS="000000" OCCURS="00000">
  <dd42v TYPENAME="ZEXCEL_T_CELL_DATA" KEYFDPOS="0001" ROWTYPEPOS="0001" KEYFIELD="CELL_ROW"/>
  <dd42v TYPENAME="ZEXCEL_T_CELL_DATA" KEYFDPOS="0002" ROWTYPEPOS="0002" KEYFIELD="CELL_COLUMN"/>
 </TTYP>
 <TTYP TYPENAME="ZEXCEL_T_CELLXFS" DDLANGUAGE="E" ROWTYPE="ZEXCEL_S_CELLXFS" ROWKIND="S" DATATYPE="STRU" LENG="000000" DECIMALS="000000" ACCESSMODE="T" KEYDEF="K" KEYKIND="N" KEYFDCOUNT="0009" AS4USER="FEMIA" AS4DATE="20100708" AS4TIME="235645" DDTEXT="Cell styles" TYPELEN="000009" CTLENG="000000" CTDECIMALS="000000" OCCURS="00000">
  <dd42v TYPENAME="ZEXCEL_T_CELLXFS" KEYFDPOS="0001" ROWTYPEPOS="0001" KEYFIELD="NUMFMTID"/>
  <dd42v TYPENAME="ZEXCEL_T_CELLXFS" KEYFDPOS="0002" ROWTYPEPOS="0002" KEYFIELD="FONTID"/>
  <dd42v TYPENAME="ZEXCEL_T_CELLXFS" KEYFDPOS="0003" ROWTYPEPOS="0003" KEYFIELD="FILLID"/>
  <dd42v TYPENAME="ZEXCEL_T_CELLXFS" KEYFDPOS="0004" ROWTYPEPOS="0004" KEYFIELD="BORDERID"/>
  <dd42v TYPENAME="ZEXCEL_T_CELLXFS" KEYFDPOS="0005" ROWTYPEPOS="0005" KEYFIELD="XFID"/>
  <dd42v TYPENAME="ZEXCEL_T_CELLXFS" KEYFDPOS="0006" ROWTYPEPOS="0006" KEYFIELD="APPLYNUMBERFORMAT"/>
  <dd42v TYPENAME="ZEXCEL_T_CELLXFS" KEYFDPOS="0007" ROWTYPEPOS="0007" KEYFIELD="APPLYFONT"/>
  <dd42v TYPENAME="ZEXCEL_T_CELLXFS" KEYFDPOS="0008" ROWTYPEPOS="0008" KEYFIELD="APPLYFILL"/>
  <dd42v TYPENAME="ZEXCEL_T_CELLXFS" KEYFDPOS="0009" ROWTYPEPOS="0009" KEYFIELD="APPLYBORDER"/>
 </TTYP>
</nugget>
