begin process at 2010 02 09 20:36:32
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Delphi

 > 

Divers

 > 

Aide et documentation

 > 

Excel et SaveDialog


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Excel et SaveDialog

jeudi 26 avril 2007 à 11:12:49 | Excel et SaveDialog

revsys

Bonjour,

Je cherche à utiliser un SaveDialog pour permettre à l'utilisatuer de choisir un nom de fichier Excel puis de l'enregistrer où il le souhaite.
Je pensais tout d'abord utiliser la technique OLE qui peut créer un fichier Excel par défaut dans un endroit donné du disque, mais cela ne permet pas de demander le nom du fichier sous lequel l'utilisatuer souhaite l'enregistrer.

Voici le code por créer le fichier Excel avec OLE :

unit UExcel;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, OleServer, Excel97, ComObj, StdCtrls;

type
  Texcel = class
 
  procedure Creer(nom : string);
 
  private
    { Déclarations privées }
  public
    { Déclarations publiques }
  end;
 
var
  Excel : Texcel;
  OleApplication : variant;
  OleWorkbook : variant;

implementation

{$R *.dfm}

{********* Crée un fichier excel **********}

procedure Texcel.Creer(nom : string);

        begin
        OleApplication:=CreateOleObject('Excel.Application');
        OleApplication.Visible:=false;
        OleWorkbook:=OleApplication.workBooks.Add;
        OleApplication.ActiveWorkBook.Save;
        OleApplication.Quit;
        OleApplication:=Unassigned;
        end;

end.

Est-il possible d'utiliser un SaveDialog pour réaliser ce que je souhaite ?
Si oui quelqu'un aurait-il un exemple à me proposer ?

Merci d'avance.

jeudi 26 avril 2007 à 11:56:27 | Re : Excel et SaveDialog

moldov

Réponse acceptée !
Salut,

Voici ce que je te propose,

{********* Crée un fichier excel **********}

procedure Texcel.Creer(nom : string);

        begin
        OleApplication:=CreateOleObject('Excel.Application');
        OleApplication.Visible:=false;
        OleWorkbook:=OleApplication.workBooks.Add;

        if SaveDialog1.Execute then

           if SaveDialog1.Filename <> '' then

            OleApplication.ActiveWorkBook.SaveAs(SaveDialog1.Filename);

  //      OleApplication.ActiveWorkBook.Save;
        OleApplication.Quit;
        OleApplication:=Unassigned;
        end;

end.

Pour info j'ai pas pu tester ce code, car je suis pas sur une machine avec Delphi donc merci de me tenir au courant.
Bonne Prog


jeudi 26 avril 2007 à 12:19:45 | Re : Excel et SaveDialog

revsys

Merci beaucoup !! Ca marche!!

jeudi 26 avril 2007 à 21:55:38 | Re : Excel et SaveDialog

jelume

Bsr

A titre d'info, voilà un exemple qui utilise seulement Excel

var
 Wbk: _Workbook;
 Wks: _Worksheet;
 OleTrue, OleFalse, C: OleVariant;
begin
  With CoExcelApplication.Create do
  begin

    DisplayAlerts[GetUserDefaultLCID] := True;

    Wbk := Workbooks.Add(EmptyParam, GetUserDefaultLCID);

    Wks := Wbk.Worksheets.Add(EmptyParam, EmptyParam, EmptyParam, EmptyParam, GetUserDefaultLCID) as  _WorkSheet;

    C := 'B5';
    Wks.Range[C, C].Value := 'Toto';

    OleTrue  := True;
    OleFalse := False;
    Wbk.Close(OleTrue, EmptyParam, OleFalse, GetUserDefaultLCID);

  end;


lundi 10 novembre 2008 à 15:27:35 | SaveDialog

touJava

Bonjour
Je veux faire le même travail que revsys. Par contre moi je voudrais que lorsque la boite de dialogue TSaveDialog s'ouvre un nom de fichier s'affiche par défaut dans cette boitte. Si quelqu'un à une aidé Merci.

lundi 10 novembre 2008 à 15:58:19 | Re : Excel et SaveDialog

moldov

Salut,
Alors pour forcer un nom de fichier, il faut définir le filtre.

Pour cela une fois que tu as placé ton composant, dans le panneau des propriétés tu as la propriété Filter. Edite la et je te propose un exemple :

- Si tu veux ne faire apparaitre que les fichiers qui se nomment toto.xls alors renseigne "Fichier Toto.xls" dans le champs "Nom du filtre" et "toto.xls" dans "Filtrer"
- Si tu veux ne faire apparaitre que les fichiers qui ont xls comme extension alors renseigne "Fichier Excel" dans le champs "Nom du filtre" et " *.xls " dans "Filtrer"
- Si tu veux ne faire apparaitre tous les fichiers alors renseigne "Tous les fichiers" dans le champs "Nom du filtre" et " *.* " dans "Filtrer"

En espérant avoir été assez clair.
Bonne Prog






Cette discussion est classée dans : fichier, excel, utiliser, savedialog, oleapplication


Répondre à ce message

Sujets en rapport avec ce message

utiliser excel depuis delphi [ par manudel ] Depuis delphi, j'appelles Excel, et je veux pouvoir fermer la feuille excel, sans une demande de confirmation d'enregistrement. Ouvrir un fichier Excel ET savoir qu'il est en lecture seul [ par vagabon ] Bonjour,J'utlise OLE pour faire des ouvertures de fichiers Excel mais je n'arrive pas à savoir si le fichier est en lecture seul.Est ce que vous aurie Comment lire un fichier Excel sous Delphi? [ par kwentinn ] Salut tt le monde!Je voudrais savoir comment on peut récupérer des données de fichier Excel dans Delphi. (Ensuite, j'enregistre sous fichier texte.. ç fichier mp3 [ par alb_ator ] Bonjour, je souhaiterai utiliser des fichier mp3 qui s'execute à chaque fois que je démarre une partie d'un jeux je ne sais pas si utiliser un Mediapl aide pour utiliser fichier mp3(PLEASE!!!) [ par alb_ator ] Bonjour,je suis débutant en programmation delphi etje souhaiterai que des fichiers mp3 soit lancé dès que je lance une nouvelle partie d'un jeu,je sai SaveDialog : prob extension [ par Bruto ] Salut,j'ai un prob avec le composant SaveDialog car je lui spécifie l'extension du fichier à sauvegarder mais quand je mets simplement le nom sans l'e Fichier ini [ par ak47 ] Salut!Je voudrais savoir si il est possible d'utiliser les .ini avec delphi (par exemple, si je fait une application et que je veux qu'elle aie un fic Créer un fichier Excel sans OLE [ par vagabon ] Bonjour,Est-ce qu'il est possible (et si oui comment) ;-) créer un fichier excel venant un tableau SANS passer par OLE ? Merci d'avanceVag reporting [ par maksou ] Bonjour, je fais un soft de gestion de clients, devis, et commandes et je souhaite permettre à l'utilisateur de faire des analyses de chiffres, stat.. Boucle dans un fichier excel [ par CyberMax452 ] Voilà,J'ai mon fichier excel qui est ouvert. Je voudrais prendre chacune de lignes pour les insérer dans une datagrid.Comment faire?


Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,811 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales