Compartir a través de


Tutorial: Crear un informe

LightSwitch no tiene funciones integradas de informe, pero puede crear e imprimir informes de una aplicación de LightSwitch integrando palabra.Puede automatizar informes con Visual Studio y API para word, pero la extensión de LightSwitch para paquetes de integración de Office simplifica la tarea.

Mediante el Paquete de integración de Office, le resultará más fácil automatizar Word 2010, Excel 2010, y Outlook 2010 de diversas maneras.Por ejemplo, puede importar y exportar datos, crear documentos e informes, y trabajar con el correo electrónico y comillas.Puede descargar la extensión del Paquete de integración de Office de subproceso libre de CodePlex.

Requisitos previos

Este tutorial requiere los siguientes componentes:

Cree la plantilla de informe

Primero, se crea un documento de Word que actúa como plantilla para el informe.

Para crear la plantilla de informe

  1. Abra Word 2010.

    Un nuevo documento en blanco aparece.

  2. En la parte superior del documento, Catálogo de productos de PrescriptionContoso escrito.

  3. Resalte el texto y, a continuación, en el grupo Estilos desde la ficha INICIO en la cinta de opciones, elija el comando Título.

  4. Mueva el cursor debajo del título y, a continuación, en la ficha Insertar, elija el comando TABLE, y después elija el comando Insertar tabla.

    Se abrirá el cuadro de diálogo Insertar tabla.

  5. En el cuadro de texto Número de columnas, entre en 5 y, a continuación, en el cuadro de texto Número de filas, escriba en 2.

  6. Elija el botón de opción Autoajustar a la ventana y, a continuación elija el botón Aceptar.

  7. En la primera fila de la tabla, escriba los encabezados de columna siguientes: Id. de producto, Product, Descripción, Precio, y Empaquetado.

  8. Resalte la tabla y, a continuación, en el grupo vínculos desde la ficha Insertar, elija el comando marcador.

  9. En el cuadro de diálogo marcador, llame al marcador Catálogo, y elija el botón Add.

  10. En el grupo configurar página ficha Diseño de página, elija el comando Orientación, y elija el comando Horizontal.

  11. En la pestaña Archivo, elija el comando guardar como.

  12. En el cuadro de diálogo guardar como, abra la carpeta Mis documentos, llama al archivo Catálogo de productos, y después elija el botón Guardar.

  13. En la pestaña Archivo, elija el comando Salir.

Agregue un informe a la aplicación

Después de crear la plantilla de informe, se permite la extensión del Paquete de integración de Office, agregue un botón en la barra de herramientas de la aplicación, y agregue código para crear el informe.También puede cambiar el tipo de documento.

[!NOTA]

Si no ha compilado previamente la aplicación de ejemplo de la sesión de Vision, primero deberá instalar y configurar la base de datos de PrescriptionContoso, que se descarga como parte del paquete de ejemplo.Abra el archivo de Install.htm, y después siga las instrucciones para instalar la base de datos.

Para habilitar la extensión

  1. En la barra de menús de Visual Studio, elija Archivo, Abrir, Proyecto o solución.

  2. Busque el archivo Vision Clinic.sln, y elija el botón Abrir.

  3. En Explorador de soluciones, abra el menú contextual para el nodo propiedades y, a continuación Abrir.

  4. En el diseñador de aplicaciones, elija la ficha Extensiones, y seleccione la casilla Paquete de integración de Office.

Para crear el informe

  1. En Explorador de soluciones, abra el menú contextual para el nodo de la presentación ProductList y, a continuación Abrir.

  2. En el panel de contenido del árbol, expanda el nodo Barra de comandos de pantalla y, a continuación Add, Botón Nuevo.

  3. En el cuadro de diálogo Botón Agregar, llame al botón que está creando Catálogo, y elija el botón Aceptar.

  4. Abrir el menú contextual para el botón Catálogo y, a continuación Editar código de ejecución.

  5. En el Editor de código, escriba la siguiente instrucción imports o using en la parte superior del archivo:

    Imports OfficeIntegration
    
    Using OfficeIntegration;
    
  6. Agregue el código siguiente al método Catalog_Execute:

    ' Function to format a field as Currency.
    Dim formatPrice = Function(x As Decimal) As String
                          Return Format(x, "c2")
                      End Function
    
    ' Map the Word column names to the entity column names.
    Dim mapContent As New List(Of ColumnMapping)
    mapContent.Add(New ColumnMapping("ProductID", "ProductID"))
    mapContent.Add(New ColumnMapping("ProductName", "ProductName"))
    mapContent.Add(New ColumnMapping("Description", "Description"))
    ' Format the price as Currency using the Function created above.
    mapContent.Add(New ColumnMapping("CurrentPrice", "CurrentPrice", FormatDelegate:=formatPrice))
    mapContent.Add(New ColumnMapping("ProductImage", "ProductImage"))
    
    ' Define the document object.
    Dim doc As Object = Word.GenerateDocument(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) & "\Product Catalog.docx", Me.Products.SelectedItem, mapContent)
    ' Export the document object to Word.
    Word.Export(doc, "Catalog", 2, False, Me.Products, mapContent)
    
    {
        // Function to format a field as Currency.
        dynamic formatPrice = (decimal x) => { return Strings.Format(x, "c2"); };
    
        // Map the Word column names to the entity column names.
        List<ColumnMapping> mapContent = new List<ColumnMapping>();
        mapContent.Add(new ColumnMapping("ProductID", "ProductID"));
        mapContent.Add(new ColumnMapping("ProductName", "ProductName"));
        mapContent.Add(new ColumnMapping("Description", "Description"));
        // Format the price as Currency using the Function created above.
        mapContent.Add(new ColumnMapping("CurrentPrice", "CurrentPrice", FormatDelegate: formatPrice));
        mapContent.Add(new ColumnMapping("ProductImage", "ProductImage"));
    
        // Define the document object.
        object doc = Word.GenerateDocument(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + "\\Product Catalog.docx", this.Products.SelectedItem, mapContent);
        // Export the document object to Word.
        Word.Export(doc, "Catalog", 2, false, this.Products, mapContent);
    }
    
  7. En la barra de menú, elija debug, iniciar depuración para ejecutar la aplicación.

  8. En el menú Tareas, elija Lista de productos, y elija el botón Catálogo para ver el informe.

  9. (Opcional) agregue la siguiente línea de código al final del método de Catalog_Execute para guardar y ver el informe en un formato .pdf:

    Word.SaveAsPDF(doc, Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) & "\Product Catalog.pdf", True)
    
    Word.SaveAsPDF(doc, Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + "\\Product Catalog.pdf", true);
    

Pasos siguientes

Explorar las API del espacio de nombres OfficeIntegration para detectar muchas más cosas que puede hacer con el Paquete de integración de Office.

Vea también

Otros recursos

Informes e impresión en LightSwitch