Excel空字段

我需要根据Excel中的字段更新数据库,但是我需要检查一列中的5行是否为空,然后停止更新数据库。

foreach (var sheets in workbook.Worksheets) { SqlCommand comm = new SqlCommand(query, conn); comm.CommandType = System.Data.CommandType.Text; var start = sheets.Dimension.Start; var end = sheets.Dimension.End; for (int i = start.Row + 1; i < end.Row; i++) { object columnE = sheets.Cells[i, 4].Value; string aa = columnE.ToString(); if (aa.StartsWith("E") && aa.EndsWith("ETO")) { comm.Parameters.AddWithValue("@columnE", columnE); object columnB = sheets.Cells[i, 1].Value; comm.Parameters.AddWithValue("@columnB", columnB); } else if (string.IsNullOrEmpty(aa) || !aa.StartsWith("E") && !aa.EndsWith("ETO")) { conn.Close(); } comm.ExecuteNonQuery(); comm.Parameters.Clear(); } } 

我有一个逻辑,当第一个字段为空或空或不是什么意图是停止更新,但我无法find一种方法来检查连续5个字段。

我已经find了解决办法,这里面是面向未来的人。

  foreach (var sheets in workbook.Worksheets) { conn.Open(); result = sheets.ToString(); SqlCommand comm = new SqlCommand(query, conn); comm.CommandType = System.Data.CommandType.Text; var start = sheets.Dimension.Start; var end = sheets.Dimension.End; int counter = 0; for (int i = start.Row + 1; i < end.Row; i++) { object columnE = sheets.Cells[i, 5].Value; string aa = ""; if (columnE != null) { aa = columnE.ToString(); } object columnB = sheets.Cells[i, 2].Value; if (aa.StartsWith("E") && aa.EndsWith("ETO") && conn.State == System.Data.ConnectionState.Open) { comm.Parameters.AddWithValue("@columnE", columnE); comm.Parameters.AddWithValue("@columnB", columnB); comm.ExecuteNonQuery(); comm.Parameters.Clear(); } if (columnE == null) { counter++; } if (counter == 5) { conn.Close(); } } } 

只要数到5你有真正的逻辑,否则重置计数器重新开始。

  Int counter =0; for (){ If (logictrue()){ counter++; if(counter==5) Update(); } else counter=0; }