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 !

Sujet : Excel et SaveDialog [ Divers / Aide et documentation ] (revsys)

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é 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

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