2
A
回答
2
爲此可以使用XSLT,但必須以Microsoft Excel XML格式輸出數據,這是Microsoft Excel 2002以後版本支持的格式。
Microsoft XML Spreadsheet Reference
您還可以在維基百科
找到有用的樣品如何XSLT一般編碼取決於你希望將XML的結構。這裏是一個非常簡單的例子,它轉變爲一個表:
<data>
<row>
<cell>1.1</cell><cell>12</cell>
</row>
<row>
<cell>2.1</cell><cell>2.2</cell>
</row>
</data>
然後,使用下面的XSLT將其轉換爲Excel XML
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet">
<xsl:template match="/data">
<xsl:processing-instruction name="mso-application">
<xsl:text>progid="Excel.Sheet"</xsl:text>
</xsl:processing-instruction>
<Workbook
xmlns="urn:schemas-microsoft-com:office:spreadsheet"
xmlns:o="urn:schemas-microsoft-com:office:office"
xmlns:x="urn:schemas-microsoft-com:office:excel"
xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet"
xmlns:html="http://www.w3.org/TR/REC-html40">
<DocumentProperties xmlns="urn:schemas-microsoft-com:office:office">
<Author>Bob</Author>
<Created>2001-01-01T12:00:00Z</Created>
<Version>1.0</Version>
</DocumentProperties>
<ExcelWorkbook xmlns="urn:schemas-microsoft-com:office:excel">
<WindowHeight>8835</WindowHeight>
<WindowWidth>11340</WindowWidth>
<WindowTopX>480</WindowTopX>
<WindowTopY>120</WindowTopY>
<ProtectStructure>False</ProtectStructure>
<ProtectWindows>False</ProtectWindows>
</ExcelWorkbook>
<Styles>
<Style ss:ID="Default" ss:Name="Normal">
<Alignment ss:Vertical="Bottom"/>
<Borders/>
<Font ss:FontName="Calibri" x:Family="Swiss" ss:Size="11"/>
<Interior/>
<NumberFormat ss:Format="#,##0.00"/>
<Protection/>
</Style>
</Styles>
<Worksheet ss:Name="Sheet1">
<ss:Table x:FullColumns="1" x:FullRows="1">
<xsl:attribute name="ss:ExpandedColumnCount">
<xsl:value-of select="count(row[1]/cell)"/>
</xsl:attribute>
<xsl:attribute name="ss:ExpandedRowCount">
<xsl:value-of select="count(row)"/>
</xsl:attribute>
<xsl:apply-templates select="row"/>
</ss:Table>
<WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel">
<PageSetup>
<Header x:Margin="0.3"/>
<Footer x:Margin="0.3"/>
<PageMargins x:Bottom="0.75" x:Left="0.7" x:Right="0.7" x:Top="0.75"/>
</PageSetup>
<Print>
<ValidPrinterInfo/>
<PaperSizeIndex>9</PaperSizeIndex>
<HorizontalResolution>600</HorizontalResolution>
<VerticalResolution>0</VerticalResolution>
</Print>
<Selected/>
<ProtectObjects>False</ProtectObjects>
<ProtectScenarios>False</ProtectScenarios>
</WorksheetOptions>
</Worksheet>
</Workbook>
</xsl:template>
<xsl:template match="row" xmlns="urn:schemas-microsoft-com:office:spreadsheet">
<Row>
<xsl:apply-templates select="cell"/>
</Row>
</xsl:template>
<xsl:template match="cell" xmlns="urn:schemas-microsoft-com:office:spreadsheet">
<Cell>
<Data>
<xsl:choose>
<xsl:when test="number(.) =.">
<xsl:attribute name="ss:Type">Number</xsl:attribute>
</xsl:when>
<xsl:otherwise>
<xsl:attribute name="ss:Type">String</xsl:attribute>
</xsl:otherwise>
</xsl:choose>
<xsl:value-of select="."/>
</Data>
</Cell>
</xsl:template>
</xsl:stylesheet>
雖然這個例子只創建一個工作表,你應該能夠看到創建多個工作表的方式非常簡單。只需爲您需要的文檔中的每張工作表輸出另一個工作表元素。
它可以在Microsoft Excel中手動創建一個電子表格有用的,然後另存爲的Mircosoft Excel XML格式,然後在記事本看看它,看它創建的XML。這可以用於查看它如何執行格式化或列寬等操作。
相關問題
- 1. XSLT創建表
- 2. 從xslt在Excel中創建多個工作表
- 3. XSLT +創建表結構
- 4. 表格XML創建在XSLT
- 5. XSLT,創建表頭和行
- 6. 使用.NET XSLT處理器創建自定義XSLT函數
- 7. 創建MS Excel工作表
- 8. vbscript excel創建工作表
- 9. 創建新工作表
- 10. SQL創建表不工作
- 11. 創建Excel工作表
- 12. 手動創建XSLT
- 13. 創建使用XSLT
- 14. XSLT創建變量
- 15. 創建使用XSLT
- 16. 創建xslt文件
- 17. 創建XSLT文件
- 18. 創建每日工作表,存檔前幾周工作表
- 19. VBA工作表Sub創建命名範圍其他工作表
- 20. XSLT V1 - 循環創建XML表格
- 21. 從節點XML創建表XSLT
- 22. 如何創建XSLT樣式表
- 23. 使用XSLT創建動態XSL-FO表
- 24. XSLT創建逗號分隔的列表
- 25. 用XSLT創建條件錶行
- 26. 創建工作不
- 27. 當創建工作
- 28. 從一個源工作表創建多個工作表或工作簿
- 29. XSLT工作太慢
- 30. php mysql表創建不工作