2013-10-21 28 views
0

我已成功使用xslt將xml轉換爲excel,但是當我嘗試打開文件時顯示警告消息,說明文件格式不同。我對XSLT頭看起來像打開使用XSLT從XML創建的Excel文件時發生錯誤

<xsl:stylesheet 
    version="1.0" 
    xmlns="urn:schemas-microsoft-com:office:spreadsheet" 
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
    xmlns:msxsl="urn:schemas-microsoft-com:xslt" 
    xmlns:user="urn:my-scripts" 
    xmlns:o="urn:schemas-microsoft-com:office:office" 
    xmlns:x="urn:schemas-microsoft-com:office:excel" 
    xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" 
> 
    <xsl:output method="xml" encoding="utf-8" indent="yes" /> 

    <xsl:template match="/"> 

任何人都可以請指出正確的方法從XML

+0

你怎麼能說你已經「成功」地將它轉換爲Excel格式?當我們看不到你的代碼時,你怎麼能期望我們知道你的代碼是錯的? –

回答

0

我會非常不願意嘗試從頭開始創建Excel電子表格的轉換。格式太複雜了,調試結果太困難了。 (a)現有的Excel電子表格,可能在一些單元格中帶有可識別的「佔位符」字符串,以及(b)XML數據文檔,並修改了供應電子表格以將不同的數據放入單元格中。

0

當從XSLT構建一個Excel文件,我使用的方法是

  1. 創建示例Excel(單元格單個值A1將工作)
  2. 另存爲「XML電子表格2003」
  3. 開放在我的XSLT編輯器中生成的XML並從那裏開始工作

這樣做的好處是可以爲您提供所需的所有格式,因爲如前所述,Excel結構可能會變得相當複雜。另外,如果您在Excel中有目標外觀,轉換到XML Spreadsheet 2003將保留大部分風格,因此它會減少您的整體工作量。

一旦你在你的編輯器有它它是爲尋找合適的細胞,並在你的XSLT陳述下探簡單:

<!-- Live --> 
    <Cell ss:StyleID="s50796"> 
     <Data ss:Type="String"> 
      <xsl:choose> 
       <xsl:when test="@islive = 'true'"> 
        <xsl:text>Yes</xsl:text> 
       </xsl:when> 
       <xsl:otherwise> 
        <xsl:text>No</xsl:text> 
       </xsl:otherwise> 
      </xsl:choose> 
     </Data> 
    </Cell> 

遠比從頭創建更容易。

相關問題