2010-12-10 5 views

答えて

0

あなたのアプリケーションに危険な可能性があります。 OS言語バージョンがOffice言語バージョンと異なる場合、私のプログラムでは、Officeが自動的に言語パックを実行しようとしたため、プログラムがクラッシュしました。奇妙な行動。

+0

うん、「古い形式または無効なタイプライブラリ」を。私は、言語インターフェイスパックは動作すると思うが、マイクロソフトは自分の希望する言語に$を請求している。 –

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;