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 !

ECRITURE DE TEXTE DANS EXCEL


Information sur la source

Catégorie :Divers Niveau : Débutant Date de création : 28/07/2004 Vu : 13 599

Note :
5 / 10 - par 1 personne
5,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (6)
Ajouter un commentaire et/ou une note

Description

ce code est un exemple de base pour l'utilisation d'Excel
il écrit hello dans une cellule
On met en forme le texte.
bon je sais il est très basique mais ça peut toujours servir.
 

Source

  • #include <stdio.h>
  • #import "C:\Program Files\Microsoft Office\Office\MSO9.DLL" no_namespace rename("DocumentProperties","DocumentPropertiesXL")
  • #import "C:\Program Files\Fichiers communs\Microsoft Shared\VBA\VBA6\VBE6EXT.OLB" no_namespace
  • #import "C:\Program Files\Microsoft Office\Office\EXCEL9.OLB" rename("ExitWindows", "ExitWindowsWD") rename("DialogBox", "ExcelDialogBox") rename("RGB", "ExcelRGB") no_dual_interfaces
  • using namespace std;
  • int main()
  • {
  • // Initialize COM
  • CoInitialize(NULL);
  • try
  • {
  • Excel::_ApplicationPtr excel;
  • // Initialize Excel and make sure it's initialized
  • HRESULT hr = excel.CreateInstance(L"Excel.Application");
  • if(FAILED(hr))
  • {
  • char msg[1024] = {0};
  • sprintf(msg, "E: There was an error initializing Excel: %d", hr);
  • printf(msg);
  • }
  • excel->PutVisible (true);//Put Excel visible
  • //ajoute un workbook
  • Excel::_WorkbookPtr workbook = excel->Workbooks->Add(static_cast<long>(Excel::xlWorksheet)); // Create the workbook
  • //prendre le nom de la feuille active
  • Excel::_WorksheetPtr worksheet = excel->ActiveSheet; // Get the active sheet
  • //nommer la feuille
  • worksheet->PutName ("Nom de la feuille");
  • //taille du texte
  • worksheet->Range["A1:D1"]->Font->Size = 20;
  • //nom de la police de charactère
  • worksheet->Range["A1:D1"]->Font->Name = "MS Sérif";
  • //gras
  • worksheet->Range["A1:D1"]->Font->Bold=true;
  • //italique
  • worksheet->Range["A1:D1"]->Font->Italic=true;
  • //souligné
  • worksheet->Range["A1:D1"]->Font->Underline=true;
  • //couleur de la police
  • worksheet->Range["A1:D1"]->Font->ColorIndex = 9L;
  • //couleur du fond
  • worksheet->Range["A1:D1"]->Interior->ColorIndex = 10L;
  • //bordure
  • worksheet->Range["A1:D1"]->Borders->LineStyle = 6;
  • //largeur de la colonne
  • worksheet->Range["A1"]->Columns->ColumnWidth = 32;
  • //hauteur de la ligne
  • worksheet->Range["A2"]->Rows->RowHeight = 20;
  • // This is how you put the values into the worksheet
  • worksheet->Range["A1"]->Value = "Hello"; // Set a value
  • worksheet->SaveAs("c:\\test.xls"); // Save it
  • workbook->Close(); // Close the workbook
  • excel->Quit(); // Quit excel
  • }
  • catch(_com_error &ce)
  • {
  • // Handle the error
  • }
  • CoUninitialize();
  • }

#include <stdio.h>
#import "C:\Program Files\Microsoft Office\Office\MSO9.DLL" no_namespace rename("DocumentProperties","DocumentPropertiesXL")
#import "C:\Program Files\Fichiers communs\Microsoft Shared\VBA\VBA6\VBE6EXT.OLB" no_namespace
#import "C:\Program Files\Microsoft Office\Office\EXCEL9.OLB"  rename("ExitWindows", "ExitWindowsWD") rename("DialogBox", "ExcelDialogBox") rename("RGB", "ExcelRGB") no_dual_interfaces


using namespace std;

