2010-10-04 5 views
0


Je suis en train de lire un fichier Excel avec le fournisseur OLEDB en utilisant C#:de fichier Excel avec des crochets en-tête C#

   using (var fileConnection = new OleDbConnection(fileConnectionString)) 
       { 
        var command = new OleDbCommand(@"Select SourceName, [ExternalID] FROM [page1$]", fileConnection); 
        fileConnection.Open(); 
        var reader = command.ExecuteReader(); 
        while (reader.Read()) 
        { 
         yield return new Source 
         { 
//some code 
         };     
        } 
       } 

. Le seul problème est que certains en-têtes dans le fichier Excel ont un crochet dans leur nom comme [ExternalID]. Est-il possible de les lire? Comment puis-je le faire?
Nous vous remercions de votre aide!

+1

Avez-vous essayé, et obtenir l'exception? –

+0

J'ai essayé. On m'a dit qu'il n'y avait pas une telle colonne dans le fichier. – StuffHappens

+0

Vous pouvez écrire une boucle qui passe par chacun des noms de colonne de votre feuille Excel et les imprime. Ensuite, vous pourrez voir comment ces colonnes sont représentées dans un ensemble de données et ainsi comment faire correspondre la chaîne. –

Répondre

2

C'est simple. Créez un document Excel contenant une colonne appelée [ExternalId] et essayez d'obtenir une valeur. Si vous ne pouvez pas obtenir cette valeur de colonne, utilisez Adapter pour avoir Excel complet, puis vous trouverez l'index de la colonne [ExternalID]. L'indice est ce dont vous avez besoin pour obtenir des valeurs.

Questions connexes