私の現在の要件は、1 つのクエリで Excel シート (DUMMY.xls) から複数の範囲を選択し、それを DataTable(fooData1) に入れる必要があることです。上の画像からわかるように、A から F までの列があります。 A から B および D から F までの列を単一の dataTable(fooData1) にフィルター処理しています。結果のデータテーブルの内容は次のようになります。
NAME ID Date Hobby COLOR
DEEPAK 1 Coding Black
ASTHA 2 Singing Red
GAURAV 3 Dancing Blue
BHAVESH 4 6/29/2007 Painting Green
私のコードは次のようになります:
クエリの実行中に次のエラーが発生します
「SQL ステートメントの終了後に文字が見つかりました。」
DataTable fooData1 = new DataTable();
System.Data.OleDb.OleDbConnection dbConnection =
new System.Data.OleDb.OleDbConnection
(@"Provider=Microsoft.Jet.OLEDB.4.0;"
+ @"Data Source=C:\Dummy.xls;"
+ @"Extended Properties=""Excel 8.0;HDR=Yes;""");
dbConnection.Open();
try
{
string strSql = "SELECT * FROM [Sheet1$A:B] ; select * from[Sheet1$D:F]";
OleDbCommand cmd = new OleDbCommand(strSql);
cmd.Connection = dbConnection;
System.Data.OleDb.OleDbDataAdapter dbAdapter1 = new System.Data.OleDb.OleDbDataAdapter(cmd);
dbAdapter1.Fill(fooData1);
}
finally
{
dbConnection.Close();
}