[英]Select cell adress from Excel using OLEDB in C#
我有以下连接字符串:
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
我需要在第一列中找到包含字符串的单元格的地址。 所以在伪选择中,它将像:
Select "CellAdress" from [MySheet] where Value like '2_b_20_1'
它应该返回该单元格的地址。
我还没有任何代码,我只是不知道从哪里开始。
有可能吗? 先感谢您
对于连接字符串,我总是转到ConnectionString.com 。 搜索您要打开的Excel文件版本的类型。
我猜应该是:
"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=template.xls;Extended Properties=\"Excel 12.0 Xml;HDR=YES\"";
对于SQL查询字符串,对于excel,您应该这样做
"SELECT * FROM [<SheetName>$<optional range>]";
例如,如果工作表名称为MySheet,则可以执行
"SELECT * FROM [MySheet$]";
如果您想选择一个特定范围,您可以这样做。
"SELECT * FROM [MySheet$A1:C200]";
在您的情况下(不知道其余代码很难),但是我相信您需要的是:
"SELECT * FROM [MySheet$] WHERE ID='2_b_20_1'";
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.