2010-07-20 10 views
2

J'ai un fichier Excel 2007 « my.xlsx » et une feuille nommée « Etats », et j'ai le code suivantne peut pas lire mon fichier Excel à l'aide C#

using (OleDbConnection con = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=c:\my.xlsx;Extended Properties='Excel 12.0 Xml;HDR=NO'")) 
     { 
      OleDbCommand cmd = new OleDbCommand("select * from [States]", con); 

      con.Open(); 
      OleDbDataReader reader = cmd.ExecuteReader(); 
      while(reader.Read()) 
       Console.WriteLine(reader[0]); 
     } 

Il continue à jeter exception en disant "Le moteur de base de données Microsoft Office Access n'a pas pu trouver l'objet 'States' Assurez-vous que l'objet existe et que vous épelez son nom et le nom du chemin correctement.".

Quelqu'un pourrait-il aider à voir ce qui ne va pas avec mon code s'il vous plaît?

Répondre

2

Je pense que vous avez besoin d'ouvrir la connexion avant de créer la commande - ne sais pas si c'est une grosse affaire ...

Puis ajouter une $ à la fin du nom de la feuille:

OleDbCommand cmd = new OleDbCommand("select * from [States$]", con); 

Fondamentalement [Name] se réfère à une plage nommée, tandis que [Name$] se réfère à une feuille.

Pour plus d'informations, voir ce KB: http://support.microsoft.com/kb/316934

+0

Essayé et obtenu la même exception disant ne pouvait pas trouver l'objet "States $" –

+0

vérifiez bien ce que votre feuille de calcul est nommé, est-il nommé "States"? – Mikos

+0

Essayez également d'ouvrir la connexion avant de créer la commande. – Oren

1

Je viens de me faire fonctionner en visitant cette page

http://www.davidhayden.com/blog/dave/archive/2006/05/26/2973.aspx

Pour ma condition, je dois seulement lire un fichier Excel. La plupart des solutions que j'ai cherchées vous montrent utiliser une sorte de bibliothèque, ce qui est exagéré pour moi. Je cherchais vraiment quelqu'un pour juste poster un extrait de code sur la façon de lire le fichier, mais je n'ai trouvé que sur la page avec laquelle j'ai mis le lien.

Questions connexes