C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

シリアル値から日付に戻す


(過去ログ 2 を表示中)

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■1903 / inTopicNo.1)  シリアル値から日付に戻す
  
□投稿者/ 山崎 二等兵(1回)-(2005/11/18(Fri) 09:19:53)

分類:[C#] 


分類:[C#] 

分類:[C#] 

C#初心者です。よろしくお願いします。

C#.NETのWEBアプリにてEXCELファイルを読み込んで日付を取得しているのですが、
日付がシリアル値(2005/10/10 → 38635)で取得してしまうので、
それをもとの日付形式に戻したいのです。
何か良い手はないでしょうか?

0
引用返信 編集キー/
■1909 / inTopicNo.2)  Re[1]: シリアル値から日付に戻す
□投稿者/ 魔界の仮面弁士 大尉(40回)-(2005/11/18(Fri) 13:17:38)

分類:[C#] 

Excelの値は、どのようにして読み込んでいますか?
Excel.Range 経由ですか? それとも ODBC経由?

ちなみに、Excel.Range 経由の場合は、Range.Value2 で 38635 、
Range.Value の場合は 2005/10/10 が取得できるようで。


> それをもとの日付形式に戻したいのです。
とりあえずは、DateTime.FromOADate メソッドが使えるでしょう。
その逆は、ToOADate メソッドですね。

ただし Excel の場合は、シリアル値 0 を 1900/1/0 という特殊な日付値として
扱いますので、1未満のシリアル値に対する調整だけは必要かも知れません。

0
引用返信 編集キー/
■1910 / inTopicNo.3)  Re[2]: シリアル値から日付に戻す
□投稿者/ 山崎 二等兵(3回)-(2005/11/18(Fri) 13:42:42)

分類:[C#] 

書き込む情報が足りませんでした。申し訳ないです。

値の取得方法はExcel.Range 経由でvalue2で取得していて、
valueに変更したらすんなり直りました!

valueとvalue2の違いも

「Value2 プロパティでは、通貨型 (Currency) および日付型 (Date) のデータ型を
使用しないことだけが、Value プロパティと異なります。」

みたいで、問題なしです。

本当にありがとうございます!
取得後の変換でずーっと凝り固まって考えていたので、
2日作業が止まりました…。とほほ…。


解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -