Excel 控件的全球化注意事项

默认情况下,Microsoft Office Excel 的宿主控件在任何 Windows 区域设置中均可正确工作,只要使用托管代码传递或操作的所有数据的格式都是使用“英语(美国)”格式设置进行设置的。 在面向 .NET Framework 4 的项目中,此行为由公共语言运行时 (CLR) 控制。 在面向 .NET Framework 3.5 的项目中,只要项目中的 Microsoft.Office.Tools.Excel.ExcelLocale1033Attribute 设置为 true,此行为即有效。 有关更多信息,请参见 使用各种区域设置对 Excel 中的数据进行格式设置

**适用于:**本主题中的信息适用于 Excel 2007 和 Excel 2010 的文档级项目和应用程序级项目。有关更多信息,请参见按 Office 应用程序和项目类型提供的功能

Microsoft.Office.Tools.Excel.ExcelLocale1033Attribute 设置为 false 时,如果最终用户使用英文版的 Excel,但 Windows 的区域设置却不是英语(美国),则宿主控件将无法正常工作。 安装多语言用户界面 (MUI) 包便可以解决此问题。

当 ExcelLocale1033Attribute 在面向 .NET Framework 3.5 的项目中为 False 时

Excel 中宿主控件的功能(如数据绑定和事件)依赖于通过主互操作程序集 (PIA) 对 Microsoft Office Excel 对象模型的调用。 如果解决方案运行在非“en-US”环境下的英文版 Excel 中,则用户与宿主控件的交互可能会引发错误,这些错误与显式编程调用 COM 对象模型所引发的错误相同。

例如,双击 NamedRange 控件时,可能不会引发该控件的 BeforeDoubleClick 事件,因为对 Excel 对象模型中的某个方法进行了调用,从而可以确定该命名范围内是否有事件发生。 当传递给此方法调用的区域设置不是“英语(美国)”时,此方法便会失败,并且不会引发事件。 如果使用本地化版本的 Excel,或者将英文版的 Excel 与 MUI 包一起使用,就不会出现这些错误。

请参见

任务

如何:使用反射使字符串在 Excel 中是区域安全的

概念

使用各种区域设置对 Excel 中的数据进行格式设置

Office 解决方案的全球化和本地化

宿主项和宿主控件概述