如何在导入Excel中select以哪个行开头的数据库
当我从Excel导入数据到数据库的代码从第一行开始,它应该从第二行开始
MaamoonKhalidIssueEntities db = new MaamoonKhalidIssueEntities(); DataTable table = result.Tables[1]; foreach (DataRow dr in table.Rows) { 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); } } db.SaveChanges(); excelreader.Close(); stream.Close();
这里我从第一行开始,第一行是一个标题行,所以它不应该进入数据库,我怎么能跳过它?
您可以遍历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); } }