16

データ型をC#のExcel列に設定しようとしています。この場合、データ型は数値、テキスト、日付です。

どのようにフォーマットをExcel列全体に設定しますか?

4

4 に答える 4

32

範囲をテキストに設定するには:

xlYourRange.NumberFormat = "@";

セルに入力した値の前にアポストロフィを付けて、テキストとしてフォーマットすることもできます。

xlYourRange.Value = "'0123456";

範囲を数値に設定するには

xlYourRange.NumberFormat = "0";

明らかに、列全体の形式を設定する場合は、範囲が列になります。

xlYourRange = xlWorksheet.get_Range("A1").EntireColumn;

編集:

日付はもう少し複雑で、地域の設定によっても異なります。

// Results in a Date field of "23/5/2011"

xlRange.NumberFormat = "DD/MM/YYYY";
xlRange.Value = "23/5/2011";

// Results in a Custom field of "23/5/2011"

xlRange.NumberFormat = "DD-MM-YYYY";
xlRange.Value = "23/5/2011";

// Results in a Custom field of "05/23/2011"

xlRange.NumberFormat = "MM/DD/YYYY";
xlRange.Value = "5/23/2011";

// Results in a Custom field of "05-23-2011"

xlRange.NumberFormat = "MM-DD-YYYY";
xlRange.Value = "5/23/2011";

// Results in a Date field of "23/05/2011"

xlRange.NumberFormat = "DD/MM/YYYY";
xlRange.Value = "5/23/2011";

// Results in a Custom field of "23-05-2011"

xlRange.NumberFormat = "DD-MM-YYYY";
xlRange.Value = "5/23/2011";

// Results in a Custom field of "23/5/2011"

xlRange.NumberFormat = "MM/DD/YYYY";
xlRange.Value = "23/5/2011";

// Results in a Custom field of "23/5/2011"

xlRange.NumberFormat = "MM-DD-YYYY";
xlRange.Value = "23/5/2011";
于 2012-12-11T22:46:28.937 に答える
0

はい、日付形式ではすべてがより複雑になります。シド・ホランドが述べたよりもさらに複雑です。その理由は、いくつかのローカリゼーションの問題にあります。たとえば、Windowsシステムにロシア語のローカライズがある場合は、「ДД.MM.ГГГГ」や「ГГГГ-MM-ДД」などの日付形式のロシア語の文字を使用する必要があります。したがって、抽出して適用できるはずです。これらの手紙。ここで多かれ少なかれ完全な説明と解決策を参照してください:https ://stackoverflow.com/a/35418176/2199512

于 2016-02-16T08:32:59.547 に答える
0

値の先頭にアポストロフィを連結すると、問題が修正されます。

row["Total Sold/Off"] = "'" + row["Sold"].ToString() + "/" + row["Offered"].ToString();
于 2022-01-31T17:04:47.500 に答える
-2

しばらく前に私がこれについて尋ねた質問に対する答えがあります。

最も注目すべきは、この男が彼の答えで使用するデータ型は次のとおりです。

private struct ExcelDataTypes
{
    public const string NUMBER = "NUMBER";
    public const string DATETIME = "DATETIME";
    public const string TEXT = "TEXT"; // also works with "STRING".
}

見覚えがあります?

興味のある方は、こちらのリンクをご覧ください。

OleDb経由でMicrosoftAccessDatabaseEngineを使用してDataTableをExcelに挿入します

于 2012-12-13T16:09:01.363 に答える