begin process at 2008 07 06 16:51:25
1 205 660 membres
227 nouveaux aujourd'hui
14 119 membres club

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 : 10 926

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();
}

  • 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

Pub



Appels d'offres

Plugin Dialer outlook
Budget : 2 000€
Travail graphique- ill...
Budget : 1 000€
creation de marque et ...
Budget : 1 000€

CalendriCode

Juillet 2008
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

VS Express FR Gratuit !

VS Express en français et 100% gratuit !

Boutique

Boutique de goodies CodeS-SourceS