Tag: 文化信息

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

我使用互操作来打开C#中的Excel文件。 目前我遇到的问题是,如果我安装的Excel是英文的,为了开始工作,我必须设置LocalSettings为英文。 这两个不匹配会失败。 我发现这是一个已知的问题http://support.microsoft.com/kb/320369 。 但是,我不能总是将线程cultureinfo设置为英文,因为我无法控制用户安装的Excel版本。 看起来唯一的解决方法是找出安装的Excel的语言设置,并确保两个当前线程cultureinfo是相同的。 但是,我无法从安装的Excel中获得正确的语言设置。 你的帮助表示赞赏。

如何在C#中处理date本地化以configurationExceldate格式?

在C#中,我们正在使用 CultureInfo.CurrentCulture.DateTimeFormat; 根据文化设置获取date的格式。 所以在一种语言中可能是mm / dd / yyyy和另一种dd / mm / yyyy。 在Excel中格式化列可以正常工作,但是,在某些其他语言的Excel中尝试格式化列时,它会失败,因为它们在日,月或年使用不同的字母。 例如,在法语Excel中,它是jj / mm / aaaa而不是dd / mm / yyyy。 尝试使用d和y格式化列时,它不起作用。 所以问题是,怎样才能知道不同本地化的d,m和y使用什么字母?

DateTime从当前文化中获取代表日,月,年的字母

我想写一个方法,从date时间格式给我3个字母,代表日,月,年。 所以在美国文化中,我想要的回报值是(加分隔符) d 中号 ÿ / 在de-de中应该返回同样的方法 T(TAG =日) M( M onat =月) J( J ahr =年) 。 (分隔器) 我看了一下DateTimeFormatInfo类的formsCurrentCulture,但只能find分隔符,你有什么想法我可以得到其余的? var culture = Thread.CurrentThread.CurrentCulture; Console.WriteLine(culture.DateTimeFormat.DateSeparator); 我需要这个,因为Excel中的TEXT函数不接受来自InvariantCulture的格式,只能从currentculture处理它。 所以像这样的东西在德语Excel版本中是无效的: =TEXT(NOW();"dd.MM.yyyy") 这需要设置 =TEXT(NOW();"TT.MM.JJJJ") (不要紧,如果它与VBA完成,它不会被翻译)您可以看看下面的http://www.rondebruin.nl/win/s9/win013.htm string格式可以是任何东西,因为用户可以随意input它,我需要把它翻译成当前的文化。