データが空の状態のデータテーブルについて

度重なる質問で大変申し訳ないのですが、データが存在しないデータテーブルについて判定させたところ、データが存在するという結果になりました。これはロボが”空のデータ”が存在すると認識しているからなのでしょうか。
範囲読み込みアクティビティで表示形式を維持するにチェックをしたのですが、やはり結果は同じでした。
データが単純にない場合は存在しないと判定させるためにはどうすれば宜しいでしょうか。

検証してみました。

空のシートを持つEXCELファイルをEXCELアプリケーションスコープで読み込み、範囲を読み込みでDT型に読み込ませると、Rows.Countは1になりますね。これはバグ!?

実際にシートにヘッダー行だけが存在するシートを作成して、Rows.Countを見ると0になっていました。

ですので、
1)どのようなEXCELファイルを対象にして、
2)どのようにデータの有無を判断したか
を再検討する必要があると思われます。

dataExistというboolean型の変数に、"dt(データテーブル).Rows.Count()>0"を代入し、trueだった場合、はデータが存在するというメッセージボックスを、falseだった場合はデータが存在しないといったメッセージボックスを表示させるようにしました。

なるほど・・!!
範囲自体はヘッダーありのものと、ヘッダーなしのものでやってみましたが、どちらもデータが存在するといった結果になったので悩んでます。
恐らくですが、条件判定の式がおかしいのかもしれません。。

EXCELシートの状態よりけりですね。

気が付いたのですが、空のシートを読み込ませたときにRows.Countが1となる場合、列名が”Column1"となっているので、
Dt.columns(0).ColumnName.equals(“Column1”) AndAlso Dt.Rows.count.equals(1)
なら空と見なすのも一興かと。ただし、範囲を選択で、ヘッダーの追加チェックONの時限定ですけどね(^^♪

こんにちは

v2.6.2で直っている模様ですので、一度バージョンご確認いただければと思います。

2 Likes

なるほど、当方の環境は、2.5.1でした。

確かに、2.6.2だと、行数、列数ともに0になりますね。
メモφ(…)

1 Like

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.