如何使用javascript将xslt文件下载到.xls

时间:2014-10-31 12:57:14

标签: javascript node.js

我正在处理.xls的导出数据,谷歌搜索后我发现这可以使用xml到xslt再到excel来完成。但我坚持如何在javascript中将我的xslt文件下载到.xls文件。

任何有解决方案的人如何做到这一点。

提前致谢

1 个答案:

答案 0 :(得分:1)

我认为你根本不需要JavaScript处理XSLT转换。 支持XSLT的浏览器应该为您应用转换。

有关更详细的示例,请参阅W3schools page on xsl transformation

一般的想法是这样的: 给定一个原始XML文档,编写一个XSL样式表来定义转换模板。 这为XML文件中的各种元素定义了它们应该转换成什么。 W3schools文章中的示例将XML转换为XHTML。

对于XML中的每个节点或节点类型(For-each是这里要注意的关键字),定义了一个(XHTML)代码废料,它将替换翻译输出中的这些节点。

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
   <html>
       <body>
           <h2>My CD Collection</h2>
           <table border="1">
               <tr bgcolor="#9acd32">
               <th>Title</th>
               <th>Artist</th>
               </tr>
               <xsl:for-each select="catalog/cd">
                   <tr>
                   <td><xsl:value-of select="title"/></td>
                   <td><xsl:value-of select="artist"/></td>
                   </tr>
               </xsl:for-each>
           </table>
       </body>
    </html>
</xsl:template>
</xsl:stylesheet>

这里发生的事情是,root被<html><body>标记取代。其他节点将替换为表条目等。

您的转换取决于XML文件的布局,在您的情况下,应遵循正确的XLS文件结构。

最后,在XML文档中包含对XSL文件的引用。

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="cdcatalog.xsl"?>
<catalog>
...
</catalog>

如果你有一个符合XSLT标准的浏览器,它会很好地将你的XML转换成所需的格式。

Some discussion elsewhere on stackoverflow.com, which includes examples on how to transform an XML file to proper XLS format.