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 !

DELPHI - CRÉATION D'UNE FEUILLE DE CALCUL EXCEL (CONTRÔLE TOLECONTAINER)


Information sur la source

Catégorie :Composants Classé sous : com, olecontainer, activex, excel, sheet Niveau : Débutant Date de création : 04/04/2006 Date de mise à jour : 16/12/2008 09:29:00 Vu / téléchargé: 15 878 / 1 446

Note :
7,5 / 10 - par 2 personnes
7,50 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

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

Description

Cliquez pour voir la capture en taille normale
Exemple de création d'une feuille de calcul Excel avec le contrôle TOleContainer de l'onglet Système.

Notez que pour le placement des barres d'outils et l'affichage de la barre de formule la propriété d'alignement doit être déclarée à "alClient".

Des variables objets Excel sont définies en nombre suffisant pour construire un tableau de données avec mise en forme et vous initier à une traduction simple du langage VBA en Delphi 7.
 

Source

  • unit Unit1;
  • interface
  • uses
  • Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  • Dialogs, OleCtnrs, ExtCtrls;
  • type
  • TForm1 = class(TForm)
  • OleContainer1: TOleContainer;
  • procedure FormCreate(Sender: TObject);
  • procedure FormClose(Sender: TObject; var Action: TCloseAction);
  • private
  • { Déclarations privées }
  • public
  • { Déclarations publiques }
  • end;
  • var
  • Form1: TForm1;
  • Options : array[3..5] of Shortint;
  • oExcel,oCommandBars:OleVariant;
  • implementation
  • {$R *.dfm}
  • procedure TForm1.FormCreate(Sender: TObject);
  • var
  • oActiveWindow, oActiveWorkBook, oSelection, oActiveSheet, oCells, oColumns :OleVariant;
  • i,j :Cardinal;
  • const
  • //Alignement
  • xlCenter=-4108;
  • //Bordures
  • //xlEdgeLeft=7;
  • //xlEdgeTop=8;
  • //xlEdgeBottom=9;
  • //xlEdgeRight=10;
  • //xlInsideVertical=11;
  • //xlInsideHorizontal=12;
  • //Largeur de ligne
  • xlContinuous=1;
  • //xlThin=2;
  • //xlMedium=-4138;
  • //Couleur
  • xlAutomatic=-4105;
  • begin
  • with OleContainer1 do begin
  • Align:=alClient;
  • CreateObject('Excel.Sheet', False);
  • Doverb(ovPrimary);
  • end;
  • //Variables objets
  • oExcel:=OleContainer1.OleObject.Application;
  • oCommandBars:=OleContainer1.oleobject.CommandBars;
  • oActiveWindow:=oExcel.ActiveWindow;
  • oActiveWorkBook:=oExcel.ActiveWorkBook;
  • oActiveSheet:=oExcel.ActiveSheet;
  • oColumns:=oExcel.Columns;
  • oCells:=oActiveSheet.Cells;
  • oSelection:=oExcel.Selection;
  • //Titre
  • Form1.Caption:=oActiveWorkBook.Name;
  • (* A. Options d'affichage *)
  • //Affiche au moins les barres d'outils " Standard " et " Mise en forme "
  • for i:=3 to 4 do begin
  • Options[i]:=oCommandBars.Item[i].Visible;
  • if Options[i]=0 then oCommandBars.Item[i].Visible:=-1;
  • end;
  • //Coche si nécessaire l'option d'affichage de la barre de formule
  • Options[5]:=oExcel.DisplayFormulaBar;
  • if (Options[5]=0) then oExcel.DisplayFormulaBar:=-1;
  • (* B. Tableau de données *)
  • //En-têtes de colonnes
  • for i:=2 to 8 do
  • oCells.Item[2,i].Value:= 'En-tête col. ' + IntToStr(i);
  • //Données
  • for i:=3 to 8 do
  • for j:=2 to 8 do
  • oCells.Item[i,j].Value:=' Cells(' + IntToStr(i) + ', ' + IntToStr(j) + ') ';
  • (* C. Mise en forme *)
  • //Sélection des en-têtes
  • oSelection:=oActiveSheet.Range[oCells.Item[2,2], oCells.Item[2,8]];
  • //Propriétés de la police des en-têtes
  • oSelection.Font.Bold:=1;
  • oSelection.Font.ColorIndex := 9;
  • //Couleur de fond de la sélection
  • oSelection.Interior.ColorIndex := 15;
  • //Centrer les en-têtes
  • oSelection.HorizontalAlignment:= xlCenter;
  • //Bordures
  • for i:=7 to 11 do
  • oSelection.Borders[i].LineStyle:=xlContinuous;
  • //Sélection
  • oActiveSheet.Rows[3].Select;
  • //Figer les volets
  • oActiveWindow.FreezePanes:=1;
  • //Ajustement automatique des colonnes
  • for i:=2 to 8 do
  • oColumns.Item[i].AutoFit;
  • //Largeur de la colonne 1
  • oColumns.Item[1].ColumnWidth:=1.71;
  • //Sélection finale
  • oCells.Item[3, 2].Select;
  • end;
  • procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
  • begin
  • if (OleContainer1.State=osUIActive) then begin
  • //Rétablie les options initiales d'affichage
  • oCommandBars.Item[3].Visible:=Options[3];
  • oCommandBars.Item[4].Visible:=Options[4];
  • oExcel.DisplayFormulaBar:=Options[5];
  • //Ferme l'instance
  • oExcel.Quit;
  • end;
  • //Ferme la fiche
  • Action:=caFree;
  • end;
  • end.
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, OleCtnrs, ExtCtrls;

type
  TForm1 = class(TForm)
    OleContainer1: TOleContainer;
    procedure FormCreate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);

  private
    { Déclarations privées }
  public
    { Déclarations publiques }
  end;

