尝试将表格值转发到combobox时出现错误

我正在尝试将一个Ms.Excel表列的名字放到一个combobox中。 我使用函数波纹pipe做活动,但我得到一个exception看起来像这样

“元数据$”不是有效的名称。 确保它不包含无效字符或标点符号,并且不会太长。

这里是代码“Metadata $”不是一个有效的名字。 确保它不包含无效字符或标点符号,并且不会太长

private void connection(String path) { string connectionString = string.Format(Thread.CurrentThread.CurrentCulture, "Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties='Excel 12.0;HDR=YES;'",path); DbProviderFactory factory = DbProviderFactories.GetFactory("System.Data.OleDb"); using (DbConnection connection = factory.CreateConnection()) { connection.ConnectionString = connectionString; using (DbCommand command = connection.CreateCommand()) { command.CommandText = @"SELECT [File], [ItemName], [ItemDescription], [Photographer name], [Date], [Environment site] FROM [Metadata$]"; connection.Open(); using (DbDataReader dr = command.ExecuteReader()) { if (dr.HasRows) { while (dr.Read()) { cmb.Items.Add(dr[0].ToString()); } } } connection.Close(); } } } 

注意 – 我使用openfiledialog获取excel文件的path

我使用休闲SQL命令而不是在代码上使用一个。

 "SELECT column_name from information_schema.columns where table_name = 'BigData' Order by ordinal_position"; 

这给了我下面的例外。

“Microsoft Access数据库引擎找不到对象”列“,确保对象存在,并且正确拼写其名称和path名称。如果”列“不是本地对象,请检查您的networking连接或联系服务器pipe理员。”

我想纠正这个错误。 两者或至less一个。

谢谢。