The code you are giving here is the slowes possible way of reading cells in excel:
for(int i = 0; i < dataTable_Excel.Rows.Count; i++)
{
string sql = string.Format("exec spCheckCustomer '{0}','{1}'", "", dataTable_Excel.Rows[i]["ID"]);
......
}
You should do something like:
Dim w As Excel.Workbook = excel.Workbooks.Open(filename)
Dim sheet As Excel.Worksheet = w.Sheets(1)
Dim usedRange As Excel.Range = sheet.UsedRange
Dim darray(,) As Object
darray = CType(usedRange.Value, Object(,))
Yes, I know it is in VB, but you should in any rate use sheet.UsedRange and store it in a array.