Exporter DBGRID Delphi vers Excel

Fermé
Hichem_81 Messages postés 116 Date d'inscription mercredi 31 octobre 2007 Statut Membre Dernière intervention 3 juin 2021 - 6 mai 2011 à 12:12
 110110100010001 - 5 mars 2012 à 14:22
Bonjour,

je sais , on a du poser la question a mainte et mainte reprise , mais je n'y arrive pas.

je voudrais exporter le contenu de mon DBGRID Delphi vers Excel
j'ai essayer les code source donnée sur le net, mais je ne sais pas ou les mettre exactement et, quoi déclarer en plus comme procédure.

en plus je ne m'y connais pas en MACRO.

donc si vous pouviez m'aidai, sa serais vraiment sympa.

j'utilise un simple DATASOURCE.

merci d'avance.

A voir également:

1 réponse

110110100010001
7 mai 2011 à 08:15
Bonjour,

Pour ma part on utilise un composant TDatasetExport (Embarcadero ??) - l'export se fait en PDF/Excel, CSV en deux lignes de codes (liaison du composant sur le Dataset et exécution fonction Execute du composant) pour ouvrir automatiquement le bon document.

Je me renseignerai la semaine prochaine ur l'origine du composant qu'on utilise si ça t'intéresses.

Sinon, voici une liste d'API gratuites ou payantes :

http://www.torry.net/pages.php?id=555

A+.
1
Hichem_81 Messages postés 116 Date d'inscription mercredi 31 octobre 2007 Statut Membre Dernière intervention 3 juin 2021 28
7 mai 2011 à 23:56
Merci beaucoup ''code binaire'', si cela marche avec Embarcadero, je referais volontiers l'application, puisque pas très compliquer, en plus je possède Embarcadero.

oui ça m'intéresse si tu trouve du nouveau sur le sujet.

je vais voir immédiatement le lien que tu m'a donner, merci infiniment.
0
110110100010001
8 mai 2011 à 10:13
Re,

Le composant graphique de la palette que l'on utilise est le composant TReportD3 de chez ReportSmith (et non pas TDataSetExport comme annoncé dans mon Post précédent).

Ce composant est normalement fourni dés la version de Delphi 3 sur ta version de Borland (il a remplacé le composant TReport) : il faut peut être configurer ta palette pour le faire apparaitre (le faire passer de "hidden" en "active" sur la palette).

Si ça t'intéresse d'avoir seulement le package, je pense qu'il il peut être trouvé sur la page http://www.torry.net/pages.php?id=188 via l'entrée nommée TReportD3 v.1.1 (extraire, mettre les .dcu dans la Lib de ton dossier d'installation Borland et configurer Borland pour faire apparaitre le composant dans ta palette).

Je n'ai pas pour l'instant d'exemple très précis sous la main pour te montrer comment configurer et utiliser ce composant (même si ça tient en deux lignes pour générer un export XLS) et je n'ai rien trouvé d'encore très concluant sur le net : je te les posterai sans faute dés demain matin au boulot.

C'est un truc du genre (attention c'est surement pas la syntaxe) :

RS := TReportD3.Create;

RS.dataset := MonDataset.
RS.filetype := "XLS"

RS.Run();


On utilise nous même ce composant pour faire de l'export XLS "brut" (les données sont déchargées telles quelles sans mise en forme - seulement avec les noms de colonnes du DataSet) mais je crois d'après ce que j'ai pu lire que l'on peut générer des export ReporstSmith "avancés".

Par contre je n'ai pas compris ton approche avec les Macro XLS dont tu parles mais si ReportSmith peux faire des rapports avec une mise en forme compliquée alors c'est l'API ReportSmith qui s'occupera de générer "à la volée" les macros nécessaires pour effectuer ces mises en forme - il n'y a rien à faire de ton coté coté Excel...

J'espère que c'est bien ce que tu recherches - d'après ce que j'ai compris.