var
  Form1: TForm1;
  Options : array[3..5] of Shortint;
  oExcel,oCommandBars:OleVariant;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
var
  oActiveWindow, oActiveWorkBook, oSelection, oActiveSheet, oCells, oColumns :OleVariant;
  i,j :Cardinal;

const
  //Alignement
  xlCenter=-4108;
  //Bordures
  //xlEdgeLeft=7;
  //xlEdgeTop=8;
  //xlEdgeBottom=9;
  //xlEdgeRight=10;
  //xlInsideVertical=11;
  //xlInsideHorizontal=12;
  //Largeur de ligne
  xlContinuous=1;
  //xlThin=2;
  //xlMedium=-4138;
  //Couleur
  xlAutomatic=-4105;

begin
  with OleContainer1 do begin
    Align:=alClient;
    CreateObject('Excel.Sheet', False);
    Doverb(ovPrimary);
  end;

  //Variables objets
  oExcel:=OleContainer1.OleObject.Application;
  oCommandBars:=OleContainer1.oleobject.CommandBars;
  oActiveWindow:=oExcel.ActiveWindow;
  oActiveWorkBook:=oExcel.ActiveWorkBook;
  oActiveSheet:=oExcel.ActiveSheet;
  oColumns:=oExcel.Columns;
  oCells:=oActiveSheet.Cells;
  oSelection:=oExcel.Selection;

  //Titre
  Form1.Caption:=oActiveWorkBook.Name;

  (* A. Options d'affichage *)
  //Affiche au moins les barres d'outils " Standard " et " Mise en forme "
  for i:=3 to 4 do begin
    Options[i]:=oCommandBars.Item[i].Visible;
    if Options[i]=0 then oCommandBars.Item[i].Visible:=-1;
  end;
  //Coche si nécessaire l'option d'affichage de la barre de formule
  Options[5]:=oExcel.DisplayFormulaBar;
  if (Options[5]=0) then oExcel.DisplayFormulaBar:=-1;

  (* B. Tableau de données *)
  //En-têtes de colonnes
  for i:=2 to 8 do
    oCells.Item[2,i].Value:= 'En-tête col. ' + IntToStr(i);
  //Données
  for i:=3 to 8 do
    for j:=2 to 8 do
      oCells.Item[i,j].Value:=' Cells(' + IntToStr(i) + ', ' + IntToStr(j) + ') ';

  (* C. Mise en forme *)
  //Sélection des en-têtes
  oSelection:=oActiveSheet.Range[oCells.Item[2,2], oCells.Item[2,8]];
  //Propriétés de la police des en-têtes
  oSelection.Font.Bold:=1;
  oSelection.Font.ColorIndex := 9;
  //Couleur de fond de la sélection
  oSelection.Interior.ColorIndex := 15;
  //Centrer les en-têtes
  oSelection.HorizontalAlignment:= xlCenter;
  //Bordures
  for i:=7 to 11 do
    oSelection.Borders[i].LineStyle:=xlContinuous;
  //Sélection
  oActiveSheet.Rows[3].Select;
  //Figer les volets
  oActiveWindow.FreezePanes:=1;
  //Ajustement automatique des colonnes
  for i:=2 to 8 do
    oColumns.Item[i].AutoFit;
  //Largeur de la colonne 1
  oColumns.Item[1].ColumnWidth:=1.71;
  //Sélection finale
  oCells.Item[3, 2].Select;
end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  if (OleContainer1.State=osUIActive) then begin
    //Rétablie les options initiales d'affichage
    oCommandBars.Item[3].Visible:=Options[3];
    oCommandBars.Item[4].Visible:=Options[4];
    oExcel.DisplayFormulaBar:=Options[5];
    //Ferme l'instance
    oExcel.Quit;
  end;
  //Ferme la fiche
  Action:=caFree;
end;

end.

Conclusion

Aide Borland pour utiliser TOleContainer :

1 Placez un composant TOleContainer dans votre fiche.

2 Initialisez la propriété AllowActiveDoc à true si vous voulez pouvoir accueillir un document actif.

2 Initialisez la propriété AllowInPlace pour indiquer si l'objet accueilli doit apparaître dans le TOleContainer ou dans une fenêtre séparée.

4 Ecrivez des gestionnaires d'événements pour répondre quand l'objet est activé, désactivé, déplacé ou redimensionné.

5 Pour lier l'objet TOleContainer à la conception, cliquez avec le bouton droit de la souris et choisissez Insérer un objet. Dans la boîte de dialogue Insertion d'objet, choisissez l'objet serveur à accueillir.

6 Vous avez plusieurs moyens de lier l'objet TOleContainer à l'exécution, selon la manière dont vous voulez identifier l'objet serveur. La méthode CreateObject attend un identificateur de programme, CreateObjectFromFile attend le nom d'un fichier dans lequel l'objet a été enregistré, CreateObjectFromInfo attend un record contenant des informations sur la manière de créer l'objet ou CreateLinkToFile qui attend le nom d'un fichier dans lequel l'objet a été enregistré et effectue une liaison et non une incorporation.

7 Une fois l'objet lié, vous pouvez accéder à son interface en utilisant la propriété OleObjectInterface. Cependant, comme la communication avec les objets Ole2 était basée sur les verbes OLE, vous préférerez probablement envoyer des commandes au serveur en utilisant la méthode DoVerb.

8 Quand vous voulez libérer l'objet serveur, appelez la méthode DestroyObject

Un exemple d'application MDI est fourni par Borland à l'emplacement "\\Borland\Demos\ActiveX\OleCtnrs".

 

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 !
  •   OleContainer

Télécharger le zip

Historique

06 avril 2006 14:42:26 :
Ajout des options d'affichage
06 avril 2006 15:51:38 :
Index erronée sue l'événement "OnDestroy"
06 avril 2006 17:45:31 :
Ajout code source capture d'écran (affichage d'une feuille sans barre d'outils ni barre de formule)
06 avril 2006 18:00:58 :
Erreur de manip
07 avril 2006 15:29:49 :
Fermeture de l'instance Excel : condition sur le statut de l'objet OleContainer
07 avril 2006 15:55:41 :
Correction faute d'orthographe
10 avril 2006 10:39:26 :
Propriété d'alignement, capture d'écran
10 avril 2006 11:06:06 :
Capture d'écran
03 décembre 2008 17:04:54 :
Zip (sup. des fichiers inutiles)
03 décembre 2008 17:08:06 :
Err. manip
16 décembre 2008 09:29:01 :
Description (faute de frappe)

Commentaires et avis

signaler à un administrateur
Commentaire de amira1979 le 17/04/2006 09:14:47

comment à partir de delphi dont j'ai des lignes (ds un dbgrid) aprés l'enregistrement ds la base de données j'affiche ces lignes sur une feuille excel aidez mois svp
merci

signaler à un administrateur
Commentaire de asciidefond le 18/04/2006 02:19:49

Salut amira1979,

Le plus simple est de créer un fichier *.cvs

Ex.vu sur DelphiFr.com (je ne me souviens plus du pseudo de l'auteur dsl pour lui)


//Enregistrement d'une Table access dans un fichier CVS
procedure TForm1.SaveToCSV(const Name: TFileName; const Delim: string);
var
  f: Textfile;
  s: string;
  i: Integer;
begin
  AssignFile(f, Name);
  FileMode := fmOpenWrite;
  Rewrite(f);
  ADOQuery1.First;

  s := '';
  for i := 0 to ADOQuery1.FieldCount-1 do
  begin
    if s <> '' then
      s := s + Delim;
      s := s + ADOQuery1.Fields[i].FieldName;
  end;
  WriteLn(f, s);
  while not ADOQuery1.Eof do
  begin
    s := '';
    for i := 0 to ADOQuery1.FieldCount-1 do
    begin
      if s <> '' then
        s := s + Delim;
      s := s + StringReplace(ADOQuery1.Fields[i].AsString, sLineBreak, '|', [rfReplaceAll]);
    end;
    WriteLn(f, s);
    ADOQuery1.Next;
  end;
  CloseFile(f);
end;

@+

signaler à un administrateur
Commentaire de FENETRES le 18/04/2006 10:13:51

Ce passage par un fichier texte n'est pas nécessaire. Le conseil est péremptoire et inexact. Cette solution d'un CSV n'est pas la plus simple.
Il suffit de passer (méthode de classe), par exemple, l'objet DbGrid au composant Excel. Il existe de nombreux exemples en ligne.

signaler à un administrateur
Commentaire de amira1979 le 19/04/2006 08:30:58

bonjour
est ce ke vous pouvez m'aider un peu plus ou je peux trouvez les exemples.
merci

signaler à un administrateur
Commentaire de FENETRES le 19/04/2006 10:02:35


Si cela peut vous aider voici quelques exemples différents récupérés sur Internet. Désolé pour l'auteur, j'ai oublié de noter son nom.

{**************************************************************}
uses
  ComObj;

function RefToCell(ARow, ACol: Integer): string;
begin
  Result := Chr(Ord('A') + ACol - 1) + IntToStr(ARow);
end;

function SaveAsExcelFile(AGrid: TStringGrid; ASheetName, AFileName: string): Boolean;
const
  xlWBATWorksheet = -4167;
var
  Row, Col: Integer;
  GridPrevFile: string;
  XLApp, Sheet, Data: OLEVariant;
  i, j: Integer;
begin
  // Prepare Data
  Data := VarArrayCreate([1, AGrid.RowCount, 1, AGrid.ColCount], varVariant);
  for i := 0 to AGrid.ColCount - 1 do
    for j := 0 to AGrid.RowCount - 1 do
      Data[j + 1, i + 1] := AGrid.Cells[i, j];
  // Create Excel-OLE Object
  Result := False;
  XLApp := CreateOleObject('Excel.Application');
  try
    // Hide Excel
    XLApp.Visible := False;
    // Add new Workbook
    XLApp.Workbooks.Add(xlWBatWorkSheet);
    Sheet := XLApp.Workbooks[1].WorkSheets[1];
    Sheet.Name := ASheetName;
    // Fill up the sheet
    Sheet.Range[RefToCell(1, 1), RefToCell(AGrid.RowCount,
      AGrid.ColCount)].Value := Data;
    // Save Excel Worksheet
    try
      XLApp.Workbooks[1].SaveAs(AFileName);
      Result := True;
    except
      // Error ?
    end;
  finally
    // Quit Excel
    if not VarIsEmpty(XLApp) then
    begin
      XLApp.DisplayAlerts := False;
      XLApp.Quit;
      XLAPP := Unassigned;
      Sheet := Unassigned;
    end;
  end;
end;

// Example:

procedure TForm1.Button1Click(Sender: TObject);
begin
  if SaveAsExcelFile(stringGrid1, 'My Stringgrid Data', 'c:\MyExcelFile.xls') then
    ShowMessage('StringGrid saved!');
end;


{**************************************************************}
{2. Without OLE }

procedure XlsWriteCellLabel(XlsStream: TStream; const ACol, ARow: Word;
  const AValue: string);
var
  L: Word;
const
  {$J+}
  CXlsLabel: array[0..5] of Word = ($204, 0, 0, 0, 0, 0);
  {$J-}
begin
  L := Length(AValue);
  CXlsLabel[1] := 8 + L;
  CXlsLabel[2] := ARow;
  CXlsLabel[3] := ACol;
  CXlsLabel[5] := L;
  XlsStream.WriteBuffer(CXlsLabel, SizeOf(CXlsLabel));
  XlsStream.WriteBuffer(Pointer(AValue)^, L);
end;


function SaveAsExcelFile(AGrid: TStringGrid; AFileName: string): Boolean;
const
  {$J+} CXlsBof: array[0..5] of Word = ($809, 8, 00, $10, 0, 0); {$J-}
  CXlsEof: array[0..1] of Word = ($0A, 00);
var
  FStream: TFileStream;
  I, J: Integer;
begin
  Result := False;
  FStream := TFileStream.Create(PChar(AFileName), fmCreate or fmOpenWrite);
  try
    CXlsBof[4] := 0;
    FStream.WriteBuffer(CXlsBof, SizeOf(CXlsBof));
    for i := 0 to AGrid.ColCount - 1 do
      for j := 0 to AGrid.RowCount - 1 do
        XlsWriteCellLabel(FStream, I, J, AGrid.cells[i, j]);
    FStream.WriteBuffer(CXlsEof, SizeOf(CXlsEof));
    Result := True;
  finally
    FStream.Free;
  end;
end;

// Example:

procedure TForm1.Button2Click(Sender: TObject);
begin
  if SaveAsExcelFile(StringGrid1, 'c:\MyExcelFile.xls') then
    ShowMessage('StringGrid saved!');
end;

{**************************************************************}
{3. Code by Reinhard Schatzl }

uses
  ComObj;

// Hilfsfunktion für StringGridToExcelSheet
// Helper function for StringGridToExcelSheet
function RefToCell(RowID, ColID: Integer): string;
var
  ACount, APos: Integer;
begin
  ACount := ColID div 26;
  APos := ColID mod 26;
  if APos = 0 then
  begin
    ACount := ACount - 1;
    APos := 26;
  end;

  if ACount = 0 then
    Result := Chr(Ord('A') + ColID - 1) + IntToStr(RowID);

  if ACount = 1 then
    Result := 'A' + Chr(Ord('A') + APos - 1) + IntToStr(RowID);

  if ACount > 1 then
    Result := Chr(Ord('A') + ACount - 1) + Chr(Ord('A') + APos - 1) + IntToStr(RowID);
end;

// StringGrid Inhalt in Excel exportieren
// Export StringGrid contents to Excel
function StringGridToExcelSheet(Grid: TStringGrid; SheetName, FileName: string;
  ShowExcel: Boolean): Boolean;
const
  xlWBATWorksheet = -4167;
var
  SheetCount, SheetColCount, SheetRowCount, BookCount: Integer;
  XLApp, Sheet, Data: OLEVariant;
  I, J, N, M: Integer;
  SaveFileName: string;
begin
  //notwendige Sheetanzahl feststellen
  SheetCount := (Grid.ColCount div 256) + 1;
  if Grid.ColCount mod 256 = 0 then
    SheetCount := SheetCount - 1;
  //notwendige Bookanzahl feststellen
  BookCount := (Grid.RowCount div 65536) + 1;
  if Grid.RowCount mod 65536 = 0 then
    BookCount := BookCount - 1;

  //Create Excel-OLE Object
  Result := False;
  XLApp  := CreateOleObject('Excel.Application');
  try
    //Excelsheet anzeigen
    if ShowExcel = False then
      XLApp.Visible := False
    else
      XLApp.Visible := True;
    //Workbook hinzufügen
    for M := 1 to BookCount do
    begin
      XLApp.Workbooks.Add(xlWBATWorksheet);
      //Sheets anlegen
      for N := 1 to SheetCount - 1 do
      begin
        XLApp.Worksheets.Add;
      end;
    end;
    //Sheet ColAnzahl feststellen
    if Grid.ColCount <= 256 then
      SheetColCount := Grid.ColCount
    else
      SheetColCount := 256;
    //Sheet RowAnzahl feststellen
    if Grid.RowCount <= 65536 then
      SheetRowCount := Grid.RowCount
    else
      SheetRowCount := 65536;

    //Sheets befüllen
    for M := 1 to BookCount do
    begin
      for N := 1 to SheetCount do
      begin
        //Daten aus Grid holen
        Data := VarArrayCreate([1, Grid.RowCount, 1, SheetColCount], varVariant);
        for I := 0 to SheetColCount - 1 do
          for J := 0 to SheetRowCount - 1 do
            if ((I + 256 * (N - 1)) <= Grid.ColCount) and
              ((J + 65536 * (M - 1)) <= Grid.RowCount) then
              Data[J + 1, I + 1] := Grid.Cells[I + 256 * (N - 1), J + 65536 * (M - 1)];
        //-------------------------
        XLApp.Worksheets[N].Select;
        XLApp.Workbooks[M].Worksheets[N].Name := SheetName + IntToStr(N);
        //Zellen als String Formatieren
        XLApp.Workbooks[M].Worksheets[N].Range[RefToCell(1, 1),
          RefToCell(SheetRowCount, SheetColCount)].Select;
        XLApp.Selection.NumberFormat := '@';
        XLApp.Workbooks[M].Worksheets[N].Range['A1'].Select;
        //Daten dem Excelsheet übergeben
        Sheet := XLApp.Workbooks[M].WorkSheets[N];
        Sheet.Range[RefToCell(1, 1), RefToCell(SheetRowCount, SheetColCount)].Value :=
          Data;
      end;
    end;
    //Save Excel Worksheet
    try
      for M := 1 to BookCount do
      begin
        SaveFileName := Copy(FileName, 1,Pos('.', FileName) - 1) + IntToStr(M) +
          Copy(FileName, Pos('.', FileName),
          Length(FileName) - Pos('.', FileName) + 1);
        XLApp.Workbooks[M].SaveAs(SaveFileName);
      end;
      Result := True;
    except
      // Error ?
    end;
  finally
    //Excel Beenden
    if (not VarIsEmpty(XLApp)) and (ShowExcel = False) then
    begin
      XLApp.DisplayAlerts := False;
      XLApp.Quit;
      XLAPP := Unassigned;
      Sheet := Unassigned;
    end;
  end;
end;

//Example
procedure TForm1.Button1Click(Sender: TObject);
begin
  //StringGrid inhalt in Excel exportieren
  //Grid : stringGrid, SheetName : stringgrid Print, Pfad : c:\Test\ExcelFile.xls, Excelsheet anzeigen
  StringGridToExcelSheet(StringGrid, 'Stringgrid Print', 'c:\Test\ExcelFile.xls', True);
end;
{**************************************************************}

Bon courage

signaler à un administrateur
Commentaire de amira1979 le 19/04/2006 10:24:16

EST CE QUE C POSSIBLE D'AVOIR L'EXEMPLE REELEMENT
MERCI DE VOTRE AIDE

signaler à un administrateur
Commentaire de FENETRES le 20/04/2006 11:13:22

Pas avant lundi, je suis débordé.

signaler à un administrateur
Commentaire de FENETRES le 15/06/2006 15:39:59

La méthode SAveAsDocument de l'objet OleContainer permet d'enregistrer la feuille Excel (cf. instruction ci-dessous).

OleContainer1.SaveAsDocument('C:\MonFichier.xls');

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

OLECONTAINER avec EXCEL [ par yvessimon ] Bonjour,Avec OLeConainer l'incrustation de EXCEL dans la fiche se fait sans difficultée.Par contre le menu par défaut ne permet pas de sauvegarder dir Composant OleContainer pilotage avec delphi [ par yvessimon ] Bonjour,Avec le composant " OleContainer "&nbsp; il est possible d'utiliser diff&#233;rentes applications et en autre excel. La question est de savoir OleContainer [ par dugueclin ] Bonjour &#224; tous,J'ai delphi 7 &#233;dition perso, j'aimerai bien savoir si je peux utiliser le composant OleContainer pour piloter Excel.J'aime bi OLE2 et Excel [ par sylvunix ] Bonjour à tous,J'essaie de charger dans un TOleContainer un feuille Excel lue depuis un fichier, de modifier cette feuille, de la sauvegarder puis de Ecriture fichier Excel multi sheet sans OLE [ par Ptinico ] Salut,Qq'un a-t-il une idée comment on peut créer un fichier natif Excel avec plusieurs sheet depuis Delphi (bien sûr sans passer par OLE ou DDE, càd activeX+f1book(VCF) [ par mezaouri ] Bonsoir tt le monde;apres avoir cree un workbook excel avec des procedures de calcul tel que Hlookup et Vlookup et cree ensuite une application delphi importer une ActiveX sous D2005????? [ par jlen100 ] salut, question stupide s'il en est: comment importer une ActiveX&nbsp; sous D2005 sous D7 c'&#233;tait super simple il suffisait de faire composant i EXCEL [ par hassaine ] Bonjour, j'ai une table sous forme d'excel (IRG.XLS) je voudrais bien reprendre cette table en (IRG.DB "paradox") a fin d'éviter de reprendre toute la Bouger un JPG dans Excel [ par dominique.stock ] Bonjour,J'ai un souci avec Excel, j'incorpore des photos dans un fichier Excel.Je souhaiterais mettre plusieurs photos dans une même cellule.Mon souvi Excel et delphi [ par TouTSpeed ] Bonjourje sais définir le type de courbes sous excel grâce a ceci,XLApp.ActiveChart.ChartType:= xlColumnClustered;mais le souci et que cela affecte to


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

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