我已经使用xslt成功将xml转换为excel但是当我尝试打开文件时,它显示一条警告消息,说该文件的格式不同。我在xslt上的标题看起来像
<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创建excel的正确方法
答案 0 :(得分:0)
如果您只想导入表格数据,请使用XSLT transformation create a CSV file。
如果您需要完全控制公式和格式,请使用XSLT transformation create OOXML。
重要:OOXML路线要复杂得多;如果可能的话,请使用CSV导入。
答案 1 :(得分:0)
我非常不愿意尝试从头开始创建Excel电子表格的转换。格式太复杂了,调试结果太困难了。
我准备做的是编写一个转换,其中包含一个现有的Excel电子表格作为输入(a),可能在某些单元格中包含可识别的“占位符”字符串,以及(b)XML数据文档,以及它修改了提供的电子表格,以便在单元格中放入不同的数据。
答案 2 :(得分:0)
从XSLT构建Excel文件时,我使用的方法是
这样做的好处是可以为您提供所需的所有格式,因为如前所述,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>
比从头开始创作更容易。