投稿者 えんぴー  (社会人) 投稿日時 2022/11/2 17:05:44
ExcelのA1に「2022/11/1」
ExcelのA2に「2022/11/1」をセル書式[d]に設定し「1」と表示させています。
(Excelでセルを選択して確認すると、2022/11/1と表示されます)

ExcelファイルをReoGridに読ませた後
ReoGridの値と日付が同じか確認する作業があります。


CalSheet→ReoGridの特定シート。
DummyData→セル内容が空になったら抜けたい
RealCount→セルが入っている行の数を数える(途中に空白セルは挟まない)

どうやったらセルの見かけ上データではなく
中身を取得できるのでしょうか。

以下の例で行くと、
CalSheet.Cells[0, i].Data→A1
CalSheet.Cells[0, i].Data.toString()→「1」
DateTime NowData = DateTime.Parse(CalSheet.Cells[1, i].Data.ToString());→値が1のためエラーになる

            string ?DummyData;
            for (var i=0; i<CalSheet.ColumnCount;i++) {
                Console.Write(CalSheet.Cells[0, i].Data);
                Console.Write(CalSheet.Cells[0, i].Data.ToString());
                DateTime NowData = DateTime.Parse(CalSheet.Cells[1, i].Data.ToString());
                if (NowData.ToString("yyyy年MM月d日") == Today.ToString("yyyy年MM月d日"))
                {
                    TodayCell = new RangePosition(3, i, 1, 1);
                }
                RealCount++;
                DummyData = CalSheet.Cells[0, i].Data.ToString();
                if (DummyData == null) break;
            }