我已将excel文件推送到我的数据表中。 excel中的空列在数据表中保留为空。
我猜他们不会被视为null。
任何人都可以帮助如何检查数据表中某些列中的空行。
//successfully loaded excel into datatable
OleDbDataReader dr= oledbCommand. ExecuteReader ();
dataTable. Load (dr);
问题 - 列中的空单元格在数据表中也保持空白。
怀疑 - 数据表中的这些空值是否为空?
如果不是如何检查dataTable.Rows [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);
结果:
我们从//
//row["name"] = "222";
结果: