2016-12-13 6 views
1

私のアプリケーションはC#MVCで開発されており、 用にOpen XMLを使用しています。グリッドには、さまざまな列に の金額フィールドがあります。私はページに2つのボタンを持っています.1つは北の場合は "NA"、もう1つは北欧の場合は です。もう一つはヨーロッパのフォーマットの場合 "EU"です。両方のボタン excelシートをExcelします。 "NA" が押された場合エクスポートしたExcel金額欄の値は、以下とが良い作業として形式のないOpen XMLでのヨーロッパの通貨形式のコード

1000000 ----------> 1,000,000 (Format Code used : #,##0) 

しかし、 "EU" はあるの に変換され


押し出された輸出高額額は、期待通りに換算された ではなく、は動作していません。オープンXMLで

1000000 ----------> 1000000.0 (Format Code used : #.##0) 

、私は

<x:numFmt numFmtId="169" formatCode="[>=1000]#,##0" /> // This works 
<x:numFmt numFmtId="170" formatCode="[>=1000]#.##0" /> // This doesn't work 

としてstylesheet.xmlファイルを設定した誰もがこれを解決するために、ここで何か提案を持っています。私も カスタムフォーマットオプションを介して欧州通貨のExcelシートでセルの書式を変更しようとしますが、それも動作しません。

私の期待した結果は、私が達成できなかったものです。

1000000 -----------> 1.000.000 
+0

千の区切り記号として '.'を使用しようとしていますか? –

+0

ヨーロッパの大陸では、コンマ(、)はピリオド(。)に置き換えられ、1000の位置数を示し、コンマは末尾に小数点を表示します。私の場合、小数点は必要ありません。 – devgal

+0

XMLの 'formatCode'は常にEN_USです。それらは決してロケールに依存しません。 XMLを解釈するExcelバージョンでは、適切なロケールバージョンに変換されます。 –

答えて

1

ワークブックごと、またはワークシートごとまたはセル範囲ごとに小数点/桁区切りを変更する方法はありません。

[>=1000]#,##0形式を使用する必要があります。

どのように表示されるかは、システムのロケール設定またはExcelのセパレータ設定(ファイル/ Excelオプション/詳細)によって異なります。

エクスポートされたデータがNAとEUの両方で同じ場合、エクスポート用に1つのボタンを残すことができます。ユーザーは、通常、区切り記号が使用されているものに設定されています。

https://social.technet.microsoft.com/Forums/office/en-US/eaa4c7f6-197a-4b33-bc5f-20896e5a7e3a/workbook-or-worksheet-specific-decimal-separator?forum=excel

+0

1000000が1.000.000に変換されたように、私が必要とする数字を表示するためのカスタムフォーマットを提案できます – devgal

+0

@devgalセルのコンテンツを数値にするには、セパレータ( '。または '、')。スプレッドシートのどこにも格納されません。それ以外の場合は、数値を文字列として持つことができます。 – filhit

関連する問題