Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/265.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Cultureinfo不匹配导致Excel自动化失败_C#_Excel_Automation_Cultureinfo - Fatal编程技术网

C# Cultureinfo不匹配导致Excel自动化失败

C# Cultureinfo不匹配导致Excel自动化失败,c#,excel,automation,cultureinfo,C#,Excel,Automation,Cultureinfo,我正在使用interop在C#中打开Excel文件。我目前的问题是,如果我安装的Excel是英文的,那么为了让开放式工作,我必须将LocalSettings设置为英文。如果这两个不匹配,它将失败 我发现这是一个已知的问题。但是,我不能总是将线程cultureinfo设置为英语,因为我无法控制用户安装的Excel版本。看起来唯一的解决方案是找出已安装Excel的语言设置,并确保当前线程cultureinfo的两个设置相同。但是,我无法从安装的Excel中获得正确的语言设置 非常感谢您的帮助。一个选

我正在使用interop在C#中打开Excel文件。我目前的问题是,如果我安装的Excel是英文的,那么为了让开放式工作,我必须将LocalSettings设置为英文。如果这两个不匹配,它将失败

我发现这是一个已知的问题。但是,我不能总是将线程cultureinfo设置为英语,因为我无法控制用户安装的Excel版本。看起来唯一的解决方案是找出已安装Excel的语言设置,并确保当前线程cultureinfo的两个设置相同。但是,我无法从安装的Excel中获得正确的语言设置


非常感谢您的帮助。

一个选项可能是检查注册表中已安装语言包的版本。下面的Technet博客提供了更多信息,有关注册表项的信息,请参阅文章末尾

从以上链接:

HKEY\U LOCAL\U MACHINE\Software\Microsoft\Office\12.0\Common\LanguageResources
LanguageResources包括以下注册表项:

  • InstallLanguage表示主要编辑语言
  • InstalledUIs提供计算机上所有可用UI语言的列表
  • UILanguage表示Office中用户界面的默认显示语言
  • EnabledLanguages表示在Office中启用的语言特定功能的区域设置标识符(LCID)

Windows操作系统使用LCID标识Windows注册表中的语言。有关语言标识符的列表,请参阅2007 Office system中的语言标识符(http://technet.microsoft.com/en-us/library/cc179219.aspx).

无法直接回答您的问题,但我最近已开始使用C#Excel编程

这是一个非常好的库,不需要在服务器上安装Excel,并且在不到一天的时间内就生成了我所熟悉的本机

它只适用于Excel2003文件,文档也不是很好。然而,它附带了一整套示例,展示了许多预期的用例


考虑到问题的性质,以及NPOI对Excel安装的零要求,NPOI可能不关心英语设置。

检查注册表的另一个选项是使用以下方法从Excel应用程序检索语言:

新系统。全球化。文化信息(
ExcelApp.LanguageSettings.LanguageID(Office.MsoAppLanguageID.msoLanguageIDUI))


这需要引用Office.dll v14.0

+1,如果这是OP的一个选项,我同意NPOI是一种方法。不要在代码中修复用户可以修复的琐碎内容。我购买了正确版本的Excel或安装了MUI包。这不是你的问题。