В наших часто используемых приложениях баз данных сложно писать программы отчетов, и пользователям неудобно изменять программы отчетов в Delphi. Например, для общих данных необходимо добавить заголовок, а некоторые данные необходимо изменить или изменить. необходимо изменить несколько данных. Объедините данные из каждой таблицы в набор данных и затем распечатайте его. Эти операции бессильны для программы отчетов в Delphi, и большинство компьютеров оснащены офисными пакетами. Можем ли мы использовать возможности обработки таблиц и. встроенные возможности Excel. А как насчет возможности множественной печати? Ответ: да. Мы используем функцию EXCEL для обработки файлов DBASE, если наши файлы базы данных совместимы с DBASE.
В настольной системе базы данных в Delphi создайте новый файл dbase IV таблицы Table (можно использовать только файлы dabse, поскольку EXCEL не распознает файлы другими способами), файл sample.dbf, который может создать индексный файл. Он должен быть. здесь отмечено, что в базе данных на рабочем столе можно вводить только поля на английском языке. На самом деле мы используем только базу данных. Рабочий стол создает файловую структуру, а затем вы можете изменить ее на китайский язык в vfp. Инициализацию данных, а также сложение и вычитание полей можно выполнить в vfp. Вы можете спросить, почему бы не создать файл таблицы данных напрямую в vfp, потому что EXCEL. вообще не распознает его. Данные, считанные из таблицы данных в vfp, беспорядочны.
После создания таблицы данных sample.dbf создайте проект в Delphi, а затем выберите модуль данных в файле->новый. Преимущество установленного модуля данных в том, что он может быть общим для всех форм. Добавьте источник данных и. данные в компонентах таблицы datamodule1, установите связанные элементы, имя базы данных таблицы данных должно быть установлено на c: emp (каталог вашего файла dbf), задайте имя таблицы для созданной вами таблицы данных (sample.dbf), создайте новую кнопку в форме 1, заголовок отредактируйте и распечатайте, и добавьте следующий код в ее onclick:
data.table1.close;//Закрыть текущую таблицу данных. Если она не закрыта, данные могут быть неполными.
если fileexists(extractfiledir(application.exename)+'samplep.dbf'), то DeleteFile(extractfiledir(application.exename)+'samplep.dbf');
//Определить, существует ли таблица данных печати samplep.dbf, и удалить ее, если она существует.
copyfile(pchar(extractfiledir(application.exename)+'sample.dbf'),pchar(extractfiledir(application.exename)+'samplep.dbf'),true);
//Копируем файл sample.dbf в таблицу данных печати. samplep.dbf предназначен для редактирования и печати. Если вы используете sample.dbf, EXCEL сообщит, что файл sample.dbf доступен только для чтения. , он выйдет из строя.
data.table1.open;//Открываем текущую таблицу данных, чтобы сделать ее активной
Shellexecute(0,'open','EXCEL.EXE',pchar(extractfiledir(application.exename)+'samplep.dbf'),pchar(extractfiledir(application.exename)),SW-SHOWMAXIMIZED);//Вызов Excel и merge Прочитайте файл samplep.dbf в Excel и укажите ссылку на ShellAPI в файле заголовка.
Таким образом, вы можете использовать функцию таблицы и функцию мультипечати EXCEL, и вам больше не придется разрабатывать сложные программы отчетов. Я использовал этот метод в системе статистики счетов, которую я написал для своего подразделения, и пользователи нашли его; это очень удобно.