En nuestras aplicaciones de bases de datos de uso común, es problemático escribir programas de informes y es inconveniente para los usuarios modificar los programas de informes en Delphi. Por ejemplo, es necesario agregar un encabezado a los datos generales y algunos de los datos deben modificarse o modificarse. Es necesario cambiar varios datos. Combine los datos de cada tabla en un conjunto de datos y luego imprímalos. Estas operaciones no tienen poder para el programa de informes en Delphi, y la mayoría de las computadoras están equipadas con suites de oficina. capacidades inherentes de Excel? ¿Qué pasa con las múltiples funciones de impresión? La respuesta es sí. Usamos la función de EXCEL para procesar archivos DBASE, siempre que nuestros archivos de base de datos sean compatibles con DBASE.
En el sistema de escritorio de la base de datos en Delphi, cree un nuevo archivo dbase IV de la tabla Table (solo se pueden usar archivos dabse, porque EXCEL no reconoce archivos de otras maneras) archivo sample.dbf, que puede crear un archivo de índice. Tenga en cuenta aquí que en la base de datos solo se pueden ingresar campos en inglés en el escritorio. De hecho, solo usamos la base de datos. Desktop crea la estructura del archivo y luego puede modificarla a chino en vfp. La inicialización de datos y la suma y resta de campos se pueden completar en vfp. Puede preguntar por qué no crear directamente el archivo de tabla de datos en vfp. no lo reconoce en absoluto. Los datos leídos de la tabla de datos en vfp están desordenados.
Después de crear la tabla de datos sample.dbf, cree un proyecto en Delphi y luego seleccione el módulo de datos en archivo->nuevo. La ventaja del módulo de datos establecido es que puede ser común a todos los formularios y agregar. datos en los componentes de la tabla datamodule1, establezca elementos relacionados, el nombre de la base de datos de la tabla de datos debe establecerse en c: emp (el directorio de su archivo dbf), configure el nombre de la tabla en la tabla de datos que diseñó (sample.dbf), cree un nuevo botón en form1, el título es editar e imprimir, y agregue el siguiente código a su clic:
data.table1.close;//Cerrar la tabla de datos actual. Si no se cierra, los datos pueden estar incompletos.
si el archivo existe (extractfiledir(application.exename)+'samplep.dbf') entonces DeleteFile(extractfiledir(application.exename)+'samplep.dbf');
//Determine si la tabla de datos de impresión samplep.dbf existe y elimínela si existe.
copyfile(pchar(extractfiledir(application.exename)+'sample.dbf'),pchar(extractfiledir(application.exename)+'samplep.dbf'),true);
// Copie sample.dbf en la tabla de datos de impresión samplep.dbf. samplep.dbf es especial para editar e imprimir. Si usa sample.dbf, EXCEL le indicará que sample.dbf es un archivo de solo lectura. , se estrellará.
data.table1.open;//Abre la tabla de datos actual para activarla
shellexecute(0,'open','EXCEL.EXE',pchar(extractfiledir(application.exename)+'samplep.dbf'),pchar(extractfiledir(application.exename)),SW-SHOWMAXIMIZED);//Llame a Excel y merge Lea el archivo samplep.dbf en Excel y haga referencia a ShellAPI en el archivo de encabezado.
De esta manera, puede utilizar la función de tabla y la función de impresión múltiple de EXCEL y ya no tendrá que diseñar programas de informes complicados. Utilicé este método en el sistema de estadísticas de facturas que escribí para mi unidad y los usuarios lo encontraron; Es muy conveniente.