使用C#中的OLEDB从Excel中select单元格地址

我有一个以下的连接string:

string conn = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=template.xls;Extended Properties=""Excel 12.0 XML;"""; 

连接成功。 而且我在Excel表格中有以下数据

 ID Channel Upload 2_b_20_1 1 0,0 Mbps 2_b_20_2 2 0,0 Mbps 2_b_20_3 3 0,0 Mbps 2_b_20_4 4 0,0 Mbps 2_b_20_5 5 0,0 Mbps 2_b_20_6 6 0,0 Mbps 2_b_20_7 7 0,0 Mbps 2_b_20_8 8 0,0 Mbps 2_b_20_9 9 0,0 Mbps 2_b_20_10 10 0,0 Mbps 2_b_20_11 11 0,0 Mbps 2_b_20_12 12 0,0 Mbps 2_b_20_13 13 0,0 Mbps 

我需要find第一列中包含string的单元格的地址。 所以在伪select它会是这样的:

 Select "CellAdress" from [MySheet] where Value like '2_b_20_1' 

它应该返回这个单元格的地址。

我还没有任何代码,我只是不知道从哪里开始。

有没有可能? 先谢谢你

对于连接string,我总是去ConnectionString.com 。 search您尝试打开的Excel文件版本的types。

我猜你应该是:

 "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=template.xls;Extended Properties=\"Excel 12.0 Xml;HDR=YES\""; 

对于SQL查询string,对于Excel,您应该这样做

 "SELECT * FROM [<SheetName>$&ltoptional range>]"; 

例如,如果工作表名称是MySheet,你可以做

 "SELECT * FROM [MySheet$]"; 

如果你想select一个特定的范围,你可以这样做。

 "SELECT * FROM [MySheet$A1:C200]"; 

在你的情况(不知道你的代码的其余部分是困难的),但我相信你需要的是:

 "SELECT * FROM [MySheet$] WHERE ID='2_b_20_1'";