.net interopでExcelにアクセスしたいと思います。別の地域を使用する必要がありますが、OS全体の地域を変更する必要はありません。これをプログラムで指定する方法はありますか? ApplicationClassのLanguageSettingsプロパティは読み取り専用です。Microsoft Office interopの地域と文化を指定してください
0
A
答えて
0
あなたのアプリケーションに危険な可能性があります。 OS言語バージョンがOffice言語バージョンと異なる場合、私のプログラムでは、Officeが自動的に言語パックを実行しようとしたため、プログラムがクラッシュしました。奇妙な行動。
1
あなたは現在のスレッドの文化を設定することがあります。 相互運用機能を使用するには、EN-USの文化を指定する必要があったとき
System.Threading.Thread.CurrentThread.CurrentCulture = new CultureInfo("en-us");
さらに、Excelのバグが/ありましたさ。
OSの文化は、ロシア語のインスタンスの場合もありますが、スレッドの文化をen-USに明示的に設定すると、すべてが正解になります。
+0
動作していないようです。 –
0
それはセパレータについてです場合、あなたはそれをこのように行うことができます。
var ci = new CultureInfo(locale);
var excelApp = new Microsoft.Office.Interop.Exce.Application();
excelApp.UseSystemSeparators = false;
excelApp.DecimalSeparator = ci.NumberFormat.NumberDecimalSeparator;
excelApp.ThousandsSeparator = ci.NumberFormat.NumberGroupSeparator;
うん、「古い形式または無効なタイプライブラリ」を。私は、言語インターフェイスパックは動作すると思うが、マイクロソフトは自分の希望する言語に$を請求している。 –