我正在处理.xls的导出数据,谷歌搜索后我发现这可以使用xml到xslt再到excel来完成。但我坚持如何在javascript中将我的xslt文件下载到.xls文件。
任何有解决方案的人如何做到这一点。
提前致谢
答案 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转换成所需的格式。