Я хочу вставить данные Excel в SQL, но имена столбцов Excel часто меняются.
Ниже приведен код, который я написал для массовой загрузки Excel
string excelConnectionString = string.Format(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties=""Excel 12.0 Xml;HDR=YES""", path);
//// Create Connection to Excel Workbook
{
string destablename1 = string.Empty;
destablename1 = "[admin.AttendanceData]";
DataTable Data = new DataTable();
using (OleDbConnection conn = new OleDbConnection(excelConnectionString))
{
conn.Open();
OleDbCommand cmd = new OleDbCommand(@"SELECT * FROM [Attendance$]", conn);
OleDbDataAdapter adapter = new OleDbDataAdapter(cmd);
adapter.Fill(Data);
conn.Close();
}
var dacObj = new DAC();
String strConnection = System.Configuration.ConfigurationManager.ConnectionStrings["MyConnectionString"].ConnectionString;
using (SqlBulkCopy bulkCopy = new SqlBulkCopy(strConnection))
{
bulkCopy.ColumnMappings.Add("Emp ID", "Citrix_ID");
bulkCopy.ColumnMappings.Add("Full Name", "Full_Name");
bulkCopy.ColumnMappings.Add("Band", "Band");
bulkCopy.ColumnMappings.Add("Cigna DOJ", "Cigna_DOJ");
bulkCopy.DestinationTableName = destablename1;
dacObj.OpenConnection();
bulkCopy.WriteToServer(Data);
dacObj.CloseConnection();
}
}n
как добавить динамические имена столбцов из Excel в SQL?
пример изображения данных листа Excel

Здесь после Cigna DOJ столбцы будут меняться для каждого месяца.