C# 在c中使用OLEDB数据提供程序读取excel文件时的FROM子句

C# 在c中使用OLEDB数据提供程序读取excel文件时的FROM子句,c#,sql,excel,C#,Sql,Excel,如何修改以下子句以正确读取C中的Excel工作表 string queryString = "SELECT * FROM [#Ticker$]"; FROM子句中的英镑符号不断转换为临时表。符号,在运行时给我以下异常 .Ticker$”不是有效的名称。确保它不包含无效字符或标点符号,并且不太长 我需要它是一个,因为这是在工作表的名称。我无法控制工作表的命名,因此无法更改名称。更好的方法是使用OLEDB参数 关于命令参数的更多信息,我经过一些尝试和错误后找到了它。下面的工作 var queryS

如何修改以下子句以正确读取C中的Excel工作表

string queryString = "SELECT * FROM [#Ticker$]";
FROM子句中的英镑符号不断转换为临时表。符号,在运行时给我以下异常

.Ticker$”不是有效的名称。确保它不包含无效字符或标点符号,并且不太长


我需要它是一个,因为这是在工作表的名称。我无法控制工作表的命名,因此无法更改名称。

更好的方法是使用OLEDB参数


关于命令参数的更多信息,

我经过一些尝试和错误后找到了它。下面的工作

var queryString = "SELECT * FROM ['#Ticker$']";

文字“Ticker”的包含似乎阻止了hashtag转换为临时表符号

尝试转义符号,例如字符串queryString=SELECT*FROM[\Ticker$];或者用\\

双转义,尝试用x0023\ux替换。@Suraj S:谢谢,但不起作用。Get _x0023\u Ticker$'不是有效的名称异常。尝试在[Ticker$]中的@SELECT*这样的字符串前面加一个@将不起作用,因为字符串的c解释不是问题。表名或列名可以是参数吗?我也尝试过,使用了DataTable dt=conn.GetSchemaTables;检查表名@Mark感谢您的建议,但不起作用,因为仍然会转换为。我会坚持我找到的解决方案。。。
var queryString = "SELECT * FROM ['#Ticker$']";