gpt4 book ai didi

html - 在 Excel 中打开文件时,使用 XSL 创建的空 html 列太宽

转载 作者:太空宇宙 更新时间:2023-11-03 17:47:01 24 4
gpt4 key购买 nike

我正在创建一份报告,使用 XSL 将 XML 文件转换为 HTML 文件。在某些情况下,我有一列总是空的。我的问题是,无论我将此列设置得多么窄,它总是变得太宽(通常,当有一些文本时,它是一个或两个字母,在这种情况下,该列将同样宽以容纳最大的字符串,即 3比空的时候窄 -4 倍)。当我没有数据时,有没有办法让这个列变得非常窄?这是创建 HTML 文件的 XSL 代码的一部分(放置空值的代码是“用   替换空元素”下的代码)。对于 width 属性,我尝试了不同的值,无论我输入什么值,当该列为空时,列的宽度是相同的(在 Excel 中打开时太宽):“ 字体粗细:粗体

        <xsl:choose>
**<!-- replace empty element with &nbsp; -->
**<xsl:when test="string-length()= 0">
<xsl:attribute name="width">20px</xsl:attribute>
<xsl:text disable-output-escaping="yes">&amp;</xsl:text>
<xsl:text>nbsp;</xsl:text>**
</xsl:when>**

<xsl:when test="contains(name(.), 'Location')">
<xsl:attribute name="align">left</xsl:attribute>
<xsl:attribute name="colspan">2</xsl:attribute>
<xsl:apply-templates/>
</xsl:when>

<xsl:otherwise>
<xsl:attribute name="align">left</xsl:attribute>
<xsl:apply-templates/>
</xsl:otherwise>
</xsl:choose>
</td>
</xsl:for-each>
</tr>
</xsl:for-each>

谢谢。

最佳答案

除非您在这些元素上使用 xsl:strip-space,否则 string-length() 也会计算空白。

尝试将您的测试更改为:

test="string-length(normalize-space())=0"

您也可以将其更改为:

test="not(boolean(normalize-space()))"

我觉得这样更容易理解。

您还可以为不间断空格使用十进制(或十六进制)引用 ( );这将消除对 2 xsl:textdisable-output-escaping 的需要。

您也可以使用零宽度空间:

下面是我想让它看起来像的一个例子:

<xsl:when test="not(boolean(normalize-space()))">
<xsl:text>&#8203;</xsl:text>
</xsl:when>

关于html - 在 Excel 中打开文件时,使用 XSL 创建的空 html 列太宽,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27967915/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com