2010-08-06 5 views
1

mon excelC# Excel Lire problème

|Name|Telephone| 
|Color|Car| 
|John|Jon| 

i besoin "| John | Jon |" comment sélectionner OleDbCommand? troisième rangée départ

Mon Csharp Non Code du Travail:

ExcelCommand.CommandText = @"SELECT * FROM " + SpreadSheetName + " Where RowNumber > 3"; 

Merci ...

Répondre

1

Cela a fonctionné pour moi. Vous pouvez modifier l'instruction SELECT comme vous le souhaitez (lignes spécifiques, colonnes multiples, ...) pour obtenir un résultat unique ou un ensemble de lignes renvoyé.

string connectionString = @"Provider=Microsoft.Jet.OleDb.4.0;Data Source=test.xls;"; 
connectionString += "Extended Properties=Excel 8.0;"; 
OleDbConnection con = new OleDbConnection(connectionString); 

DataSet ds = new DataSet("stuff"); 

OleDbDataAdapter adapter = new OleDbDataAdapter(); 
// adapter.SelectCommand = new OleDbCommand("Select * from [Sheet1$A1:A100];", con); 
// adapter.SelectCommand = new OleDbCommand("Select * from [Sheet1$];", con); 
adapter.SelectCommand = new OleDbCommand("Select * from [Sheet1$] where [A] = 'John';", con); 
adapter.Fill(ds); 

foreach (DataRow dr in ds.Tables[0].Rows) 
{ 
    foreach (DataColumn dc in ds.Tables[0].Columns) 
    { 
     Console.WriteLine(dr[dc].ToString()); 
    } 
} 
0

Peut être à la place "RowNumber> 3" utilisation "RowNumber = 3". "| John | Jon |" - troisième rangée.

+0

Ne fonctionne pas Pls Aidez-moi ExcelCommand.CommandText = @ "SELECT * FROM" + SpreadSheetName + "Où RowNumber = 3"; – Chicharito

+0

Erreur: Aucune valeur donnée pour un ou plusieurs paramètres requis. – Chicharito

+0

Peut être essayer une telle syntaxe: SELECT * FROM [+ "SpreadSheetName" + $ A3: B3] Où $ A3: B3 - cellules – Anton