当小数点和千位分隔符交换时,MS Access 导出到 Excel 会破坏 Excel 文件

当小数点和千位分隔符交换时,MS Access 导出到 Excel 会破坏 Excel 文件

我更改了 GPO 中的设置,将小数点符号替换为逗号,将千位分隔符替换为句号:

在此处输入图片描述

这样,当一些旧的 MS Access 应用程序生成 Excel 和 Word 报告时,数字的格式对于我们的欧洲用户来说是正确的。进行交换后,我从 Access 运行了一份报告,其中 1 列有数据。当我打开 Excel 文档时,出现错误,指出数据已损坏:

在此处输入图片描述

单击“是”后,文档将打开。但是,当它是一份完整的报告时,该“修复”会破坏图表和宏。对我来说,没有数据的文档可能会损坏,这似乎很奇怪。因此,我查看了工作表的 XML,发现它将某些内容的大小设置为 Excel 无法处理的值。Excel 期望小数点后面是句号,而不是逗号。

在此处输入图片描述

我甚至检查了 Excel,它说它正在使用系统设置。所以我把它们改成了明确使用逗号:

在此处输入图片描述

还是没运气。当我将 15,125 改为 15.125 时,Excel 可以正常工作,尽管我进行了所有区域更改。有人知道这是怎么回事吗?

答案1

对于那些用户,我会检查是否配置了自定义字段。

如果您替换了 C:\Users\用户名\AppData\Local\Microsoft\Excel\XLStart 中的 PERSONAL.XLSB,是否可以验证?在可以运行的计算机上取一个,然后检查它是否有助于 Excel 尊重您的区域设置。

如果是,您可以通过 GPO 部署该文件给其他用户

答案2

问题是,即使您覆盖了格式区域,Access 也会根据格式区域提取小数点符号。写入 XML 数据时,它会提取逗号而不是句点。而且,无论您的设置如何,Excel 的 XML 都不知道如何处理逗号。

当我将格式更改为支持逗号作为小数符号的国家/地区时,Access 能够使用句号编写 XML。

在此处输入图片描述

在此处输入图片描述

相关内容