0

我已经使用 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的正确方法

4

3 回答 3

0

如果您只想导入表格数据,请让您的XSLT 转换创建一个 CSV 文件

如果您需要完全控制公式和格式,请让您的XSLT 转换创建 OOXML

重要提示OOXML路由要复杂得多;如果可能,请使用 CSV 导入。

于 2013-10-22T03:04:45.073 回答
0

我非常不愿意尝试从头开始创建 Excel 电子表格的转换。格式太复杂了,调试结果太难了。

我准备做的是编写一个转换,将 (a) 一个现有的 Excel 电子表格作为输入,可能在某些单元格中带有可识别的“占位符”字符串,以及 (b) 一个 XML 数据文档,它修改了补充电子表格以将不同的数据放入单元格中。

于 2013-10-22T07:19:30.090 回答
0

从 XSLT 构建 Excel 文件时,我使用的方法是

  1. 创建一个示例 Excel(单元格 A1 中的单个值将起作用)
  2. 另存为“XML 电子表格 2003”
  3. 在我的 XSLT 编辑器中打开生成的 XML 并从那里开始工作

这样做的好处是可以为您提供所需的所有格式,因为如前所述,Excel 结构可能会变得相当复杂。此外,如果您在 Excel 中有一个目标外观,则转换为 XML 电子表格 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>

比从头开始创建要容易得多。

于 2016-05-23T13:30:31.487 回答