投稿者 るきお  (社会人) 投稿日時 2022/11/2 21:48:03
ReoGridを使っている人がものすごく少ないと思うので、ほとんど回答は期待できないと思いますよ。

私ははじめてReoGridを使ってみました。


> どうやったらセルの見かけ上データではなく
> 中身を取得できるのでしょうか。
ちょっと試した感じでは Cellクラスの Dataプロパティ で セルに実際に設定されているデータを取得できるようでした。
Windows フォーム(.NET 6)で次のプログラムで試しました。

var sheet = reoGridControl1.CurrentWorksheet;
sheet.Cells[0, 0].DataFormat = unvell.ReoGrid.DataFormat.CellDataFormatFlag.Number;
sheet.Cells[0, 0].DataFormatArgs =
    new unvell.ReoGrid.DataFormat.NumberDataFormatter.NumberFormatArgs()
    {
        UseSeparator = true, //3桁区切りのカンマ
        DecimalPlaces = 2 //小数点桁数2
    };

//画面表示は 1,234.57 になりました。
sheet.Cells[0, 0].Data = "1234.5678";

//1234.5678 と出力されました。
System.Diagnostics.Debug.WriteLine(sheet.Cells[0, 0].Data);


書式を設定しているので画面表示は 1,234.57 と表示されますが、Dataプロパティは実際に設定している値の1234.5678を返しました。


> 以下の例で行くと、
> CalSheet.Cells[0, i].Data→A1
> CalSheet.Cells[0, i].Data.toString()→「1」
> DateTime NowData = DateTime.Parse(CalSheet.Cells[1, i].Data.ToString());→値が1のためエラーになる
ごめんなさい。意味がくみとれませんでした。

> CalSheet.Cells[0, i].Data→A1
Dataプロパティが"A1"という文字列を返すので、期待した値と違うという意味なのかなと思いました。
が、そうだとしても実際に何がセットされていて何を返すことを期待されているかわからず…。"A1"という値が設定されているのか、しかし、次の行の「1」の方が鍵かっこ付になっているのに比べて A1 は引用符がついていないので文字列のことではないのか。

DataプロパティはObject型なので、文字列や数値のように単純な型でないものを設定している場合、確認方法の方に問題があるのかもしれませんよ。

DateTime.Parseとあるので、日付をセットしているのか。

もっとサンプルを単純化することをお勧めします。