C# 从excel工作表中获取列名
在C#中,如何从Excel文件中的工作表中获取列名 以下是我目前的代码:C# 从excel工作表中获取列名,c#,excel,oledb,C#,Excel,Oledb,在C#中,如何从Excel文件中的工作表中获取列名 以下是我目前的代码: ConnectionString = string.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties=\"Excel 12.0 Xml;HDR=YES;IMEX=1\";", "@"C:\file.xlsx"); objConn.Open(); OleDbCommand objCmdSelect = new Ol
ConnectionString = string.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties=\"Excel 12.0 Xml;HDR=YES;IMEX=1\";", "@"C:\file.xlsx");
objConn.Open();
OleDbCommand objCmdSelect = new OleDbCommand("SELECT * FROM ["xlWorksheet"$]", objConn);
OleDbDataAdapter objAdapter1 = new OleDbDataAdapter();
objAdapter1.SelectCommand = objCmdSelect;
DataSet objDataset1 = new DataSet();
objAdapter1.Fill(objDataset1);
objConn.Close();
您的连接字符串是否包含HDR=YES
Provider=Microsoft.ACE.OLEDB.12.0;Data Source=c:\myFolder\myExcel2007file.xlsx;Extended Properties="Excel 12.0 Xml;HDR=YES";
填充数据表或数据集后,您可以按照通常的方式处理:
dt.Columns[0].ColumnName
或:
此外,这看起来语法不正确:
OleDbCommand objCmdSelect = new OleDbCommand("SELECT * FROM ["xlWorksheet"$]", objConn);
应该是这样的:
OleDbCommand objCmdSelect = new OleDbCommand("SELECT * FROM [" + xlWorksheet + "$]", objConn);
最后,如果您花时间研究EPPlus(开放源码)读/写Excel,因为它在32位和64位环境中都能工作。您的连接字符串是否包含HDR=YES
Provider=Microsoft.ACE.OLEDB.12.0;Data Source=c:\myFolder\myExcel2007file.xlsx;Extended Properties="Excel 12.0 Xml;HDR=YES";
填充数据表或数据集后,您可以按照通常的方式处理:
dt.Columns[0].ColumnName
或:
此外,这看起来语法不正确:
OleDbCommand objCmdSelect = new OleDbCommand("SELECT * FROM ["xlWorksheet"$]", objConn);
应该是这样的:
OleDbCommand objCmdSelect = new OleDbCommand("SELECT * FROM [" + xlWorksheet + "$]", objConn);
最后,如果您花时间研究EPPlus(开放源码)来读/写Excel,因为它在32位和64位环境中都可以工作。可能重复的