1

次の接続文字列があります。

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'

このセルのアドレスを返す必要があります。

私はまだそれについてのコードを持っていません、私はどこから始めるべきかわからないだけです。

それは可能ですか?前もって感謝します

4

1 に答える 1

4

接続文字列については、常に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'";

于 2013-03-26T11:22:32.583 に答える