Dalam aplikasi database yang biasa kita gunakan, menulis program laporan menyusahkan, dan tidak nyaman bagi pengguna untuk memodifikasi program laporan di Delphi. Misalnya, data umum perlu menambahkan header, dan beberapa data perlu diubah atau beberapa data perlu diubah. Gabungkan data dari setiap tabel menjadi kumpulan data dan kemudian cetak. Operasi ini tidak berdaya untuk program laporan di Delphi, dan sebagian besar komputer dilengkapi dengan office suites kemampuan bawaan Excel? Bagaimana dengan beberapa fungsi cetakan? Jawabannya adalah ya. Kami menggunakan fungsi EXCEL untuk memproses file DBASE, selama file database kami kompatibel dengan DBASE.
Dalam sistem desktop database di Delphi, buat dbase IV baru dari tabel Tabel (hanya file dabse yang dapat digunakan, karena EXCEL tidak mengenali file dengan cara lain) file sample.dbf, yang dapat membuat file indeks dicatat di sini bahwa dalam database Hanya kolom bahasa Inggris yang dapat dimasukkan di desktop. Faktanya, kami hanya menggunakan database Desktop membuat struktur file, dan kemudian Anda dapat memodifikasinya ke bahasa Mandarin di vfp. Inisialisasi data dan penambahan serta pengurangan bidang dapat diselesaikan di vfp. Anda mungkin bertanya mengapa tidak langsung membuat file tabel data di vfp, karena EXCEL tidak mengenalinya sama sekali. Data yang dibaca dari tabel data di vfp berantakan.
Setelah membuat tabel data sample.dbf, buat proyek di Delphi, lalu pilih modul modul data di file->baru. Keuntungan dari modul data yang dibuat adalah dapat umum untuk semua formulir data dalam komponen tabel datamodule1, atur item terkait, nama database tabel data harus diatur ke c: emp (direktori file dbf Anda), atur nama tabel ke tabel data yang Anda desain (sample.dbf), buat tombol baru di form1, caption edit dan cetak, dan tambahkan kode berikut ke onclick-nya:
data.table1.close;//Menutup tabel data saat ini. Jika tidak ditutup, data mungkin tidak lengkap.
jika file ada(ekstrakfiledir(nama aplikasi.exe)+'samplep.dbf') maka DeleteFile(ekstrakfiledir(nama aplikasi.exe)+'samplep.dbf');
//Tentukan apakah tabel data cetak samplep.dbf ada, dan hapus jika ada.
copyfile(pchar(extractfiledir(application.exename)+'sample.dbf'),pchar(extractfiledir(application.exename)+'samplep.dbf'),true);
//Salin sample.dbf ke dalam tabel data cetak samplep.dbf. samplep.dbf khusus untuk mengedit dan mencetak. Jika Anda menggunakan sample.dbf, EXCEL akan meminta agar sample.dbf adalah file read-only , itu akan macet.
data.table1.open;//Buka tabel data saat ini untuk mengaktifkannya
shellexecute(0,'open','EXCEL.EXE',pchar(extractfiledir(application.exename)+'samplep.dbf'),pchar(extractfiledir(application.exename)),SW-SHOWMAXIMIZED);//Panggil excel dan merge Baca file samplep.dbf ke dalam excel, dan referensikan ShellAPI di file header.
Dengan cara ini, Anda dapat menggunakan fungsi tabel dan fungsi multi-cetak EXCEL, dan Anda tidak perlu lagi merancang program laporan yang rumit; Saya menggunakan metode ini dalam sistem statistik faktur yang saya tulis untuk unit saya, dan pengguna menemukannya itu sangat nyaman.