Use this Generic Code for Validating the Excel columns with the Database table Columns
private static bool IsColumnsEqual(DataTable excel, SqlConnection con, string tableName)
{
SqlCommand cmd = new SqlCommand("select COLUMN_NAME from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = @tableName", con);
cmd.Parameters.AddWithValue("@tableName", tableName);
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataTable dtColumns = new DataTable();
da.Fill(dtColumns);
List<string> lstColumnNames = new List<string>();
foreach (DataRow row in dtColumns.Rows)
lstColumnNames.Add(row["COLUMN_NAME"].ToString());
string[] excelColumnNames = excel.Columns.OfType<DataColumn>().Select(k => k.ColumnName).ToArray();
bool equals = excelColumnNames.Intersect(lstColumnNames).Count() == excelColumnNames.Union(lstColumnNames).Count();
return equals;
}
Usage:
bool isEqual = IsColumnsEqual(dtExcel, con, "Your_Table_Name");
if (isEqual) {
}