以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 WORD to XML, HTML to XML 』  (http://bbs.xml.org.cn/list.asp?boardid=13)
----  求教问题:关于xml+xslt 生成Excel文件的问题  (http://bbs.xml.org.cn/dispbbs.asp?boardid=13&rootid=&id=70892)


--  作者:hugh151721
--  发布时间:12/26/2008 12:29:00 PM

--  求教问题:关于xml+xslt 生成Excel文件的问题
各位大虾,我想利用xsl+xml生成.xls和.html文件,现在想用一个XSL同时能生成.xls和.html,请问这样的XSL该如何写?我是用asp.net中的XslCompiledTransform类生成的,部分代码如下:
     XslCompiledTransform xslt = new XslCompiledTransform();
     xslt.Load("D:\\项目\\VS2005\\Excel\\test1.xsl", xsltsettings, new XmlUrlResolver());
     xslt.Transform(nav, writer);
我写了一个简单的xsl,但当我想用这个xsl去生成html时,tabel的<rows><cells>对html 无效,请问有什么好的办法?xsl代码如下:
<?xml version="1.0" encoding="utf-8"?>

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/1999/xhtml">

  <xsl:template match="NewDataSet">
      <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">
        <Worksheet ss:Name="group">
          <Table html:Style="font-family:Arial,helvetica,sans-serif;font-size:12pt;
        background-color:#EEEEEE">
            <Row>
              <Cell>
                <Data ss:Type="String">事业群代号</Data>
              </Cell>
              <Cell>
                <Data ss:Type="String">事业群名称</Data>
              </Cell>
              <Cell>
                <Data ss:Type="String">员工代号</Data>
              </Cell>
              <Cell>
                <Data ss:Type="String">员工姓名</Data>
              </Cell>
              <Cell>
                <Data ss:Type="String">金额</Data>
              </Cell>
            </Row>
            <xsl:for-each select ="group">
              <Row>
                <Cell>
                  <Data ss:Type="String">
                    <xsl:value-of select="group_no"/>
                  </Data>
                </Cell>
                <Cell>
                  <Data ss:Type="String">
                    <xsl:value-of select="group_name"/>
                  </Data>
                </Cell>
                <Cell>
                  <Data ss:Type="String">
                    <xsl:value-of select="emp_no"/>
                  </Data>
                </Cell>
                <Cell>
                  <Data ss:Type="String">
                    <xsl:value-of select="emp_name"/>
                  </Data>
                </Cell>
                <Cell>
                  <Data ss:Type="Number">
                    <xsl:value-of select="amt"/>
                  </Data>
                </Cell>
              </Row>
            </xsl:for-each>
          </Table>
        </Worksheet>
      </Workbook>
</xsl:template>
</xsl:stylesheet>


--  作者:SATOKO2006
--  发布时间:10/30/2009 5:43:00 PM

--  
XHTML格式到Excel格式是默认自动转换的,就是说XSL+XML已经可以生成XHTML文件了,所以你不需要刻意去给TAG命名!
--  作者:sunke861
--  发布时间:3/30/2010 9:29:00 AM

--  
把tabel的<rows><cells>换成<tr><td>,后者是html自有标签,肯定会识别的。
W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
46.875ms