XSL for XML to Excel:在公式中使用大括号



如何在从 XML 生成 Excel 文件的 XSL 中使用大括号?

我可以使用 Excel 公式完成我想要的,但它需要使用大括号列表,例如:

    =LOOKUP(XXXX, {"NA","NF","NR","O"},{"NA","Completed","NR","Ongoing"}

即使对括号和逗号使用 HTML 指示符,我也无法让 XSL 接受,我仍然在第一个大括号后的第一个逗号上收到错误。

    =LOOKUP(XXXX,{"NA","NF","NR","O"},{"NA","Completed","NR","OngoingNA"})
&123; = {
&#$$; = , (comma)

但是我在第一个命令上收到一个 XML 错误,说:"预期的标记'{'找到了','。

    =LOOKUP(XXXX,{"NA"-->,<--"NF,"NR","O"},{"NA","Completed","NR","Ongoing","NA"})

我猜(!(您正在尝试创建一个具有包含大括号的属性的文本结果元素。这是有问题的,因为大括号被解释为属性值模板 - 即 XSLT 处理器尝试计算其中包含的表达式。

若要避免这种情况,必须通过加倍来转义大括号,或使用 xsl:attribute 指令将值指定为文本。例如,两者:

<elem attr="=SUM({{1,2}}*{{4,5}})"/>

和:

<elem>
    <xsl:attribute name="attr">=SUM({1,2}*{4,5})</xsl:attribute>
</elem>

将返回相同的结果:

<elem attr="=SUM({1,2}*{4,5})"/>

最新更新