2011-03-27 5 views
0

Nous avons une ancienne application écrite en utilisant VC++ qui utilise le pilote ODBC pour lire les données Excel.Lire la feuille Excel en utilisant ADO sur Visual C++

Il existe des problèmes dans le code actuel avec le type de données mélangé et les limitations du pilote ODBC.

SO Je prévois d'utiliser le pilote Jet OLE DB et ADO utiliser

Le code j'ouvre la connexion ADO et lit les problèmes Excel sheet.No ici ..

Le plus gros problème est à chaque fois, Open () est appelé, il affiche la feuille Excel et affiche à l'utilisateur (s'il n'est pas déjà ouvert). J'ai essayé de regarder dans les paramètres, mais je n'ai trouvé aucune suggestion pour cacher la fenêtre principale d'Excel.

Des suggestions?

La chaîne de connexion J'utilise est

Provider = 'Microsoft.JET.OLEDB.4.0'; Data Source = temp.xls; Propriétés étendues = "Excel 8.0; IMEX = 1; HDR = NO"

+0

Il est fournisseur = 'Microsoft.JET.OLEDB.4.0'; Data Source = temp.xls; Propriétés étendues = "Excel 8.0; IMEX = 1; HDR = NO" – buzzy2020

+0

personne. Des pointeurs? – buzzy2020

Répondre

0

Trois options viennent à l'esprit:

  1. utiliser automation pour ouvrir la feuille de calcul dans une fenêtre cachée. C'est à dire. Vous pouvez créer une instance de l'application Excel, masquer la fenêtre principale et ouvrir la feuille de calcul dans cette fenêtre.
  2. Utilisez le pilote ISAM au lieu du pilote JET. Cela peut changer le comportement de manière indésirable cependant.
  3. Vivez avec.
+0

Je suis allé avec la bibliothèque d'interopérabilité Excel enfin. Au moins, j'ai le contrôle total des données une fois lues et c'est bon maintenant. – buzzy2020

+0

Bon choix - le contrôle est bon. – Ben

Questions connexes