|
■No87958 (河童 さん) に返信 > string cell_nextmonth = worksheet.Cell(Row, NexrtMonth_Column).Value.ToString();
worksheet.Cells ではなく worksheet.Cell という記述になっているということは Excel オートメーションや EPPlus による操作ではなく、 ClosedXML にて操作している、という事でしょうか。
もしもそうなら、 var cell = worksheet.Cell(Row, NexrtMonth_Column); if (cell.TryGetValue<DateTime>(out nxtdt)) { } などとしてみるとか。
Excel は、1900/02/29 の存在を認めているので、 1900/03/01 以前の日付を取得する場合はズレが生じることに注意。
もしも文字列としての日付と、日付値としての日付を区別したいなら、 XLDataType t = cell.DataType; が、Text/Number/Boolean/DateTime/TimeSpan のいずれなのかを調べたり、 cell.Style.NumberFormat を得るなりするとか。
> ・セルが数値で入力されていたら困る DataType で判定できませんかね。
|