1

C# で OpenXML を使用して Excel ファイルを読み取るライブラリを作成しています。セルのテキストと数字は問題なく読めますが、日付に関しては問題があります。セルには「日付」タイプがありますが、明らかに Excel 2007 はそのタイプで日付を保存しないため、読み取っている値が日付かどうかわかりません。代わりに、スタイルを使用しているように見えます。

それが日付であるかどうかを検出し、その文字列表現を返すにはどうすればよいですか (例: 29-12-2010)?

4

1 に答える 1

4

Excel は日付を float 値として格納します。整数部分は 1900 年 1 月 1 日 (または使用されているカレンダーによっては 1904 年 1 月 1 日) からの日数であり、小数部分は 1 日の割合 (つまり、時刻の部分)... 1900 年が閏年と見なされているという事実により、やや扱いにくくなっています。

データと数値を区別する唯一のものは、数値書式マスクです。フォーマットマスクを読み取ることができれば、それを使用して値を数値ではなく日付として識別できます...次に、基準日から日付値/フォーマットを計算します。

于 2010-12-29T11:30:35.807 に答える