0

Excel から SQL テーブルにデータをインポートしています。Excel の日付形式は 20090109 で、インポート後、データは 2.00901e+007 この形式で保存されます。

SQLクエリでは、正しい形式で日付を返しています。しかし、linq 2.00901e+007 形式では機能しません。

2.00901e+007 を ddMMyyyy に変更するにはどうすればよいですか?

4

1 に答える 1

0

正しい値が得られます。問題は Excel セルの書式設定です。Excel は '20090109' を数値と見なし、exp 形式 (2.00901e+007) に変換します。

Excel セル形式をテキストとして設定できます。

worksheet.get_Range("A1").NumberFormat = "@";

または、Excel に追加する前に番号の前に ' を付けることができます。

Excel セルをテキストとしてフォーマットしたくない場合は、SQL の戻り値を DateTime に変換します。セル番号の書式を設定する"ddMMyyyy"

修正:

私の誤解をお詫び申し上げます。SQL から Excel にデータをインポートすると仮定しました。Excelから読み取った値をDateTimeに変換していないようです。

string Value = "Value read from Excel";
DateTime dt = DateTime.ParseExact(Value, "ddMMyyyy", null);

その後、DateTime 値を使用して SQL に入力できます。

dt.ToString("ddMMyyyy")
于 2013-11-06T08:41:33.650 に答える