Informes de tablas cruzadas y exportación a PDF

Los productos Stimulsoft proporciona un conjunto de herramientas muy potente para el diseño de informes para Microsoft Visual Studio.Net 2005 y 2008. Estas herramientas estan disponibles para windows forms y web forms. Proporcionan múltiples características de gran utilidad, como un diseñador fácil e intuitivode y soporte nativo para la exportación a pdf, Word, Excel y otros formatos varios. Crystal Reports y Microsoft Reports están bien para generar informes comunes, pero si lo que necesitas es crear informes con tablas cruzadas, ajax, códigos de barras y que se conecten a más de un origen de datos al mismo teimpo, entonces las herramientas de Stimulsoft son una muy buena solución. También permite la creación y modificación de informes por los propios usuarios finales. Todas estas características hacen de Stimulsoft Reports una buena elección para crear informes de Business Intelligence.

En este tutorial os voy a mostrar cómo crear un siple listado de tablas cruzadas, mostrarlo en una página web y permitir a los usuarios que exporten el informe a Word, Excel y pdf y todo ello sin escribir una sóla línea de código.

Los datos para este informe de ejemplo estan en AdventureWork sample database proporcionado por Microsoft.

La versión demo de los productos Stimulsoft pueden descargarse desde su página wev http://www.stimulsoft.com/Downloads.aspx .

Para crear un informe de tablas cruzadas y exportarlo a pdf, Word, Excel y otros formatos, vamos a seguir los diguientes pasos:

1.       Añadir un informe a una página web

2.       Añadir una nueva conexión al informe

3.       Añadir un Data Source al informe

4.       Añadir tablas cruzadas al informe

5.       Cargar un informe desde un fichero

6.       Exportar el informe a PDF

Añadir un informe a una página web

·         Arrastrar y soltar StiWebReport desde la caja de herramientas a tu página web

·         Hacer click en la flecha en la esquina superior derecha de StiWebReport1 para mostrar las tareas de StiWebReport

·         Hacer click en Design Report para abrir el diseñador de informes

Añadir una nueva conexión al informe

·         Buscar el diccionario en la parte derecha del diseñador de informes

·         Hacer click on the New Item Icon and select New Connection

·         Seleccionar Sql Connection y pulsar OK

·         Teclear la cadena de conexión para la base de datos AdventureWorks

·         Pulsar test para confirmar que la cadena de conexión es correcta

Añadir un Data Source al informe

·         Pulsar en el icono New Item del panel Dictionary y seleccionar New Data Source

·         Selecionar Data from Sql Connection y pulsar Ok

·         Teclear el nombre de la consulta, Sales, en el campo Name

·         Teclear la consulta SQL query en el campo Query Text

·         Pulsar Retrieve Columns para obtener las columnas requeridas

·         Pulsar Ok para ver el Datasource Sales en el panel Dictionary

·         Se ha utilizado la siguiente consulta en elinforme:

SELECT [SalesOrderID]

      ,[RevisionNumber]

      ,[OrderDate]

      ,[DueDate]

      ,[ShipDate]

      ,[Status]

      ,[OnlineOrderFlag]

      ,[SalesOrderNumber]

      ,[PurchaseOrderNumber]

      ,[AccountNumber]

      ,[CustomerID]

      ,[ContactID]

      ,[SalesPersonID]

      ,st.Name

      ,[BillToAddressID]

      ,[ShipToAddressID]

      ,[ShipMethodID]

      ,[CreditCardID]

      ,[CreditCardApprovalCode]

      ,[CurrencyRateID]

      ,[SubTotal]

      ,[TaxAmt]

      ,[Freight]

      ,[TotalDue]

      ,[Comment]

  FROM [AdventureWorks].[Sales].[SalesOrderHeader] soh

Inner join [AdventureWorks].[Sales].[SalesTerritory] st on soh.TerritoryID = st.TerritoryID

Añadir tablas cruzadas al informe

·         Pulsar en el icono Cross Bands en la parte derecha de la barra de herramientas y seleccionar Cross-Tab

·         Dibujar la tabla cruzada dentro del informe

·         Aparecerá la ventana del diseñador de tablas cruzadas

·         Seleccionar Sales en la lista desplegable Datasource

·         Añadir OrderDate en la lista Columns y cambiar las propiedades Display Value  y Value a {Format("{0:yyyy}", Sales.OrderDate)} para mostrar sólo el año en el orden

·         Añadir el Name a la lista Rows y TotalDue en el campo Summary

·         Pulsar OK para guardar los cambios

·         Pulsar F5 para visualizar el informe

·         El informe muestra las cantidades totales de ventas por territorio y año, también proporciona un total por cada fila y columna

·         Guardar el informe como Sales.mrt y cerrar el diseñador de informes

Cargar el informe desde un fichero

Pulsar en la flecha derecha del objeto StiWebReport1 en la página aspx y seleccionar Open report from file

Navegar hasta el directorio donde se ha guardado el informe como un fichero .mrt

Mostrar el informe en el visor de informes

Arrastrar y soltar un objeto StiwebViewer en la página donde está el objeto Stiwebreport1

Añadir el siguiente código al eveto Page_Load de la página:

protected void Page_Load(object sender, EventArgs e)

    {

        if (StiWebViewer1.IsImageRequest) return;

 

        if (!Page.IsPostBack)

        {

            Stimulsoft.Report.StiReport oRep = StiWebReport1.GetReport();

            StiWebViewer1.Report = oRep;

        }

    }

La primera línea es obligatoria como parte del framework de stireports

La segunda instrucción If se utiliza para cargar el informe sólo en la carga inicial de la página y las dos lineas siguientes asignan el informe a visualizar por el visor de informes

Pulsar F5 para visualizar el informe como un informe web

Exportar el informe a pdf

·         Pulsar el icono Savey seleccionar Abobe Pdf

·         Los usuarios pueden exportar el informe a  una gran variedad de formatos como se muestran en la imagen

·         No es necesario teclear código ni ninguna librería externa para la exportación