IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MFC Discussion :

[MFC-OLEDB]Problèmle de connexion dynamique à un fichier excel


Sujet :

MFC

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2013
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2013
    Messages : 2
    Points : 2
    Points
    2
    Par défaut [MFC-OLEDB]Problèmle de connexion dynamique à un fichier excel
    Bonjour,

    Je suis actuellement en train de faire des test sur la création d'un connexion Read entre une application MFC et un fichier EXCEL.
    Pour se faire j'utilise le code suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     CDataSource dataSource;
    hr = dataSource.OpenFromInitializationString(L"Provider='Microsoft.ACE.OLEDB.12.0';Data Source =D:\WTLExcel.xls;Extended Properties=\"Excel 8.0;MAXSCANROWS=0;ImportMixedTypes=Text;IMEX=1;HDR=yes;READONLY=FALSE\"");
    Le désavantage de cette instruction c'est que mon emplacement de fichier est statique, or je souhaiterai lier ce chemin à une saisie sur l'interface graphique.
    J'ai donc modifier l'instruction précédente comme ceci (N.B :l'interface MFC n'est pas encore réalisé):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    paramètre passé dans ma fonction test:
    std::string str("D:\\WTLExcel.xls"); 
    
    fonction :
    bool test(std::string file)
    {
    	....
     CDataSource dataSource;
    	std::stringstream stream;
    	stream << "Provider='Microsoft.ACE.OLEDB.12.0';Data Source=" << file << ";Extended Properties="<<'\\'<<'\"'<<"Excel 8.0;MAXSCANROWS=0;ImportMixedTypes=Text;IMEX=1;HDR=yes;READONLY=FALSE"<<'\\'<<'\"';
    	file = stream.str();
    	USES_CONVERSION; 
    	char* iniStr =const_cast<char*>(file.c_str());
    
    hr = dataSource.OpenFromInitializationString(A2COLE(iniStr));
    Lorsque je déroule mon programme la connexion échoue.
    Je me suis assuré que les chaine de caractères passé en paramètres de la fonction "OpenFromInitializationString" soit identique.

    J'en est déduis que l'instruction "L" dans la première version permettait la connexion, ainsi je souhaiterai si il y a un moyen de l'ajouter dans la version dynamique pour la rendre fonctionnel.Où alors de corrigé la forme de ma deuxieme instruction.

    Merci d'avance.

    P.S : je découvre les MFC et le protocole OLEDB.

  2. #2
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2013
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2013
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Résolu
    Problème résolu,il y avais des caractères en trop dans ma chaine de caractères dynamique.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Fusin dynamique de fichiers excel
    Par Clement Tissot dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 17/06/2014, 09h55
  2. Ecriture dans une liste dynamiques de fichiers excel
    Par lionrouge dans le forum Développement de jobs
    Réponses: 1
    Dernier message: 29/10/2013, 17h21
  3. [SSAS] [2K5] Bloquer une connexion via un fichier excel
    Par IPT-florence-d dans le forum SSAS
    Réponses: 2
    Dernier message: 29/06/2009, 10h14
  4. récupération dynamique cellule fichier Excel type
    Par imagonem dans le forum Excel
    Réponses: 2
    Dernier message: 04/03/2009, 09h05
  5. connexion a un fichier excel
    Par youness_ka dans le forum ASP.NET
    Réponses: 3
    Dernier message: 31/07/2007, 21h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo