2017-01-30 39 views
2

私は今書いている小さなアプリで使用するためにClosedXMLをダウンロードしました。アプリケーションでは、データベースからデータを読み込み、Excelファイルに出力します。私のローカル番号形式では、小数点をカンマで区切ります。 ClosedXMLはこれらを数字として認識しないので、テキストとして保存され、ファイルを開くときに手動で変換する必要があります。ClosedXMLのコンマを解析する

私はXLCellValues.Numberに、セルのDataTypeを設定しようとしましたが、私が行うとき、例外がスロー"Cannot set data type to Number because '1534,8250' is not recognized as a number."ようですが、これはむしろCultureInfo.CurrentCultureよりCultureInfo.InvariantCultureのClosedXMLの使用、から来ていると思われます。

すべてのカンマをピリオドに置き換えたり、ClosedXMLプロジェクトを再コンパイルしてCurrentCultureを使用することはできませんか?

+1

カンマをピリオドに置き換える問題は何ですか?それは私に論理的な修正のように思える。 – Ben

+0

ちょうどそれが不必要であるように思われる。それはもちろん機能しますが、私はむしろ書式を設定することができます。 – schneiju

答えて

3

あなたは常に文化特有のフォーマットでデータを保存する必要があります。文化はデータの提示のみに使用する必要があります。

これは、正しい解決策は、XMLに保存するときに番号の書式設定された文字列を使用しないことです。 Excelは、特定の文化の番号のプレゼンテーションを行う必要があります。

+0

チップをありがとう。私は 'InvariantCulture'フォーマットとマッチするように自分のデータベースクエリを変更し、そのカルチャーで全プログラムを実行しました。 Excelファイルでは、開いたときにすべてのものがローカル書式で表示されるため、うまく機能します。 – schneiju

関連する問題