Включена ли в строку подключения HDR = ДА ?:
Provider=Microsoft.ACE.OLEDB.12.0;Data Source=c:\myFolder\myExcel2007file.xlsx;Extended Properties="Excel 12.0 Xml;HDR=YES";
Заполнив DataTable или DataSet, вы можете обращаться с ним следующим образом:
dt.Columns[0].ColumnName
Или:
// For each DataTable, print the ColumnName.
foreach(DataTable table in dataSet.Tables)
{
foreach(DataColumn column in table.Columns)
{
Console.WriteLine(column.ColumnName);
}
}
Также синтаксис выглядит неверно:
OleDbCommand objCmdSelect = new OleDbCommand("SELECT * FROM ["xlWorksheet"$]", objConn);
Должно быть что-то вроде:
OleDbCommand objCmdSelect = new OleDbCommand("SELECT * FROM [" + xlWorksheet + "$]", objConn);
Наконец, если вам пора - исследуйте EPPlus (с открытым исходным кодом) для чтения / записи Excel - http://epplus.codeplex.com, поскольку он работает как в 32-битных, так и в 64-битных средах.