あなたはコードのような列をマップする必要があります...
using (SqlBulkCopy bulkCopy = new SqlBulkCopy(destConnection))
{
bulkCopy.ColumnMappings.Add("ID", "ID");
bulkCopy.ColumnMappings.Add("Email", "Email");
bulkCopy.DestinationTableName = "tableName";
bulkCopy.WriteToServer(ExcelReader);
}
SQL ServerからSQL Serverに一括してコピーする場合、ソースはデータ型を宛先に非常によく示すことができます。 Excelでは、ソースによってデータ型の推測が行われます。テキスト形式のExcelを作成しているかもしれませんが、ソース(ODBC?)は最初の50行を見て、それが数値データ型であると推測します。列の名前が一致していても、データ型が異なる場合、列にデータが入力されない可能性があります。