如何检查c#中数据表中所有行中的列是否没有值(空)

时间:2015-02-08 08:55:40

标签: c#

我已将excel文件推送到我的数据表中。 excel中的空列在数据表中保留为空。

我猜他们不会被视为null。

任何人都可以帮助如何检查数据表中某些列中的空行。

//successfully loaded excel into datatable
OleDbDataReader dr= oledbCommand. ExecuteReader ();
dataTable. Load (dr);

问题 - 列中的空单元格在数据表中也保持空白。

怀疑 - 数据表中的这些空值是否为空?

如果不是如何检查dataTable.Rows [1][1]是否为空?

请帮忙!

1 个答案:

答案 0 :(得分:2)

您可以使用linq:

bool IsColumnEmpty  =  dt.AsEnumerable().All(dr=>string.IsNullOrEmpty( dr["name"]+""));

测试:

DataTable dt = new DataTable("myTable");
dt.Columns.Add("id", typeof (int));
dt.Columns.Add("name", typeof (string));
DataRow row = dt.NewRow();
row["id"] = 1;
//row["name"] = "";
dt.Rows.Add(row);
row = dt.NewRow();
row["id"] = 0;
//row["name"] = "zzz";
dt.Rows.Add(row);
row = dt.NewRow();
row["id"] = 2;
//row["name"] = "222";
dt.Rows.Add(row);
dt.Dump();

bool IsColumnEmpty=  dt.AsEnumerable().All(dr=>string.IsNullOrEmpty( dr["name"]+""));
Console.WriteLine (IsColumnEmpty);

结果:

enter image description here

我们从//

中移除//row["name"] = "222";

结果:

enter image description here