In unseren häufig verwendeten Datenbankanwendungen ist es mühsam, Berichtsprogramme zu schreiben, und es ist für Benutzer unpraktisch, die Berichtsprogramme in Delphi zu ändern. Beispielsweise müssen allgemeine Daten einen Header hinzugefügt werden, und einige Daten müssen geändert werden Mehrere Daten müssen geändert werden, um die Daten aus jeder Tabelle zu einem Datensatz zusammenzufassen und dann auszudrucken. Diese Vorgänge sind für das Berichtsprogramm in Delphi machtlos, und die meisten Computer sind mit den Funktionen zur Tabellenverarbeitung ausgestattet Was ist mit den inhärenten Funktionen von Excel? Die Antwort ist ja. Wir nutzen die Funktion von EXCEL zur Verarbeitung von DBASE-Dateien, sofern unsere Datenbankdateien mit DBASE kompatibel sind.
Erstellen Sie im Datenbank-Desktopsystem in Delphi eine neue dbase IV der Tabellentabelle (es können nur Dabse-Dateien verwendet werden, da Excel Dateien auf andere Weise nicht erkennt), die eine Indexdatei erstellen kann Beachten Sie hier, dass in der Datenbank nur englische Felder eingegeben werden können. Tatsächlich verwenden wir nur die Datenbank Desktop erstellt eine Dateistruktur, die Sie dann in vfp auf Chinesisch ändern können. Die Initialisierung von Daten sowie die Addition und Subtraktion von Feldern können in vfp durchgeführt werden. Sie fragen sich möglicherweise, warum Sie die Datentabellendatei nicht direkt in vfp erstellen erkennt es überhaupt nicht. Die aus der Datentabelle in vfp ausgelesenen Daten sind chaotisch.
Erstellen Sie nach dem Erstellen der Datentabelle „sample.dbf“ ein Projekt in Delphi und wählen Sie dann das Datenmodulmodul unter „Datei“ > „Neu“ aus. Der Vorteil des etablierten Datenmoduls besteht darin, dass es allen Formularen gemeinsam sein kann Daten in den Komponenten der Tabelle datamodule1, verwandte Elemente festlegen, der Datenbankname der Datentabelle sollte auf c gesetzt werden: emp (das Verzeichnis Ihrer DBF-Datei), legen Sie den Tabellennamen auf die von Ihnen entworfene Datentabelle (sample.dbf) fest, erstellen Sie eine neue Schaltfläche auf form1, die Beschriftung lautet „Bearbeiten und Drucken“ und fügen Sie den folgenden Code zu seinem Onclick hinzu:
data.table1.close;//Schließen Sie die aktuelle Datentabelle. Wenn sie nicht geschlossen wird, sind die Daten möglicherweise unvollständig.
if fileexists(extractfiledir(application.exename)+'samplep.dbf') then DeleteFile(extractfiledir(application.exename)+'samplep.dbf');
//Bestimmen Sie, ob die Druckdatentabelle samplep.dbf vorhanden ist, und löschen Sie sie, falls vorhanden.
copyfile(pchar(extractfiledir(application.exename)+'sample.dbf'),pchar(extractfiledir(application.exename)+'samplep.dbf'),true);
//Beispiel.dbf in die Druckdatentabelle kopieren. Wenn Sie „sample.dbf“ verwenden, wird Ihnen angezeigt, dass es sich um eine schreibgeschützte Datei handelt , es wird abstürzen.
data.table1.open;//Öffnen Sie die aktuelle Datentabelle, um sie zu aktivieren
shellexecute(0,'open','EXCEL.EXE',pchar(extractfiledir(application.exename)+'samplep.dbf'),pchar(extractfiledir(application.exename)),SW-SHOWMAXIMIZED);//Excel aufrufen und merge Lesen Sie die Datei „samplep.dbf“ in Excel ein und verweisen Sie in der Header-Datei auf ShellAPI.
Auf diese Weise können Sie die Tabellenfunktion und die Mehrfachdruckfunktion von EXCEL nutzen und müssen keine komplizierten Berichtsprogramme mehr entwerfen. Ich habe diese Methode in dem Rechnungsstatistiksystem verwendet, das ich für meine Einheit geschrieben habe, und die Benutzer haben es gefunden Es ist sehr praktisch.