Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

AUTOMATION DE EXCEL ENTIEREMENT EN WIN32 ET SOUS FORME DE CLASSE


Information sur la source

Description

En fait il s'agit de la suite de http://www.cppfrance.com/codes/AUTOMATISER-EXCEL-SANS-MFC-NI-IMPORT_30147.aspx
mais avec plus de fonctions et surtout plus de commentaires.
J'ai du controler excel pour mes besoins et je suis parti de cette source pour debuter puis petit a petit des fonctions se sont rajoutées dessus, avec de la logique et un bon moteur de recherche il est assez facile de continuer.
Pour les utilisateurs des MFCs c'est réinventer la roue mais perso meme si je le voulais, je ne pourrais pas les utiliser (non livrées avec vc 2005 express).
J'aurais pu utiliser une syntaxe plus logique (comme celle des MFCs) mais j'ai rajouté les fonctions au fur et a mesure de mes besoins.
 

Source

  • MyExcel Excel;
  • //lance une nouvelle instance de excel
  • Excel.NewExcel();
  • //le rend visible
  • Excel.SetVisible(true);
  • //ouvre un nouveau carnet
  • //Excel.AddWorkbook();
  • //charge un fichier existant
  • Excel.Open(TruePath("\\test.xls"));
  • //selectionne la premiere feuille
  • Excel.GetWorksheet(1);
  • //on rempli certaines cases
  • Excel.SetData("A2:B3","ABCD");
  • Excel.SetData("A1","Titre");
  • //on selectionne une zone
  • Excel.SelectRange("A1");
  • //on y applique des effets
  • Excel.SetFont("ARIAL",true,false,20);
  • Excel.SetColor(RGB(255,0,0),RGB(0,255,0));
  • //changement du nom de la feuille
  • Excel.SetWoksheetName("test");
  • //pour eviter le message de confirmation a la sortie
  • //Excel.SetSave(true);
  • //sauvegarde du nouveau fichier modifié
  • Excel.SaveAs("C:\\output.xls");
  • //et on quitte
  • Excel.Quit();
	MyExcel Excel;

	//lance une nouvelle instance de excel
	Excel.NewExcel();
	//le rend visible
	Excel.SetVisible(true);

	//ouvre un nouveau carnet
	//Excel.AddWorkbook();

	//charge un fichier existant
	Excel.Open(TruePath("\\test.xls"));

	//selectionne la premiere feuille
	Excel.GetWorksheet(1);

	//on rempli certaines cases
	Excel.SetData("A2:B3","ABCD");
	Excel.SetData("A1","Titre");

	//on selectionne une zone
	Excel.SelectRange("A1");
	//on y applique des effets
	Excel.SetFont("ARIAL",true,false,20);
	Excel.SetColor(RGB(255,0,0),RGB(0,255,0));

	//changement du nom de la feuille
	Excel.SetWoksheetName("test");

	//pour eviter le message de confirmation a la sortie
	//Excel.SetSave(true);

	//sauvegarde du nouveau fichier modifié
	Excel.SaveAs("C:\\output.xls");
	//et on quitte
	Excel.Quit();

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !
  •   control_Excel
    •   Debug
      • test.xlsTélécharger ce fichier [Réservé aux membres club]13 824 octets
    •   Release
      • test.xlsTélécharger ce fichier [Réservé aux membres club]13 824 octets
    •   source
    • Excel.vcprojTélécharger ce fichier [Réservé aux membres club]4 231 octets
    • test.xlsTélécharger ce fichier [Réservé aux membres club]13 824 octets

Télécharger le zip

Commentaires et avis

signaler à un administrateur
Commentaire de TOLLAI le 10/10/2007 17:03:22

Bonjour SnOOpss,
Je suis tres interressé par tes lignes de codes.
J'ai voulu télécharger ton zip et voilà le message de mon serveur :(

L'objet de votre requête contient un virus :
Le fichier cppfrance_AUTOMATION-EXCEL-ENTIEREMENT-WIN32-SOUS-FORME-CLASSE___Page.zip contient le virus Compressed_Huge_File: ce fichier a été détruit.

Pourrais-tu nettoyer tes fichiers et remettre un zip?

a+

signaler à un administrateur
Commentaire de SnOOpss le 10/10/2007 17:33:50

J'ai reverifié aucun virus, ce ne sont que des fichiers textes et un fichiers excel sans aucune macro, un virus je veut bien mais ou, donne moi le nom du fichier infecté ?
"Compressed_Huge_File" ce n'est pas un nom de virus, je veut bien compresser mon archive differement mais j'aimerais etre sur que le probleme viens de chez moi.