int main()
{	

  // Initialize COM
  CoInitialize(NULL);
  try
  {


    Excel::_ApplicationPtr excel;
    // Initialize Excel and make sure it's initialized
    HRESULT hr = excel.CreateInstance(L"Excel.Application");
    if(FAILED(hr))
    {
      char msg[1024] = {0};
      sprintf(msg, "E: There was an error initializing Excel: %d", hr);
       printf(msg);
    }
	excel->PutVisible (true);//Put Excel visible

    //ajoute un workbook
    Excel::_WorkbookPtr workbook = excel->Workbooks->Add(static_cast<long>(Excel::xlWorksheet)); // Create the workbook
    
	//prendre le nom de la feuille active
	Excel::_WorksheetPtr worksheet = excel->ActiveSheet; // Get the active sheet
	
	//nommer la feuille
	worksheet->PutName ("Nom de la feuille");

	//taille du texte
	worksheet->Range["A1:D1"]->Font->Size = 20; 

	//nom de la police de charactère
	worksheet->Range["A1:D1"]->Font->Name = "MS Sérif";
	
	//gras
	worksheet->Range["A1:D1"]->Font->Bold=true;
	
	//italique
	worksheet->Range["A1:D1"]->Font->Italic=true;
	
	//souligné
	worksheet->Range["A1:D1"]->Font->Underline=true;
 
	//couleur de la police
	worksheet->Range["A1:D1"]->Font->ColorIndex = 9L;

	//couleur du fond
    worksheet->Range["A1:D1"]->Interior->ColorIndex = 10L;
	
	//bordure
	worksheet->Range["A1:D1"]->Borders->LineStyle = 6;
	
	//largeur de la colonne
	worksheet->Range["A1"]->Columns->ColumnWidth = 32;
	
	//hauteur de la ligne
	worksheet->Range["A2"]->Rows->RowHeight = 20;

	// This is how you put the values into the worksheet
    worksheet->Range["A1"]->Value = "Hello"; // Set a value

    worksheet->SaveAs("c:\\test.xls"); // Save it
    workbook->Close(); // Close the workbook
    excel->Quit(); // Quit excel
  }
  catch(_com_error &ce)
  {

    // Handle the error
	 
  }
  CoUninitialize();
}

Commentaires et avis

signaler à un administrateur
Commentaire de Funto66 le 28/07/2004 15:52:17

Intéressant, merci ça poura peut-être me servir plus tard, merci pour cette source :)

signaler à un administrateur
Commentaire de DeAtHCrAsH le 28/07/2004 23:00:56

!!!!! IMPORTANT !!!!!

Cette méthode a un incovénient majeur!
Le fait de ser servir de Excel via les "imports", il es résulte que le programme ne peut marcher que sur des machines ayant la meme version de Excel que celle qui a permis la réalisation du programme!

Pour y palier mieux vaut utiliser ADO!

Shell

signaler à un administrateur
Commentaire de Funto66 le 29/07/2004 02:24:46

Ah bon ok...ben dans ce cas la source me servira pas loool, dsl :(

signaler à un administrateur
Commentaire de dark_naruto25 le 25/09/2005 15:11:13

mais est ce que la source marche avec toutes les versions de Excel ? Parce que je compte me servir de ce code pour "imprimer" des listes depuis un prog, et donc le prog n'est pas forcément sur la même machine...

signaler à un administrateur
Commentaire de maboush le 15/11/2006 15:17:50

attention:
si vous n'utilisez pas le office 2000,ce code il va pas marcher.
il faudra dans ce cas changer les fichiers des imports.

pour trouver les noms des fichiers  correspondant à votre version de office voici un lien utile:
http://support.microsoft.com/kb/307473/PL/

signaler à un administrateur
Commentaire de rosco91 le 01/06/2007 14:10:07

Excuse moi j'ai été sur ce site mais je ne comprends pas comment on fait pour changer les fichiers des imports avec microsoft office 2003.

Merci d'avance..

Ajouter un commentaire



Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

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,140 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é.