当我将数据从Excel导入数据库时,代码从第一行开始,它应该从第二行开始


 MaamoonKhalidIssueEntities db = new MaamoonKhalidIssueEntities() ;
 DataTable table = result.Tables [1];

 foreach(table.Rows中的DataRow dr)
 {
 string input = Convert.ToString(dr [0]);
 var reg = new Regex(pattern2,RegexOptions.IgnoreCase);
匹配匹配= reg.Match(输入);

 string input2 = Convert.ToString(dr [1]);
 var reg2 = new Regex(pattern,RegexOptions.IgnoreCase);
匹配match2 = reg2.Match(input2);


 if(match.Success&& match2.Success)
 {
 Person addtable = new Person()
 {
 ncode = Convert.ToString(dr [0]),
 nname = Convert.ToString(dr [1])
 };

 if(ValidateNewPerson(addtable,db))
 db.People.Add(addtable);
 }
}
 db.SaveChanges();
 excelreader.Close();
 stream.Close();
 代码>
&# xA;
 这里我从第一行开始,第一行是标题行,所以它不应该进入数据库,我怎么能跳过它?

答案 0 :(得分:1)
您可以遍历table.Rows
列表并从索引1而不是0开始:
for (int i = 1; i < table.Rows.Count; i++)
{
DataRow dr = table.Rows[i];
string input = Convert.ToString(dr[0]);
var reg = new Regex(pattern2, RegexOptions.IgnoreCase);
Match match = reg.Match(input);
string input2 = Convert.ToString(dr[1]);
var reg2 = new Regex(pattern, RegexOptions.IgnoreCase);
Match match2 = reg2.Match(input2);
if (match.Success && match2.Success)
{
Person addtable = new Person()
{
ncode = Convert.ToString(dr[0]),
nname = Convert.ToString(dr[1])
};
if (ValidateNewPerson(addtable, db))
db.People.Add(addtable);
}
}