signaler à un administrateur
Commentaire de TOLLAI le 11/10/2007 08:40:24

Merçi pour ton délai réponse !

Je suis sur un serveur entreprise, et cela viens peut être de ses paramètres que je ne connais pas. Je vais faire autrement pour télécharger le zip.

signaler à un administrateur
Commentaire de andrebernard le 20/05/2008 12:42:33

Bonjour

J'ai le meme probleme dans mon entreprise

signaler à un administrateur
Commentaire de davypillet le 21/10/2008 15:46:41

Super source, très utile

signaler à un administrateur
Commentaire de kacihadji2008 le 21/11/2008 16:12:54

Bonjour

Un bon  et intéressant code.
Merci beaucoup, tu ma sauvé, deux jours pour trouver ce code.

Je te remercie infiniment.

signaler à un administrateur
Commentaire de tomcoy75 le 02/12/2008 11:26:39

Très pratique ! Merci

Cas d'un enregistrement d'un fichier excel déja existant

J'ai essayé l'exemple. Je souhaitais compléter un fichier excel  existant. Il est écrit que pour avoir à éviter de confirmer l'enregistrement d'un fichier, il faut mettre "excel.SetSave(true)". Cela fonctionne très bien si le fichier excel n'existe pas.
Si on enregistre un fichier déja existant, une boite de dialogue apparait pour demander de confirmer l'écrasement du fichier RESUME.XLW. Ce problème est connu en Vb.
J'ai rajouté la méthode suivante dans la classe :
bool MyExcel::SetDisplayAlerts(bool fDisplay)
{
VariantClear(&lgVariant);
lgVariant.vt = VT_I4;
lgVariant.lVal = fDisplay;
HRESULT hr = AutoWrap(DISPATCH_PROPERTYPUT, NULL, xlApp.pdispVal, L"DisplayAlerts", 1, lgVariant);

return true;
}
et dans le code principal "excel.SetDisplayAlerts(false)" à la place de  de excel.SetSave(true)".
J'ai maintement le bon résultat.

signaler à un administrateur
Commentaire de SnOOpss le 02/12/2008 20:09:37

Merci pour la modif, plusieurs fois j'avais eu le probleme et j'avais du bricoler pour passer outre.

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

Tableau de type feuille Excel [ par pde ] Comment créer en C++ un tableau de type feuille Excel, comportant des lignes et des colonnes, dans un contrôle ou une vue ? Tableau genre excel dans un prog avec Borland C++ 5.0 [ par vinvay ] Je cherche à faire un tableau de type excel (datagrid, msflexgrid, ...) dans un prog win32 avec Borland c++ 5.0 mais je ne sais pas si c'est possible THREAD MFC Automation [ par atlas28 ] Bonjour,j'utilise automation pour piloter excel, cela fonctionne tres bien.Pourquoi lorsque que j'utilise un thread qui va lancer ma fonction pour pil pb de sauvegarde de donnees dans un tableau sous excel [ par nazca ] Le Zero de la programmationNazcaBonjour!j'aimerais savoir comment on fait pour sauvegarder des donnees sous excel dans un tableau.et surtout comment d ecrire des données et tableau dans un fichier excel par interface c++ [ par nazca ] Le Zero de la programmationNazcaVotre texte ICIj aimerais savoir comment on fait pour ecrire et sauvegarder des données dans un tableau(tableau deja c Ecrire ds un tableau excel ss VC++ : utiliser ADO??????? [ par kalf2000 ] bonjour,voila je voudrais savoir comment insérer des caractère (ou autre) dans un tableau excel. j'ai deja regardé en peu sur le forum et j'ai cru com VC++ - Automation Excel [ par clothilde ] Bonsoir,désolée de reposter, mais je pense que premier post est un peu perdu dans la liste des posts et j'ai vraiment besoin de trouver la s Pb temps d'acces +trop long [ par Anormal13 ] Salut à tous v'la l'anormal et ses questions connes!! Bon voila je developpe actuellement une petite application(peu mporte le but) pour mon appli j'a encadrer une cellule d'un tableau excel [ par beaurepairejohann ] Bonjour,J'ai créé un programme qui automatise la création d'un tableau excel. Il ne me reste plus qu'a encadrer certaines cellules.J'ai trouvé la font Lecture d'un tableau excel [ par Icebibi ] Bonjour à tous. comme le titre l'indique je voudrais savoir si vous avez des pistes pour lire un tableau excel, ligne par ligne, en passant par chaque


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,499 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.