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

标签 javascript node.js

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

任何人都可以解决如何做到这一点。

提前致谢

最佳答案

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

参见W3schools page on xsl transformation获取更详细的示例。

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

对于 XML 中的每个 Node 或 Node 类型(For-each 是此处要注意的关键字),都会定义一个 (XHTML) 代码片段,它将替换翻译后的输出中的此类 Node 。

<?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>

这里发生的情况是根被替换为 <html><body>标签。其他 Node 替换为表项等。

您的转换取决于 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.

关于javascript - 如何使用 javascript 将 xslt 文件下载到 .xls,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26675277/

相关文章:

node.js - 使用 Node 检查器进行调试 : Cannot GET/

node.js - MongoDB:正确保存数据以建模

node.js - Node gm 水印和调整大小

javascript - 为什么此查询字符串参数在移动设备上不起作用?

javascript - fontWeight 不起作用时如何使 HTML5 字体更亮?

javascript - Angular Material MatChipList - 如何在动态 FormArray 上使用它?

javascript - 未显示 React Native 应用程序的 Expo QR 码

javascript - setAttribute() 不起作用?

javascript - 通过nodejs向客户端请求JSON数据

javascript - Node.js + Mongoose.js 如何获取一个月或一周的订单总数?