title: Add style to excel file created with xml using xslt
body: <p>I need to indent the text in specific cells.The specific cells are xml elements that have children.</p>
  
  <p>My XML is:</p>
  
  <pre><code>&lt;rows&gt;
  
  &lt;row id="FOLDER1"&gt;
      &lt;cell image="blank.gif"&gt;Folder 1&lt;/cell&gt;
      &lt;cell/&gt;
      &lt;cell/&gt;
      &lt;cell/&gt;
      &lt;cell/&gt;
      &lt;cell/&gt;
      &lt;cell/&gt;
      &lt;cell sum="1"&gt;$23&lt;/cell&gt;
      &lt;row id="FOLDER2"&gt;
          &lt;cell image="blank.gif"&gt;Folder 2&lt;/cell&gt;
          &lt;cell/&gt;
          &lt;cell/&gt;
          &lt;cell/&gt;
          &lt;cell/&gt;
          &lt;cell/&gt;
          &lt;cell/&gt;
          &lt;cell sum="2"&gt;$11&lt;/cell&gt;
          &lt;row id="FOLDER3"&gt;
              &lt;cell image="blank.gif"&gt;Folder 3&lt;/cell&gt;
              &lt;cell/&gt;
              &lt;cell/&gt;
              &lt;cell/&gt;
              &lt;cell/&gt;
              &lt;cell/&gt;
              &lt;cell/&gt;
              &lt;cell sum="3"&gt;$44&lt;/cell&gt;
              &lt;row id="pro1"&gt;
                  &lt;cell image="blank.gif"&gt;Product 1&lt;/cell&gt;
                  &lt;cell&gt;324234&lt;/cell&gt;
                  &lt;cell&gt;3.00&lt;/cell&gt;
                  &lt;cell&gt;Kilo&lt;/cell&gt;
                  &lt;cell&gt;1.00&lt;/cell&gt;
                  &lt;cell&gt;No&lt;/cell&gt;
                  &lt;cell&gt;euro 33.33&lt;/cell&gt;
                  &lt;cell&gt;euro 33.33&lt;/cell&gt;
              &lt;/row&gt;
              &lt;row id="pro2"&gt;
                  &lt;cell image="blank.gif"&gt;Product 2&lt;/cell&gt;
                  &lt;cell&gt;4354354&lt;/cell&gt;
                  &lt;cell&gt;1.00&lt;/cell&gt;
                  &lt;cell&gt;Kilo&lt;/cell&gt;
                  &lt;cell &gt;0.50&lt;/cell&gt;
                  &lt;cell&gt;No&lt;/cell&gt;
                  &lt;cell&gt;euro 2.53&lt;/cell&gt;
                  &lt;cell&gt;euro 1.26&lt;/cell&gt;
              &lt;/row&gt;
  
          &lt;/row&gt;
          &lt;row id="pro3"&gt;
              &lt;cell image="blank.gif"&gt;Product 3&lt;/cell&gt;
              &lt;cell&gt;435436&lt;/cell&gt;
              &lt;cell&gt;10.00&lt;/cell&gt;
              &lt;cell&gt;Kilo&lt;/cell&gt;
              &lt;cell&gt;Yes&lt;/cell&gt;
              &lt;cell&gt;euro 0.36&lt;/cell&gt;
              &lt;cell&gt;euro 3.60&lt;/cell&gt;
          &lt;/row&gt;
  
          &lt;row id="pro4"&gt;
              &lt;cell image="blank.gif"&gt;Product 4&lt;/cell&gt;
              &lt;cell&gt;435435&lt;/cell&gt;
              &lt;cell&gt;3.28&lt;/cell&gt;
              &lt;cell&gt;Kilo&lt;/cell&gt;
              &lt;cell&gt;1.00&lt;/cell&gt;
              &lt;cell&gt;No&lt;/cell&gt;
              &lt;cell&gt;euro 17.38&lt;/cell&gt;
              &lt;cell&gt;euro 17.38&lt;/cell&gt;
          &lt;/row&gt;
      &lt;/row&gt;
  &lt;/row&gt;
  &lt;row id="FOLDER1"&gt;
      &lt;cell image="blank.gif"&gt;Folder 4&lt;/cell&gt;
      &lt;cell/&gt;
      &lt;cell/&gt;
      &lt;cell/&gt;
      &lt;cell/&gt;
      &lt;cell/&gt;
      &lt;cell/&gt;
      &lt;cell sum="1"&gt;$23&lt;/cell&gt;
  &lt;/row&gt;
  </code></pre>
  
  <p></p>
  
  <p>My XSLT is:</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="ISO-8859-1"?&gt;
  
  &lt;?mso-application progid="Excel.Sheet"?&gt;
  &lt;xsl:stylesheet version="1.0"
      xmlns:html="http://www.w3.org/TR/REC-html40"
      xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
      xmlns="urn:schemas-microsoft-com:office:spreadsheet"
      xmlns:o="urn:schemas-microsoft-com:office:office"
      xmlns:x="urn:schemas-microsoft-com:office:excel"
      xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet"&gt;
  
  
    &lt;xsl:param name="header1"&gt;Header1&lt;/xsl:param&gt;
    &lt;xsl:param name="header2"&gt;Header2&lt;/xsl:param&gt;
    &lt;xsl:param name="header3"&gt;Header3&lt;/xsl:param&gt;
    &lt;xsl:param name="header4"&gt;Header4&lt;/xsl:param&gt;
    &lt;xsl:param name="header5"&gt;Header5&lt;/xsl:param&gt;
    &lt;xsl:param name="header6"&gt;Header6&lt;/xsl:param&gt;
    &lt;xsl:param name="header7"&gt;Header7&lt;/xsl:param&gt;
    &lt;xsl:param name="header8"&gt;Header8&lt;/xsl:param&gt;
  
    &lt;xsl:template match="rows"&gt;
  
      &lt;Workbook&gt;
        &lt;Styles&gt;
          &lt;Style ss:ID="Default" ss:Name="Normal"&gt;
            &lt;Alignment ss:Vertical="Bottom" /&gt;
            &lt;Borders /&gt;
            &lt;Font /&gt;
            &lt;Interior /&gt;
            &lt;NumberFormat /&gt;
            &lt;Protection /&gt;
          &lt;/Style&gt;
          &lt;Style ss:ID="s21"&gt;
            &lt;Font ss:Size="22" ss:Bold="1" /&gt;
          &lt;/Style&gt;
          &lt;Style ss:ID="columnheaders"&gt;
            &lt;Font ss:Size="12" ss:Bold="1" /&gt;
          &lt;/Style&gt;
          &lt;Style ss:ID="s22"&gt;
            &lt;Font ss:Size="14" ss:Bold="1" /&gt;
          &lt;/Style&gt;
          &lt;Style ss:ID="s23"&gt;
            &lt;Font ss:Size="10"  /&gt;
          &lt;/Style&gt;
          &lt;Style ss:ID="s24"&gt;
            &lt;Font ss:Size="10" ss:Bold="1" /&gt;
          &lt;/Style&gt;
        &lt;/Styles&gt;
  
        &lt;Worksheet ss:Name="data"&gt;
          &lt;Table&gt;
            &lt;Column ss:AutoFitWidth="0" ss:Width="300" /&gt;
            &lt;Column ss:AutoFitWidth="0" ss:Width="95" /&gt;
            &lt;Column ss:AutoFitWidth="0" ss:Width="95" /&gt;
            &lt;Column ss:AutoFitWidth="0" ss:Width="175" /&gt;
            &lt;Column ss:AutoFitWidth="0" ss:Width="186" /&gt;
            &lt;Column ss:AutoFitWidth="0" ss:Width="185" /&gt;
            &lt;Column ss:AutoFitWidth="0" ss:Width="113" /&gt;
            &lt;Column ss:AutoFitWidth="0" ss:Width="133" /&gt;
  
  
            &lt;Row ss:AutoFitHeight="0" ss:Height="18"&gt;
              &lt;Cell ss:StyleID="columnheaders"&gt;
                &lt;Data ss:Type="String"&gt;
                  &lt;xsl:value-of select="$header1"/&gt;
                &lt;/Data&gt;
              &lt;/Cell&gt;
              &lt;Cell ss:StyleID="columnheaders"&gt;
                &lt;Data ss:Type="String"&gt;
                  &lt;xsl:value-of select="$header2"/&gt;
                &lt;/Data&gt;
              &lt;/Cell&gt;
              &lt;Cell ss:StyleID="columnheaders"&gt;
                &lt;Data ss:Type="String"&gt;
                  &lt;xsl:value-of select="$header3"/&gt;
                &lt;/Data&gt;
              &lt;/Cell&gt;
              &lt;Cell ss:StyleID="columnheaders"&gt;
                &lt;Data ss:Type="String"&gt;
                  &lt;xsl:value-of select="$header4"/&gt;
                &lt;/Data&gt;
              &lt;/Cell&gt;
              &lt;Cell ss:StyleID="columnheaders"&gt;
                &lt;Data ss:Type="String"&gt;
                  &lt;xsl:value-of select="$header5"/&gt;
                &lt;/Data&gt;
              &lt;/Cell&gt;
              &lt;Cell ss:StyleID="columnheaders"&gt;
                &lt;Data ss:Type="String"&gt;
                  &lt;xsl:value-of select="$header6"/&gt;
                &lt;/Data&gt;
              &lt;/Cell&gt;
              &lt;Cell ss:StyleID="columnheaders"&gt;
                &lt;Data ss:Type="String"&gt;
                  &lt;xsl:value-of select="$header7"/&gt;
                &lt;/Data&gt;
              &lt;/Cell&gt;
              &lt;Cell ss:StyleID="columnheaders"&gt;
                &lt;Data ss:Type="String"&gt;
                  &lt;xsl:value-of select="$header8"/&gt;
                &lt;/Data&gt;
              &lt;/Cell&gt;
            &lt;/Row&gt;
  
            &lt;xsl:apply-templates select="row"/&gt;
  
          &lt;/Table&gt;
        &lt;/Worksheet&gt;
  
      &lt;/Workbook&gt;
  
    &lt;/xsl:template&gt;
  
  
    &lt;xsl:template match="row"&gt;
      &lt;xsl:variable name="rowID"&gt;
        &lt;xsl:number level="any" format="1"/&gt;
      &lt;/xsl:variable&gt;
      &lt;Row ss:AutoFitHeight="0" ss:Height="18"&gt;
        &lt;xsl:for-each select="cell"&gt;
          &lt;xsl:variable name="colID"&gt;
            &lt;xsl:number value="position()" format="A"/&gt;
          &lt;/xsl:variable&gt;
          &lt;Cell ss:StyleID="s23"&gt;
            &lt;Data ss:Type="String"&gt;
              &lt;xsl:value-of select="translate(.,'?','&amp;#8364;')"/&gt;
            &lt;/Data&gt;
          &lt;/Cell&gt;
        &lt;/xsl:for-each&gt;
      &lt;/Row&gt;
  
      &lt;xsl:apply-templates select="row"/&gt;
    &lt;/xsl:template&gt;
  
  
  &lt;/xsl:stylesheet&gt;
  </code></pre>
  
  <p>My output generated from the transformations:</p>
  
  <pre><code>    &lt;?xml version="1.0" encoding="UTF-8"?&gt;
  &lt;Workbook xmlns:o="urn:schemas-microsoft-com:office:office" xmlns="urn:schemas-microsoft-com:office:spreadsheet" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:html="http://www.w3.org/TR/REC-html40" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet"&gt;
      &lt;Styles&gt;
          &lt;Style ss:ID="Default" ss:Name="Normal"&gt;
              &lt;Alignment ss:Vertical="Bottom"/&gt;
              &lt;Borders/&gt;
              &lt;Font/&gt;
              &lt;Interior/&gt;
              &lt;NumberFormat/&gt;
              &lt;Protection/&gt;
          &lt;/Style&gt;
          &lt;Style ss:ID="s21"&gt;
              &lt;Font ss:Size="22" ss:Bold="1"/&gt;
          &lt;/Style&gt;
          &lt;Style ss:ID="columnheaders"&gt;
              &lt;Font ss:Size="12" ss:Bold="1"/&gt;
          &lt;/Style&gt;
          &lt;Style ss:ID="s22"&gt;
              &lt;Font ss:Size="14" ss:Bold="1"/&gt;
          &lt;/Style&gt;
          &lt;Style ss:ID="s23"&gt;
              &lt;Font ss:Size="10"/&gt;
          &lt;/Style&gt;
          &lt;Style ss:ID="s24"&gt;
              &lt;Font ss:Size="10" ss:Bold="1"/&gt;
          &lt;/Style&gt;
      &lt;/Styles&gt;
      &lt;Worksheet ss:Name="data"&gt;
          &lt;Table&gt;
              &lt;Column ss:AutoFitWidth="0" ss:Width="300"/&gt;
              &lt;Column ss:AutoFitWidth="0" ss:Width="95"/&gt;
              &lt;Column ss:AutoFitWidth="0" ss:Width="95"/&gt;
              &lt;Column ss:AutoFitWidth="0" ss:Width="175"/&gt;
              &lt;Column ss:AutoFitWidth="0" ss:Width="186"/&gt;
              &lt;Column ss:AutoFitWidth="0" ss:Width="185"/&gt;
              &lt;Column ss:AutoFitWidth="0" ss:Width="113"/&gt;
              &lt;Column ss:AutoFitWidth="0" ss:Width="133"/&gt;
              &lt;Row ss:AutoFitHeight="0" ss:Height="18"&gt;
                  &lt;Cell ss:StyleID="columnheaders"&gt;
                      &lt;Data ss:Type="String"&gt;Header1&lt;/Data&gt;
                  &lt;/Cell&gt;
                  &lt;Cell ss:StyleID="columnheaders"&gt;
                      &lt;Data ss:Type="String"&gt;Header2&lt;/Data&gt;
                  &lt;/Cell&gt;
                  &lt;Cell ss:StyleID="columnheaders"&gt;
                      &lt;Data ss:Type="String"&gt;Header3&lt;/Data&gt;
                  &lt;/Cell&gt;
                  &lt;Cell ss:StyleID="columnheaders"&gt;
                      &lt;Data ss:Type="String"&gt;Header4&lt;/Data&gt;
                  &lt;/Cell&gt;
                  &lt;Cell ss:StyleID="columnheaders"&gt;
                      &lt;Data ss:Type="String"&gt;Header5&lt;/Data&gt;
                  &lt;/Cell&gt;
                  &lt;Cell ss:StyleID="columnheaders"&gt;
                      &lt;Data ss:Type="String"&gt;Header6&lt;/Data&gt;
                  &lt;/Cell&gt;
                  &lt;Cell ss:StyleID="columnheaders"&gt;
                      &lt;Data ss:Type="String"&gt;Header7&lt;/Data&gt;
                  &lt;/Cell&gt;
                  &lt;Cell ss:StyleID="columnheaders"&gt;
                      &lt;Data ss:Type="String"&gt;Header8&lt;/Data&gt;
                  &lt;/Cell&gt;
              &lt;/Row&gt;
              &lt;Row ss:AutoFitHeight="0" ss:Height="18"&gt;
                  &lt;Cell ss:StyleID="s23"&gt;
                      &lt;Data ss:Type="String"&gt;Folder 1&lt;/Data&gt;
                  &lt;/Cell&gt;
                  &lt;Cell ss:StyleID="s23"&gt;
                      &lt;Data ss:Type="String"/&gt;
                  &lt;/Cell&gt;
                  &lt;Cell ss:StyleID="s23"&gt;
                      &lt;Data ss:Type="String"/&gt;
                  &lt;/Cell&gt;
                  &lt;Cell ss:StyleID="s23"&gt;
                      &lt;Data ss:Type="String"/&gt;
                  &lt;/Cell&gt;
                  &lt;Cell ss:StyleID="s23"&gt;
                      &lt;Data ss:Type="String"/&gt;
                  &lt;/Cell&gt;
                  &lt;Cell ss:StyleID="s23"&gt;
                      &lt;Data ss:Type="String"/&gt;
                  &lt;/Cell&gt;
                  &lt;Cell ss:StyleID="s23"&gt;
                      &lt;Data ss:Type="String"/&gt;
                  &lt;/Cell&gt;
                  &lt;Cell ss:StyleID="s23"&gt;
                      &lt;Data ss:Type="String"&gt;$23&lt;/Data&gt;
                  &lt;/Cell&gt;
              &lt;/Row&gt;
              &lt;Row ss:AutoFitHeight="0" ss:Height="18"&gt;
                  &lt;Cell ss:StyleID="s23"&gt;
                      &lt;Data ss:Type="String"&gt;Folder 2&lt;/Data&gt;
                  &lt;/Cell&gt;
                  &lt;Cell ss:StyleID="s23"&gt;
                      &lt;Data ss:Type="String"/&gt;
                  &lt;/Cell&gt;
                  &lt;Cell ss:StyleID="s23"&gt;
                      &lt;Data ss:Type="String"/&gt;
                  &lt;/Cell&gt;
                  &lt;Cell ss:StyleID="s23"&gt;
                      &lt;Data ss:Type="String"/&gt;
                  &lt;/Cell&gt;
                  &lt;Cell ss:StyleID="s23"&gt;
                      &lt;Data ss:Type="String"/&gt;
                  &lt;/Cell&gt;
                  &lt;Cell ss:StyleID="s23"&gt;
                      &lt;Data ss:Type="String"/&gt;
                  &lt;/Cell&gt;
                  &lt;Cell ss:StyleID="s23"&gt;
                      &lt;Data ss:Type="String"/&gt;
                  &lt;/Cell&gt;
                  &lt;Cell ss:StyleID="s23"&gt;
                      &lt;Data ss:Type="String"&gt;$11&lt;/Data&gt;
                  &lt;/Cell&gt;
              &lt;/Row&gt;
              &lt;Row ss:AutoFitHeight="0" ss:Height="18"&gt;
                  &lt;Cell ss:StyleID="s23"&gt;
                      &lt;Data ss:Type="String"&gt;Folder 3&lt;/Data&gt;
                  &lt;/Cell&gt;
                  &lt;Cell ss:StyleID="s23"&gt;
                      &lt;Data ss:Type="String"/&gt;
                  &lt;/Cell&gt;
                  &lt;Cell ss:StyleID="s23"&gt;
                      &lt;Data ss:Type="String"/&gt;
                  &lt;/Cell&gt;
                  &lt;Cell ss:StyleID="s23"&gt;
                      &lt;Data ss:Type="String"/&gt;
                  &lt;/Cell&gt;
                  &lt;Cell ss:StyleID="s23"&gt;
                      &lt;Data ss:Type="String"/&gt;
                  &lt;/Cell&gt;
                  &lt;Cell ss:StyleID="s23"&gt;
                      &lt;Data ss:Type="String"/&gt;
                  &lt;/Cell&gt;
                  &lt;Cell ss:StyleID="s23"&gt;
                      &lt;Data ss:Type="String"/&gt;
                  &lt;/Cell&gt;
                  &lt;Cell ss:StyleID="s23"&gt;
                      &lt;Data ss:Type="String"&gt;$44&lt;/Data&gt;
                  &lt;/Cell&gt;
              &lt;/Row&gt;
              &lt;Row ss:AutoFitHeight="0" ss:Height="18"&gt;
                  &lt;Cell ss:StyleID="s23"&gt;
                      &lt;Data ss:Type="String"&gt;Product 1&lt;/Data&gt;
                  &lt;/Cell&gt;
                  &lt;Cell ss:StyleID="s23"&gt;
                      &lt;Data ss:Type="String"&gt;324234&lt;/Data&gt;
                  &lt;/Cell&gt;
                  &lt;Cell ss:StyleID="s23"&gt;
                      &lt;Data ss:Type="String"&gt;3.00&lt;/Data&gt;
                  &lt;/Cell&gt;
                  &lt;Cell ss:StyleID="s23"&gt;
                      &lt;Data ss:Type="String"&gt;Kilo&lt;/Data&gt;
                  &lt;/Cell&gt;
                  &lt;Cell ss:StyleID="s23"&gt;
                      &lt;Data ss:Type="String"&gt;1.00&lt;/Data&gt;
                  &lt;/Cell&gt;
                  &lt;Cell ss:StyleID="s23"&gt;
                      &lt;Data ss:Type="String"&gt;No&lt;/Data&gt;
                  &lt;/Cell&gt;
                  &lt;Cell ss:StyleID="s23"&gt;
                      &lt;Data ss:Type="String"&gt;euro 33.33&lt;/Data&gt;
                  &lt;/Cell&gt;
                  &lt;Cell ss:StyleID="s23"&gt;
                      &lt;Data ss:Type="String"&gt;euro 33.33&lt;/Data&gt;
                  &lt;/Cell&gt;
              &lt;/Row&gt;
              &lt;Row ss:AutoFitHeight="0" ss:Height="18"&gt;
                  &lt;Cell ss:StyleID="s23"&gt;
                      &lt;Data ss:Type="String"&gt;Product 2&lt;/Data&gt;
                  &lt;/Cell&gt;
                  &lt;Cell ss:StyleID="s23"&gt;
                      &lt;Data ss:Type="String"&gt;4354354&lt;/Data&gt;
                  &lt;/Cell&gt;
                  &lt;Cell ss:StyleID="s23"&gt;
                      &lt;Data ss:Type="String"&gt;1.00&lt;/Data&gt;
                  &lt;/Cell&gt;
                  &lt;Cell ss:StyleID="s23"&gt;
                      &lt;Data ss:Type="String"&gt;Kilo&lt;/Data&gt;
                  &lt;/Cell&gt;
                  &lt;Cell ss:StyleID="s23"&gt;
                      &lt;Data ss:Type="String"&gt;0.50&lt;/Data&gt;
                  &lt;/Cell&gt;
                  &lt;Cell ss:StyleID="s23"&gt;
                      &lt;Data ss:Type="String"&gt;No&lt;/Data&gt;
                  &lt;/Cell&gt;
                  &lt;Cell ss:StyleID="s23"&gt;
                      &lt;Data ss:Type="String"&gt;euro 2.53&lt;/Data&gt;
                  &lt;/Cell&gt;
                  &lt;Cell ss:StyleID="s23"&gt;
                      &lt;Data ss:Type="String"&gt;euro 1.26&lt;/Data&gt;
                  &lt;/Cell&gt;
              &lt;/Row&gt;
              &lt;Row ss:AutoFitHeight="0" ss:Height="18"&gt;
                  &lt;Cell ss:StyleID="s23"&gt;
                      &lt;Data ss:Type="String"&gt;Product 3&lt;/Data&gt;
                  &lt;/Cell&gt;
                  &lt;Cell ss:StyleID="s23"&gt;
                      &lt;Data ss:Type="String"&gt;435436&lt;/Data&gt;
                  &lt;/Cell&gt;
                  &lt;Cell ss:StyleID="s23"&gt;
                      &lt;Data ss:Type="String"&gt;10.00&lt;/Data&gt;
                  &lt;/Cell&gt;
                  &lt;Cell ss:StyleID="s23"&gt;
                      &lt;Data ss:Type="String"&gt;Kilo&lt;/Data&gt;
                  &lt;/Cell&gt;
                  &lt;Cell ss:StyleID="s23"&gt;
                      &lt;Data ss:Type="String"&gt;Yes&lt;/Data&gt;
                  &lt;/Cell&gt;
                  &lt;Cell ss:StyleID="s23"&gt;
                      &lt;Data ss:Type="String"&gt;euro 0.36&lt;/Data&gt;
                  &lt;/Cell&gt;
                  &lt;Cell ss:StyleID="s23"&gt;
                      &lt;Data ss:Type="String"&gt;euro 3.60&lt;/Data&gt;
                  &lt;/Cell&gt;
              &lt;/Row&gt;
              &lt;Row ss:AutoFitHeight="0" ss:Height="18"&gt;
                  &lt;Cell ss:StyleID="s23"&gt;
                      &lt;Data ss:Type="String"&gt;Product 4&lt;/Data&gt;
                  &lt;/Cell&gt;
                  &lt;Cell ss:StyleID="s23"&gt;
                      &lt;Data ss:Type="String"&gt;435435&lt;/Data&gt;
                  &lt;/Cell&gt;
                  &lt;Cell ss:StyleID="s23"&gt;
                      &lt;Data ss:Type="String"&gt;3.28&lt;/Data&gt;
                  &lt;/Cell&gt;
                  &lt;Cell ss:StyleID="s23"&gt;
                      &lt;Data ss:Type="String"&gt;Kilo&lt;/Data&gt;
                  &lt;/Cell&gt;
                  &lt;Cell ss:StyleID="s23"&gt;
                      &lt;Data ss:Type="String"&gt;1.00&lt;/Data&gt;
                  &lt;/Cell&gt;
                  &lt;Cell ss:StyleID="s23"&gt;
                      &lt;Data ss:Type="String"&gt;No&lt;/Data&gt;
                  &lt;/Cell&gt;
                  &lt;Cell ss:StyleID="s23"&gt;
                      &lt;Data ss:Type="String"&gt;euro 17.38&lt;/Data&gt;
                  &lt;/Cell&gt;
                  &lt;Cell ss:StyleID="s23"&gt;
                      &lt;Data ss:Type="String"&gt;euro 17.38&lt;/Data&gt;
                  &lt;/Cell&gt;
              &lt;/Row&gt;
              &lt;Row ss:AutoFitHeight="0" ss:Height="18"&gt;
                  &lt;Cell ss:StyleID="s23"&gt;
                      &lt;Data ss:Type="String"&gt;Folder 4&lt;/Data&gt;
                  &lt;/Cell&gt;
                  &lt;Cell ss:StyleID="s23"&gt;
                      &lt;Data ss:Type="String"/&gt;
                  &lt;/Cell&gt;
                  &lt;Cell ss:StyleID="s23"&gt;
                      &lt;Data ss:Type="String"/&gt;
                  &lt;/Cell&gt;
                  &lt;Cell ss:StyleID="s23"&gt;
                      &lt;Data ss:Type="String"/&gt;
                  &lt;/Cell&gt;
                  &lt;Cell ss:StyleID="s23"&gt;
                      &lt;Data ss:Type="String"/&gt;
                  &lt;/Cell&gt;
                  &lt;Cell ss:StyleID="s23"&gt;
                      &lt;Data ss:Type="String"/&gt;
                  &lt;/Cell&gt;
                  &lt;Cell ss:StyleID="s23"&gt;
                      &lt;Data ss:Type="String"/&gt;
                  &lt;/Cell&gt;
                  &lt;Cell ss:StyleID="s23"&gt;
                      &lt;Data ss:Type="String"&gt;$23&lt;/Data&gt;
                  &lt;/Cell&gt;
              &lt;/Row&gt;
          &lt;/Table&gt;
      &lt;/Worksheet&gt;
  &lt;/Workbook&gt;
  </code></pre>
  
  <p>And here how it looks like when opened in excel:
  <img src="https://i.stack.imgur.com/nSgeW.jpg" alt="screenshot"></p>
  
  <p>I need to indent the cells recursively and also to check if the rows have children if they do i need to make them italic,if not just to leave them unedited.
  Example of how it should look like:</p>
  
  <pre><code>*Folder1*
     *Folder2*
         *Folder3*
            Product1
            Product2
     Product3
     Product4
   Folder4
  </code></pre>
  
  <p>Here is the xml i should get:</p>
  
  <pre><code>    &lt;?xml version="1.0" encoding="UTF-8"?&gt;
  &lt;Workbook xmlns:o="urn:schemas-microsoft-com:office:office" xmlns="urn:schemas-microsoft-com:office:spreadsheet" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:html="http://www.w3.org/TR/REC-html40" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet"&gt;
      &lt;Styles&gt;
          &lt;Style ss:ID="Default" ss:Name="Normal"&gt;
              &lt;Alignment ss:Vertical="Bottom"/&gt;
              &lt;Borders/&gt;
              &lt;Font/&gt;
              &lt;Interior/&gt;
              &lt;NumberFormat/&gt;
              &lt;Protection/&gt;
          &lt;/Style&gt;
          &lt;Style ss:ID="s21"&gt;
              &lt;Font ss:Size="22" ss:Bold="1"/&gt;
          &lt;/Style&gt;
          &lt;Style ss:ID="columnheaders"&gt;
              &lt;Font ss:Size="12" ss:Bold="1"/&gt;
          &lt;/Style&gt;
          &lt;Style ss:ID="s22"&gt;
              &lt;Font ss:Size="14" ss:Bold="1"/&gt;
          &lt;/Style&gt;
          &lt;Style ss:ID="s23"&gt;
              &lt;Font ss:Size="10"/&gt;
          &lt;/Style&gt;
          &lt;Style ss:ID="s24"&gt;
              &lt;Font ss:Size="10" ss:Bold="1"/&gt;
          &lt;/Style&gt;
          &lt;Style ss:ID="parent1"&gt;
              &lt;Font ss:Size="10" ss:Italic="1"/&gt;
          &lt;/Style&gt;
          &lt;Style ss:ID="parent2"&gt;
              &lt;Alignment ss:Indent="1"/&gt;
              &lt;Font ss:Size="10" ss:Italic="1"/&gt;
          &lt;/Style&gt;
          &lt;Style ss:ID="parent3"&gt;
              &lt;Alignment ss:Indent="2"/&gt;
              &lt;Font ss:Size="10" ss:Italic="1"/&gt;
          &lt;/Style&gt;
          &lt;Style ss:ID="children3"&gt;
              &lt;Alignment ss:Indent="3"/&gt;
              &lt;Font ss:Size="10"/&gt;
          &lt;/Style&gt;
          &lt;Style ss:ID="children2"&gt;
              &lt;Alignment ss:Indent="2"/&gt;
              &lt;Font ss:Size="10"/&gt;
          &lt;/Style&gt;
      &lt;/Styles&gt;
      &lt;Worksheet ss:Name="data"&gt;
          &lt;Table&gt;
              &lt;Column ss:AutoFitWidth="0" ss:Width="300"/&gt;
              &lt;Column ss:AutoFitWidth="0" ss:Width="95"/&gt;
              &lt;Column ss:AutoFitWidth="0" ss:Width="95"/&gt;
              &lt;Column ss:AutoFitWidth="0" ss:Width="175"/&gt;
              &lt;Column ss:AutoFitWidth="0" ss:Width="186"/&gt;
              &lt;Column ss:AutoFitWidth="0" ss:Width="185"/&gt;
              &lt;Column ss:AutoFitWidth="0" ss:Width="113"/&gt;
              &lt;Column ss:AutoFitWidth="0" ss:Width="133"/&gt;
              &lt;Row ss:AutoFitHeight="0" ss:Height="18"&gt;
                  &lt;Cell ss:StyleID="columnheaders"&gt;
                      &lt;Data ss:Type="String"&gt;Header1&lt;/Data&gt;
                  &lt;/Cell&gt;
                  &lt;Cell ss:StyleID="columnheaders"&gt;
                      &lt;Data ss:Type="String"&gt;Header2&lt;/Data&gt;
                  &lt;/Cell&gt;
                  &lt;Cell ss:StyleID="columnheaders"&gt;
                      &lt;Data ss:Type="String"&gt;Header3&lt;/Data&gt;
                  &lt;/Cell&gt;
                  &lt;Cell ss:StyleID="columnheaders"&gt;
                      &lt;Data ss:Type="String"&gt;Header4&lt;/Data&gt;
                  &lt;/Cell&gt;
                  &lt;Cell ss:StyleID="columnheaders"&gt;
                      &lt;Data ss:Type="String"&gt;Header5&lt;/Data&gt;
                  &lt;/Cell&gt;
                  &lt;Cell ss:StyleID="columnheaders"&gt;
                      &lt;Data ss:Type="String"&gt;Header6&lt;/Data&gt;
                  &lt;/Cell&gt;
                  &lt;Cell ss:StyleID="columnheaders"&gt;
                      &lt;Data ss:Type="String"&gt;Header7&lt;/Data&gt;
                  &lt;/Cell&gt;
                  &lt;Cell ss:StyleID="columnheaders"&gt;
                      &lt;Data ss:Type="String"&gt;Header8&lt;/Data&gt;
                  &lt;/Cell&gt;
              &lt;/Row&gt;
              &lt;Row ss:AutoFitHeight="0" ss:Height="18"&gt;
                  &lt;Cell ss:StyleID="parent1"&gt;
                      &lt;Data ss:Type="String"&gt;Folder 1&lt;/Data&gt;
                  &lt;/Cell&gt;
                  &lt;Cell ss:StyleID="s23"&gt;
                      &lt;Data ss:Type="String"/&gt;
                  &lt;/Cell&gt;
                  &lt;Cell ss:StyleID="s23"&gt;
                      &lt;Data ss:Type="String"/&gt;
                  &lt;/Cell&gt;
                  &lt;Cell ss:StyleID="s23"&gt;
                      &lt;Data ss:Type="String"/&gt;
                  &lt;/Cell&gt;
                  &lt;Cell ss:StyleID="s23"&gt;
                      &lt;Data ss:Type="String"/&gt;
                  &lt;/Cell&gt;
                  &lt;Cell ss:StyleID="s23"&gt;
                      &lt;Data ss:Type="String"/&gt;
                  &lt;/Cell&gt;
                  &lt;Cell ss:StyleID="s23"&gt;
                      &lt;Data ss:Type="String"/&gt;
                  &lt;/Cell&gt;
                  &lt;Cell ss:StyleID="s23"&gt;
                      &lt;Data ss:Type="String"&gt;$23&lt;/Data&gt;
                  &lt;/Cell&gt;
              &lt;/Row&gt;
              &lt;Row ss:AutoFitHeight="0" ss:Height="18"&gt;
                  &lt;Cell ss:StyleID="parent2"&gt;
                      &lt;Data ss:Type="String"&gt;Folder 2&lt;/Data&gt;
                  &lt;/Cell&gt;
                  &lt;Cell ss:StyleID="s23"&gt;
                      &lt;Data ss:Type="String"/&gt;
                  &lt;/Cell&gt;
                  &lt;Cell ss:StyleID="s23"&gt;
                      &lt;Data ss:Type="String"/&gt;
                  &lt;/Cell&gt;
                  &lt;Cell ss:StyleID="s23"&gt;
                      &lt;Data ss:Type="String"/&gt;
                  &lt;/Cell&gt;
                  &lt;Cell ss:StyleID="s23"&gt;
                      &lt;Data ss:Type="String"/&gt;
                  &lt;/Cell&gt;
                  &lt;Cell ss:StyleID="s23"&gt;
                      &lt;Data ss:Type="String"/&gt;
                  &lt;/Cell&gt;
                  &lt;Cell ss:StyleID="s23"&gt;
                      &lt;Data ss:Type="String"/&gt;
                  &lt;/Cell&gt;
                  &lt;Cell ss:StyleID="s23"&gt;
                      &lt;Data ss:Type="String"&gt;$11&lt;/Data&gt;
                  &lt;/Cell&gt;
              &lt;/Row&gt;
              &lt;Row ss:AutoFitHeight="0" ss:Height="18"&gt;
                  &lt;Cell ss:StyleID="parent3"&gt;
                      &lt;Data ss:Type="String"&gt;Folder 3&lt;/Data&gt;
                  &lt;/Cell&gt;
                  &lt;Cell ss:StyleID="s23"&gt;
                      &lt;Data ss:Type="String"/&gt;
                  &lt;/Cell&gt;
                  &lt;Cell ss:StyleID="s23"&gt;
                      &lt;Data ss:Type="String"/&gt;
                  &lt;/Cell&gt;
                  &lt;Cell ss:StyleID="s23"&gt;
                      &lt;Data ss:Type="String"/&gt;
                  &lt;/Cell&gt;
                  &lt;Cell ss:StyleID="s23"&gt;
                      &lt;Data ss:Type="String"/&gt;
                  &lt;/Cell&gt;
                  &lt;Cell ss:StyleID="s23"&gt;
                      &lt;Data ss:Type="String"/&gt;
                  &lt;/Cell&gt;
                  &lt;Cell ss:StyleID="s23"&gt;
                      &lt;Data ss:Type="String"/&gt;
                  &lt;/Cell&gt;
                  &lt;Cell ss:StyleID="s23"&gt;
                      &lt;Data ss:Type="String"&gt;$44&lt;/Data&gt;
                  &lt;/Cell&gt;
              &lt;/Row&gt;
              &lt;Row ss:AutoFitHeight="0" ss:Height="18"&gt;
                  &lt;Cell ss:StyleID="children3"&gt;
                      &lt;Data ss:Type="String"&gt;Product 1&lt;/Data&gt;
                  &lt;/Cell&gt;
                  &lt;Cell ss:StyleID="s23"&gt;
                      &lt;Data ss:Type="String"&gt;324234&lt;/Data&gt;
                  &lt;/Cell&gt;
                  &lt;Cell ss:StyleID="s23"&gt;
                      &lt;Data ss:Type="String"&gt;3.00&lt;/Data&gt;
                  &lt;/Cell&gt;
                  &lt;Cell ss:StyleID="s23"&gt;
                      &lt;Data ss:Type="String"&gt;Kilo&lt;/Data&gt;
                  &lt;/Cell&gt;
                  &lt;Cell ss:StyleID="s23"&gt;
                      &lt;Data ss:Type="String"&gt;1.00&lt;/Data&gt;
                  &lt;/Cell&gt;
                  &lt;Cell ss:StyleID="s23"&gt;
                      &lt;Data ss:Type="String"&gt;No&lt;/Data&gt;
                  &lt;/Cell&gt;
                  &lt;Cell ss:StyleID="s23"&gt;
                      &lt;Data ss:Type="String"&gt;euro 33.33&lt;/Data&gt;
                  &lt;/Cell&gt;
                  &lt;Cell ss:StyleID="s23"&gt;
                      &lt;Data ss:Type="String"&gt;euro 33.33&lt;/Data&gt;
                  &lt;/Cell&gt;
              &lt;/Row&gt;
              &lt;Row ss:AutoFitHeight="0" ss:Height="18"&gt;
                  &lt;Cell ss:StyleID="children3"&gt;
                      &lt;Data ss:Type="String"&gt;Product 2&lt;/Data&gt;
                  &lt;/Cell&gt;
                  &lt;Cell ss:StyleID="s23"&gt;
                      &lt;Data ss:Type="String"&gt;4354354&lt;/Data&gt;
                  &lt;/Cell&gt;
                  &lt;Cell ss:StyleID="s23"&gt;
                      &lt;Data ss:Type="String"&gt;1.00&lt;/Data&gt;
                  &lt;/Cell&gt;
                  &lt;Cell ss:StyleID="s23"&gt;
                      &lt;Data ss:Type="String"&gt;Kilo&lt;/Data&gt;
                  &lt;/Cell&gt;
                  &lt;Cell ss:StyleID="s23"&gt;
                      &lt;Data ss:Type="String"&gt;0.50&lt;/Data&gt;
                  &lt;/Cell&gt;
                  &lt;Cell ss:StyleID="s23"&gt;
                      &lt;Data ss:Type="String"&gt;No&lt;/Data&gt;
                  &lt;/Cell&gt;
                  &lt;Cell ss:StyleID="s23"&gt;
                      &lt;Data ss:Type="String"&gt;euro 2.53&lt;/Data&gt;
                  &lt;/Cell&gt;
                  &lt;Cell ss:StyleID="s23"&gt;
                      &lt;Data ss:Type="String"&gt;euro 1.26&lt;/Data&gt;
                  &lt;/Cell&gt;
              &lt;/Row&gt;
              &lt;Row ss:AutoFitHeight="0" ss:Height="18"&gt;
                  &lt;Cell ss:StyleID="children2"&gt;
                      &lt;Data ss:Type="String"&gt;Product 3&lt;/Data&gt;
                  &lt;/Cell&gt;
                  &lt;Cell ss:StyleID="s23"&gt;
                      &lt;Data ss:Type="String"&gt;435436&lt;/Data&gt;
                  &lt;/Cell&gt;
                  &lt;Cell ss:StyleID="s23"&gt;
                      &lt;Data ss:Type="String"&gt;10.00&lt;/Data&gt;
                  &lt;/Cell&gt;
                  &lt;Cell ss:StyleID="s23"&gt;
                      &lt;Data ss:Type="String"&gt;Kilo&lt;/Data&gt;
                  &lt;/Cell&gt;
                  &lt;Cell ss:StyleID="s23"&gt;
                      &lt;Data ss:Type="String"&gt;Yes&lt;/Data&gt;
                  &lt;/Cell&gt;
                  &lt;Cell ss:StyleID="s23"&gt;
                      &lt;Data ss:Type="String"&gt;euro 0.36&lt;/Data&gt;
                  &lt;/Cell&gt;
                  &lt;Cell ss:StyleID="s23"&gt;
                      &lt;Data ss:Type="String"&gt;euro 3.60&lt;/Data&gt;
                  &lt;/Cell&gt;
              &lt;/Row&gt;
              &lt;Row ss:AutoFitHeight="0" ss:Height="18"&gt;
                  &lt;Cell ss:StyleID="children2"&gt;
                      &lt;Data ss:Type="String"&gt;Product 4&lt;/Data&gt;
                  &lt;/Cell&gt;
                  &lt;Cell ss:StyleID="s23"&gt;
                      &lt;Data ss:Type="String"&gt;435435&lt;/Data&gt;
                  &lt;/Cell&gt;
                  &lt;Cell ss:StyleID="s23"&gt;
                      &lt;Data ss:Type="String"&gt;3.28&lt;/Data&gt;
                  &lt;/Cell&gt;
                  &lt;Cell ss:StyleID="s23"&gt;
                      &lt;Data ss:Type="String"&gt;Kilo&lt;/Data&gt;
                  &lt;/Cell&gt;
                  &lt;Cell ss:StyleID="s23"&gt;
                      &lt;Data ss:Type="String"&gt;1.00&lt;/Data&gt;
                  &lt;/Cell&gt;
                  &lt;Cell ss:StyleID="s23"&gt;
                      &lt;Data ss:Type="String"&gt;No&lt;/Data&gt;
                  &lt;/Cell&gt;
                  &lt;Cell ss:StyleID="s23"&gt;
                      &lt;Data ss:Type="String"&gt;euro 17.38&lt;/Data&gt;
                  &lt;/Cell&gt;
                  &lt;Cell ss:StyleID="s23"&gt;
                      &lt;Data ss:Type="String"&gt;euro 17.38&lt;/Data&gt;
                  &lt;/Cell&gt;
              &lt;/Row&gt;
              &lt;Row ss:AutoFitHeight="0" ss:Height="18"&gt;
                  &lt;Cell ss:StyleID="s23"&gt;
                      &lt;Data ss:Type="String"&gt;Folder 4&lt;/Data&gt;
                  &lt;/Cell&gt;
                  &lt;Cell ss:StyleID="s23"&gt;
                      &lt;Data ss:Type="String"/&gt;
                  &lt;/Cell&gt;
                  &lt;Cell ss:StyleID="s23"&gt;
                      &lt;Data ss:Type="String"/&gt;
                  &lt;/Cell&gt;
                  &lt;Cell ss:StyleID="s23"&gt;
                      &lt;Data ss:Type="String"/&gt;
                  &lt;/Cell&gt;
                  &lt;Cell ss:StyleID="s23"&gt;
                      &lt;Data ss:Type="String"/&gt;
                  &lt;/Cell&gt;
                  &lt;Cell ss:StyleID="s23"&gt;
                      &lt;Data ss:Type="String"/&gt;
                  &lt;/Cell&gt;
                  &lt;Cell ss:StyleID="s23"&gt;
                      &lt;Data ss:Type="String"/&gt;
                  &lt;/Cell&gt;
                  &lt;Cell ss:StyleID="s23"&gt;
                      &lt;Data ss:Type="String"&gt;$23&lt;/Data&gt;
                  &lt;/Cell&gt;
              &lt;/Row&gt;
          &lt;/Table&gt;
      &lt;/Worksheet&gt;
  &lt;/Workbook&gt;
  </code></pre>
  
  <p>Screenshot using the xml i should get:
  <img src="https://i.stack.imgur.com/ZcQ7k.jpg" alt="enter image description here"></p>