得到一个dataset后需要筛选某一字段列的数据怎么办?
.net的程序,从数据库读出数据后形成一个dataset,dataset中有一列字段是"车主电话",车主电话有乱填写的格式不规范的,如何剔除不符合规范的dataset呢? 我在网上搜索了一些匹配电话号码正则表达式的规则来筛选,但是没有起效果,也不知道写对没有,也有说用DataView的RowFilter来筛选数据,可是也没成功,希望知道的提点一下!纠结好几天了。主要是筛选出填写正确的电话号码后导出到excel中显示的,截取部分代码如下:
#region 导出数据准备
public static string ExportTable(DataSet ds)
{
StringBuilder sb = new StringBuilder();
int count = 0;
//我想的是这里开始筛选数据
DataView dv= new DataView();
dv.Table = ds.Tables[0];
dv.RowFilter = "车主电话=null";
DataTable dt = dv.Table;
//foreach (DataTable tb in ds.Tables)
//{
//data += tb.TableName + "\n";
sb.AppendLine("<meta http-equiv=\"Content-Type\" content=\"text/html; charset=gb2312\">");
sb.AppendLine("<table cellspacing=\"0\" cellpadding=\"5\" rules=\"all\" border=\"1\">");
//写出列名
sb.AppendLine("<tr style=\"font-weight: bold; white-space: nowrap;\">");
foreach (DataColumn column in dt.Columns)
{
sb.AppendLine("<td>" + column.ColumnName + "</td>");
}
sb.AppendLine("</tr>");
//写出数据 []
foreach (DataRow row in dt.Rows)
{
sb.Append("<tr>");
foreach (DataColumn column in dt.Columns)
{
sb.Append("<td>" + row[column].ToString() + "</td>");
}
sb.AppendLine("</tr>");
count++;
}
sb.AppendLine("</table>");
// }
return sb.ToString();
}
--------------------编程问答-------------------- foreach (DataRow row in dt.Rows)
{
if (!Regex.IsMatch(row[某行].ToString(), 正则)) continue;
sb.Append("<tr>");
foreach (DataColumn column in dt.Columns)
{
sb.Append("<td>" + row[column].ToString() + "</td>");
}
sb.AppendLine("</tr>");
count++;
}
补充:.NET技术 , C#