У меня есть несколько файлов Excel, которые я перебираю один за другим и загружаю в DataTable.
В строке подключения к Excel я установил HDR = Да.
Проблема в том, что у каждого Excel есть различный набор данных.
Некоторые Excel имеют заголовок как саму первую строку, в то время как для некоторых он идет во второй строке. Я пробовал приведенный ниже код, но не получил правильный вывод, когда Excel для Excel отличается
excelConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;"
+ @"Data Source=" + filePath + ";"
+ "Extended Properties='Excel 12.0 XML;IMEX=1;HDR=YES;TypeGuessRows=0;MAXSCANROWS=0;ImportMixedTypes=Text'";
// Dataset filled from Excel data - Post that below code
foreach (DataColumn column in excelDataSet.Tables[0].Columns)
{
string cName = excelDataSet.Tables[0].Rows[0][column.ColumnName].ToString();
if (!excelDataSet.Tables[0].Columns.Contains(cName) && cName != "")
{
column.ColumnName = cName;
}
}
Как динамически установить заголовки строк в DataTable с помощью C#?