2009-12-20 7 views

Répondre

2

Voici a sample:

Excel.Application oXL; 
    Excel._Workbook oWB; 
    Excel._Worksheet oSheet; 
    Excel.Range oRng; 


     //Start Excel and get Application object. 
     oXL = new Excel.Application(); 
     oXL.Visible = true; 

     //Get a new workbook. 
     oWB = (Excel._Workbook)(oXL.Workbooks.Add(Missing.Value)); 
     oSheet = (Excel._Worksheet)oWB.ActiveSheet; 

     //Add table headers going cell by cell. 
     oSheet.Cells[1, 1] = "First Name"; 
+2

Je voulais juste marquer que cette approche nécessite Microsoft Excel pour être installé sur la machine qui exécute le programme. – empi

1

Je pense que la meilleure façon de le faire est de traiter Excel comme ADO.NET source de données. Voici un exemple: http://www.knowdotnet.com/articles/exceldatasource.html.

Cette approche vous permet de facilement interroger des données dans des feuilles Excel et, de plus, vous n'avez même pas besoin d'installer Microsoft Excel.

4

est ici une approche utilisant ADO.NET:

string connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\myfile.xls;Extended Properties=\"Excel 8.0;HDR=Yes;IMEX=1\";"; 
string provider = "System.Data.OleDb"; 
DbProviderFactory factory = DbProviderFactories.GetFactory(provider); 
DbConnection connection = factory.CreateConnection(); 
connection.ConnectionString = connectionString; 
connection.Open(); 
DbCommand command = connection.CreateCommand(); 
command.CommandText = "SELECT * FROM [Sheet1$]" 
DbDataReader reader = command.ExecuteReader(); 
while(reader.read()) { 
    // process row 
} 

Regardez ConnectionString.com pour plus de détails sur la configuration de la chaîne de connexion (par exemple, Excel 2007 est). Lorsque vous définissez la propriété commandText sur command, vous pouvez configurer des requêtes plus sophistiquées (SELECT * from [Sheet1$] where someColumn <> someValue and someOtherColumn > someOtherValue).

Cette méthode présente l'avantage que si vous connaissez déjà ADO.NET, vous pouvez utiliser les connaissances que vous avez acquises. De plus, Excel n'a pas besoin d'être installé sur la machine.

+0

+1 pour cela n'a pas besoin de vous pour installer Excel – TheVillageIdiot

Questions connexes