Dans nos applications de base de données couramment utilisées, il est difficile d'écrire des programmes de rapports et il n'est pas pratique pour les utilisateurs de modifier les programmes de rapports dans Delphi. Par exemple, les données générales doivent ajouter un en-tête et certaines données doivent être modifiées ou modifiées. plusieurs données doivent être modifiées. Combinez les données de chaque table dans un ensemble de données, puis imprimez-les. Ces opérations sont impuissantes pour le programme de rapport dans Delphi, et la plupart des ordinateurs sont équipés de suites bureautiques. capacités inhérentes à Excel ? Qu’en est-il des fonctions d’impression multiples ? La réponse est oui. Nous utilisons la fonction EXCEL pour traiter les fichiers DBASE, à condition que nos fichiers de base de données soient compatibles avec DBASE.
Dans le système de bureau de base de données dans Delphi, créez un nouveau fichier dbase IV de la table Table (seuls les fichiers dabse peuvent être utilisés, car EXCEL ne reconnaît pas les fichiers par d'autres moyens) fichier sample.dbf, qui peut créer un fichier d'index. Notez ici que dans la base de données, seuls les champs en anglais peuvent être saisis dans le bureau. En fait, nous utilisons uniquement la base de données. Desktop crée la structure du fichier, puis vous pouvez la modifier en chinois dans vfp. L'initialisation des données et l'ajout et la soustraction de champs peuvent être effectués dans vfp. Vous pouvez vous demander pourquoi ne pas créer directement le fichier de table de données dans vfp, car EXCEL. ne le reconnaît pas du tout. Les données lues à partir de la table de données dans vfp sont désordonnées.
Après avoir créé la table de données sample.dbf, créez un projet dans Delphi, puis sélectionnez le module de module de données dans fichier->nouveau. L'avantage du module de données établi est qu'il peut être commun à tous les formulaires et ajouter la source de données. données dans les composants de la table datamodule1, définissez les éléments associés, le nom de la base de données de la table de données doit être défini sur c : emp (le répertoire de votre fichier dbf), définissez tablename sur la table de données que vous avez conçue (sample.dbf), créez un nouveau bouton sur form1, la légende est modifiée et imprimée, et ajoutez le code suivant à son clic :
data.table1.close;//Ferme la table de données actuelle Si elle n'est pas fermée, les données peuvent être incomplètes.
si le fichier existe (extractfiledir (application.exename) + 'samplep.dbf') alors DeleteFile (extractfiledir (application.exename) + 'samplep.dbf');
// Déterminez si la table de données d'impression samplep.dbf existe et supprimez-la si elle existe.
copyfile(pchar(extractfiledir(application.exename)+'sample.dbf'),pchar(extractfiledir(application.exename)+'samplep.dbf'),true);
// Copiez sample.dbf dans la table de données d'impression samplep.dbf. samplep.dbf est spécial pour l'édition et l'impression. Si vous utilisez sample.dbf, EXCEL vous indiquera que sample.dbf est un fichier en lecture seule. , il va planter.
data.table1.open;//Ouvre la table de données actuelle pour la rendre active
shellexecute(0,'open','EXCEL.EXE',pchar(extractfiledir(application.exename)+'samplep.dbf'),pchar(extractfiledir(application.exename)),SW-SHOWMAXIMIZED);//Appelez Excel et fusionner Lisez le fichier samplep.dbf dans Excel et référencez ShellAPI dans le fichier d'en-tête.
De cette façon, vous pouvez utiliser la fonction de tableau et la fonction d'impression multiple d'EXCEL, et vous n'avez plus besoin de concevoir des programmes de rapports compliqués ; j'ai utilisé cette méthode dans le système de statistiques de factures que j'ai écrit pour mon unité, et les utilisateurs l'ont trouvé. c'est très pratique.