Hi @don bradman ,
The following code is more efficient, and you can refer to it.
foreach (DataGridViewRow element in dataGridView1.SelectedRows)
{
var searchCell = worksheet.Cells[cellRange].Where(cell => cell.Value.ToString() == comboBox1.Text)
.Select(cell => cell.Start.Row);
foreach (var rowNum in searchCell)
{
if (worksheet.Cells["B" + rowNum].Value.ToString() == element.Cells[0].Value.ToString())
{
if (!string.IsNullOrEmpty(worksheet.Cells["F" + rowNum].Text))
{
MessageBox.Show("Something is wrong!");
allMatched = false;
rowLst.Clear();
break;
}
else
{
rowLst.Add(rowNum);
}
}
}
}
foreach (var rowNum in rowLst)
{
worksheet.Cells["F" + rowNum].Value = "Utilized on " + DateTime.Today.ToString("dd.MM.yyyy");
}
if (allMatched)
{
excelPackage.Save();
MessageBox.Show("Done");
}