1

这是我用来在 asp.net 中将 xml 转换为 excel 的 Excel.xsl 文件。它工作正常,但我不想显示列名。我应该在这个文件中进行什么更改,以便列名不应该显示在我的 excel 输出中?

<xsl:stylesheet version="1.0" 
  xmlns="urn:schemas-microsoft-com:office:spreadsheet"
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
     xmlns:msxsl="urn:schemas-microsoft-com:xslt"
    xmlns:user="urn:my-scripts"
     xmlns:o="urn:schemas-microsoft-com:office:office"
    xmlns:x="urn:schemas-microsoft-com:office:excel"
    xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" > 

  <xsl:template match="/">
   <Workbook 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"
    xmlns:html="http://www.w3.org/TR/REC-html40">
    <xsl:apply-templates/>
   </Workbook>
   </xsl:template>


  <xsl:template match="/*">
    <Worksheet>
    <xsl:attribute name="ss:Name">
    <xsl:value-of select="local-name(/*/*)"/>
    </xsl:attribute>
    <Table x:FullColumns="1" x:FullRows="1">
      <Row>
       <xsl:for-each select="*[position() = 1]/*">
       <Cell><Data ss:Type="String">
       <xsl:value-of select="local-name()"/>
       </Data></Cell>
     </xsl:for-each>
    </Row>
    <xsl:apply-templates/>
     </Table>
     </Worksheet>
    </xsl:template>


   <xsl:template match="/*/*">
     <Row>
      <xsl:apply-templates/>
    </Row>
    </xsl:template>


     <xsl:template match="/*/*/*">
     <Cell><Data ss:Type="String">
     <xsl:value-of select="."/>
     </Data></Cell>
     </xsl:template>


    </xsl:stylesheet>
4

1 回答 1

0

我找到解决方案只是注释掉这段代码以从 excel 文件中删除标题

   <!--<Row>
      This code is to print the header.
       <xsl:for-each select="*[position() = 1]/*">
      <Cell><Data ss:Type="String">
      <xsl:value-of select="local-name()"/>
      </Data></Cell>
    </xsl:for-each>
  </Row>-->
于 2012-10-05T11:13:52.960 回答