Salutations et à lundi.
0
Hichem_81 Messages postés 116 Date d'inscription mercredi 31 octobre 2007 Statut Membre Dernière intervention 3 juin 2021 28
8 mai 2011 à 21:59
je croix avoir lu que ReporteSmth était un ancien composent dans Delphi 3,4,et 5.
je fais tourné mon application sous delphi 7, mais si cela peut me faciliter l'exportation de mon DBGRID,et bien pourquoi pas, j'ajouterai volontiers le composent.

pour le MACRO, je croyez qu'on devais écrie des ligne au préalable pour faire fonctionner notre exportation! apparemment je me trompé...

a vrais je me suis un peut perdu dans de fausses pistes, genre: ajouter un composent ''JVCL'' chercher les lignes de code, essayer de faire fonctionner le tout... puis plus rien.

sinon le lien que tu m'a donner hier est en Anglais, et... je ne suis pas très fort en Anglais malheureusement .. je vais donc attendre sagement, les lignes de codes que tu m'enverras demain, STP essai de me dire avec quel composent est associer ces lignes de codes.

merci encore infiniment d'avoir autant détailler ta réponse.

a demain donc.
0
110110100010001
8 mai 2011 à 22:56
Re,

ReportSmith est toujours disponible sur Delphi 7 et il est fourni par défaut avec l'ensemble des autre composants.

>> On l'utilise pour faire des export XLS / CSV et PDF.

Je ne sais pas si c'est le meilleur mais en tout cas il est compris dans la licence de base.

pour le MACRO, je croyez qu'on devais écrie des ligne au préalable pour faire fonctionner notre exportation

C'est ReportSmith qui s'occupe de générer le fichier XLS et tout son contenu - y compris les macros nécessaires (par exemple pour générer un tableau Excel sophistiqué) : il n' y a donc rien à pré-paramétrer de ton coté au niveau Excel.

Donc en gros il faut déposer ton composant sur ton Form et le paramétrer en mode graphique (principalement association du DataSet et type de fichier en sortie).

Ensuite tu instancies ce composant dans ton code au niveau du FormCreate, t'assurer que ton DataSet est ouvert et tu n'a plus qu'à appeler la méthode Run() au moment où tu en a besoin (par exemple à l'activation d'un TButton) pour que ReportSmith ouvre automatiquement ton fichier XLS dans Excel déchargé avec toutes les données pointées par ton DataSet.

Et c'est tout - tu a juste à faire proprement un Free() de ton instance lors de la fermeture du formulaire FormClose.

a vrais je me suis un peut perdu dans de fausses pistes, genre: ajouter un composent ''JVCL'' chercher les lignes de code, essayer de faire fonctionner le tout... puis plus rien.


Je comprends - cela dit Le package JVCL doit surement contenir des exemples précis d'utilisation pour t'aider à utiliser tes composants - il faut bien regarder dans la package installé car des exemples .pas sont surement proposés - quel composant JVCL cherchais tu à mettre en oeuvre pour exporter tes données ?..

Note : ReportSmith n'est pas un composant JVCL.

Je t'enverrai demain matin des exemples détaillés de code - les sources ne mes sont accessibles que sur mon lieu de travail et je ne les connais pas par coeur - je n'utilise pas RS souvent.

Rappel : le composant est le TReportD3 - essaye de le retrouver sur ta palette Borland en attendant.

amicalement.
0
110110100010001
9 mai 2011 à 09:52
Re,

Il semble que je sois carrément embrouillé car le TReportD3 ne prend à proprement parler en charge la génération automatique de fichier XLS.

>> Il sert à lancer ses scripts RS.

Dans tous les cas on utilise nous même un composant "fait maison" qui parcours tous le DataSet pour écrire dans un fichier - c'est pas compliqué mais il faut l'écrire quand mémé.

Je vais me renseigner au niveau des API "gratuites" du lien que je t'ai donné plus haut.

Pour ma part tu auras une solution au plus vite dés demain - pas de problèmes.

Désolé et à plus.
0