Red de conocimiento informático - Material del sitio web - Cómo utilizar objetos OLEObject para operar archivos de informes complejos de Excel en PowerBuilder

Cómo utilizar objetos OLEObject para operar archivos de informes complejos de Excel en PowerBuilder

1. Introducción En muchos casos, cuando los desarrolladores de software diseñan sistemas de aplicaciones de bases de datos, inevitablemente requieren que el sistema genere automática y rápidamente una gran cantidad de informes relacionados. La tecnología comúnmente utilizada es utilizar el software AutoCad para realizar lotes. generar varias tablas en un archivo de gráficos CAD (es decir, un archivo .DWG) y luego enviarlo a través de una impresora. Su ventaja técnica es que puede generar una gran cantidad de informes en lotes, pero en la situación de generar una pequeña cantidad de informes, carece de flexibilidad y conveniencia, y los pasos operativos son relativamente engorrosos.

Por lo tanto , es necesario encontrar un método que sea más adecuado para la generación y salida de una pequeña cantidad de informes.

2. Ideas de implementación

El componente de generación de informes de Excel en Microsoft Office es una herramienta especial para procesar varios informes. Es muy flexible y cómodo de usar, y tiene cálculo de datos y resumen. y Diseño de formato de informe y otras funciones ricas, por lo tanto, si puede usar Excel como un objeto en un lenguaje de programación de alto nivel para llamar a sus funciones listas para usar y usar el código depurado en Excel para realizar cálculos, entonces no habrá La necesidad de que otros programadores escriban y el problemático proceso de depurar código complejo, por lo que Excel puede considerarse como un servidor de objetos y funciones como la generación de tablas, el cálculo y la impresión se pueden realizar llamando a sus métodos en la aplicación PowerBuilder. Entonces se puede lograr el propósito de operar archivos de informes Excel complejos en la herramienta de programación.

3. Genere informes de Excel en el lenguaje de programación PowerBuilder

PowerBuider es una herramienta de desarrollo rápido front-end para sistemas de aplicaciones de bases de datos proporcionada por Sybase/cxzxyl que puede usar su objeto de ventana de datos. Acceder a diversos datos en la base de datos de forma rápida y sencilla. Al mismo tiempo, la herramienta de desarrollo PowerBuilder también admite el acceso y las conexiones a una variedad de bases de datos. Por ejemplo, las bases de datos de nivel empresarial actualmente populares, como Oracle, Informan, Microsoft SQL Server, etc., pueden establecer conexiones para manejar diversos asuntos de gestión de informes. . A continuación se explica en detalle cómo implementar los pasos principales de la generación de informes de Excel en el entorno del lenguaje de desarrollo PowerBuilder.

(1) Declarar un objeto OLE, por ejemplo: OLEOBJECT OLE_Report_Excel;

(2) Crear un objeto OLE, por ejemplo: OLE_Report_Excel=Crear OLEOBJECT

(3) Utilice la función Conectar a NewOBJECT() en PowerBuilder para crear un nuevo objeto OLE y conectarse a este objeto, por ejemplo: OLE_Report_Excel Conectar a NewObject ('EXCEL.Application'). Si el valor de retorno de la llamada a la función es -0, significa que la conexión se realizó correctamente; de ​​lo contrario, significa que la llamada falló.

Después de los tres pasos anteriores, puede completar el trabajo de preparación antes de operar el informe. La siguiente es una breve introducción al proceso de implementación de la operación posterior.

4. Generar elementos de informe

Cuando PowerBuilder abre un archivo Excel, puede configurarlo en modo de apertura en segundo plano para su operación, es decir, configurando el valor lógico de su atributo Visible ( Verdadero o Falso) Para lograr esto, la declaración de ejemplo es la siguiente:

OLE_Report_Excel.Visible=False

OLE_Report_Excel.Application.Workbooks.Open (\"D:Report-Example. XLS\")

Luego, al acceder a los datos de la tabla,

las celdas de la lista deben operarse a través del objeto de propiedad ActiveCell del objeto Aplicación. Por ejemplo, al asignar un valor a una celda seleccionada, la operación se puede dividir en Pasos a implementar:

(1) Seleccionar celdas de datos: llame al método Select() del objeto Range. La función del objeto Range puede seleccionar. una o más unidades de datos de destino. Debe configurar el número de fila inicial, el número de columnas y el número final de filas y columnas. Si selecciona una celda, solo necesita configurar los parámetros iniciales. El código de muestra es el siguiente:

OLE_Report_Excel.Range(\"C1\").Select()

(2) Asigne un valor a la unidad de datos seleccionada: después de seleccionar, se puede completar la asignación del atributo Fórmula (del objeto ActiveCell R1C1). El código de muestra es el siguiente:

OLE_Report_Excel.ActiveCell.FormulaR1C1=sle_2.Text //Sle_2 es ​​un control de cuadro de texto estático, pague su valor a

(3) Llame a SUM Método () Para implementar la operación de suma de celdas de datos seleccionadas, es decir, primero llame al método SELECT () para especificar el rango de las celdas de suma, especifique la posición de la celda de resultado y asigne el resultado de la suma. de la siguiente manera: OLE_Report_Excel.Range(" A1: C1").SELECT()

OLE_Report_Excel.Range("E1").Activate()

OLE_Report_Excel.ActiveCell.FormulaR1C1=' =SUM(C[5]: C[2])'

(4) Para establecer otras propiedades de la celda, por ejemplo, si desea configurar la fuente de una determinada celda en negrita, seleccione primero y luego configúrelo. El código de muestra es el siguiente:

OLE_Report_Excel.Range("A1:E1").SELECT()

OLE_Report_Excel.Selection.Font.BOLD=. VERDADERO

(5) Al imprimir el informe, primero debe especificar Imprimir el contenido y luego llamar a PrintOut() del objeto Aplicación. Por ejemplo, al imprimir el contenido de la Hoja1 de la Hoja de trabajo, el código de muestra. es el siguiente:

OLE_Report_Excel.Worksheets(\"SHEET1\").Activate()

p>

OLE_Report_Excel.ActiveSheet.PrintOut()

En el Al final de (6), cierre el archivo de Excel, libere recursos de memoria y envíe un mensaje emergente al operador. Puede pasar el valor del atributo DisplayAlerts del objeto Aplicación. Realice la configuración adecuada y listo. En este momento, hay dos opciones para la configuración de parámetros. Cuando el valor es VERDADERO, significa que al cerrar Excel, le preguntará si desea guardar el cuadro de diálogo de selección; cuando el valor sea FALSO, no aparecerá ningún mensaje de diálogo; guardarse automáticamente.