2014-10-31 187 views
0

我正在將數據導出到.xls和谷歌搜索後,我發現,這可以使用XML XSLT來完成,然後到Excel爲.xls。但我堅持如何將我的xslt文件下載到JavaScript中的.xls文件。如何下載XSLT文件使用JavaScript

任何與解決方案是如何做到這一點。

在此先感謝

回答

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> 

這裏會發生什麼事,是根被替換爲<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.

+0

你好 對不起已故的答覆和 感謝回答。在這個例子中,帶有xslt的xml在瀏覽器上轉換爲html,但是我想以.xls格式下載它。 所以我的問題,是否有可能使用JavaScript或nodejs將xml轉換爲.xls格式。 再次感謝您的回覆。 – Abhishek 2014-11-05 05:46:29

+0

那麼,這個例子是針對XML - > HTML的,但您也可以編寫一個轉換XML - > XLS格式的XSLT。 看看這個在Stackoverflow上的其他例子:http://stackoverflow.com/questions/3534546/xsl-taking-xml-transforming-it-into-excel – Michael 2014-11-06 08:51:35