0

Microsoft.Office.Interop.Excel を使用して double 形式のデータを Excel にエクスポートするときに問題が発生します。

のような数字

-49,65454324566 (小数点としてコンマを使用)

コードでは次のようにエクスポートされます

-4965454324566

カンマ、ドット、または小数点なし。

みたいな数字だけ

0,988946533164

つまり、1 未満は正しい形式でエクスポートされます。

NumberFormat を使用してみましたが、整数または小数の文字数の制限はありません。つまり、123,456789 または 123456,789 のような数値が必要です。したがって、NumberFormat が私のニーズに合っているかどうかはわかりません。

示すために、私は次のようなことをしています:

Excel.Range cel = (Excel.Range)excel.Cells[1, 1];
cel[r, c] = table.Rows[r][c];

私も試しました:

Excel.Range cel = (Excel.Range)excel.Cells[1, 1];
cel[r, c] = table.Rows[r][c];
cel[r, c].NumberFormat = "#,#";

「0,0」、「#0、#0」などの NumberFormat のバリエーション...

4

1 に答える 1

2

コンマを小数点記号として使用すると、en-US 地域設定を使用していません。Excel がこれを認識していることを確認するか、数値を Excel に送信する前に en-US 設定に変換する必要があります。使用できる .ToString() オーバーロード内に関数があります。

i.ToString(new System.Globalization.CultureInfo("en-US").NumberFormat);
于 2013-02-08T18:03:32.023 に答える