打开 HTML 页面时,值“1000.00”在 Excel 中显示为“1000.00.00”

打开 HTML 页面时,值“1000.00”在 Excel 中显示为“1000.00.00”

下列伪造的excel 文件:

<style> .text { mso-number-format:\@; }</style>
<div>
    <table class="results" cellspacing="0" rules="all" border="1" id="ctl00_content_grdData" style="border-collapse:collapse;">
        <thead>
            <tr>
                <th scope="col">A</th><th scope="col">B</th><th scope="col">C</th><th scope="col">D</th>
            </tr>
        </thead><tbody>
            <tr>
                <td class="text">1000</td><td>1000.00</td><td>1000,00</td><td>1.000,00</td>
            </tr>
        </tbody>
    </table>
</div>

在 Excel 2007 中显示为
excel_1000

注意该列显示为“1000.00.00”。

附加信息: Windows 的区域/语言设置设为“意大利”。

这怎么可能呢?如何解决?

笔记:我使用了不同的值,只是为了显示与 Excel 不同的行为。

编辑2
当我在 A 列(td 元素上具有“文本”类的列)中输入值“1000.00”时,该值的显示方式与 Excel 中显示的完全一致:
在此处输入图片描述

答案1

根据意大利语言环境,1000.00 显示为 1000.00.00,因为它被识别为时间(如一段时间)。因此第一个数字是小时,然后是分钟,然后是秒。

在 OpenOffice 中,但在 Excel 中应该相同,我检查了意大利语言环境的时间格式是:“HH.MM.SS”。

答案2

您在电子表格中混合了数字的显示类型。

<td class="text">1000</td><td>1000.00</td><td>1000,00</td><td>1.000,00</td>

请注意,第一个数字是 1000,第二个数字用句点分隔小数点,第三个数字用逗号分隔小数点(最后一个数字也是如此)。

如果您使它们全部一致 - 句号表示小数点,逗号表示千位分隔符,那么一切都应该可以正常工作。

句号千位分隔符和逗号小数分隔符是欧洲风格,而 Excel 默认为意大利风格。因此,它对不符合该模式的一个数字感到困惑。

相关内容