Procedura dettagliata: creazione di un report

LightSwitch non dispone di funzionalità di creazione di rapporti incorporate, ma è possibile creare e visualizzare i rapporti da un'applicazione di LightSwitch integrando Word.È possibile automatizzare la creazione di rapporti tramite Visual Studio e API per Word, ma l'estensione di LightSwitch di tipo pack di integrazione di Office semplifica l'attività.

Utilizzando il code pack di integrazione di Office, è possibile eseguire più facilmente automatizzare Word 2010, Excel 2010e Outlook 2010 in diversi modi.Ad esempio, è possibile importare ed esportare i dati, creare documenti e rapporti e lavoro tramite posta elettronica e gli appuntamenti.È possibile scaricare l'estensione di tipo pack di integrazione di Office gratis da CodePlex.

Prerequisiti

In questa procedura dettagliata richiede i seguenti componenti:

Creare il modello di rapporto

Innanzitutto, creare un documento di Word che funge da modello per il rapporto.

Per creare il modello di rapporto

  1. Aprire Word 2010.

    Un nuovo documento vuoto verrà visualizzato.

  2. All'inizio del documento, tipo Catalogo di prodotto di PrescriptionContoso.

  3. Evidenziare il testo e quindi, nel gruppo StiliPagina iniziale della barra multifunzione, scegliere il comando Posizione.

  4. Spostare il cursore sotto il titolo e quindi, nella scheda Inserisci, scegliere il comando Tabella quindi il comando Inserisci tabella.

    Verrà visualizzata la finestra di dialogo Inserisci tabella.

  5. Nella casella di testo Numero di colonne e, immettere 5, quindi nella casella di testo Numero di righe, immettere 2.

  6. Scegliere il pulsante di opzione Adatta alla pagina e quindi scegliere il pulsante OK.

  7. Nella prima riga della tabella, immettere le intestazioni di colonna: ID, Prodotto, Descrizione, Prezzoe Comprimere.

  8. Evidenziare la tabella e quindi, nel gruppo CollegamentiInserisci, scegliere il comando Segnalibro.

  9. Nella finestra di dialogo Segnalibro, assegnare al segnalibro Catalogaquindi scegliere il pulsante Aggiungi.

  10. Nel gruppo Imposta pagina la scheda Layout di pagina, scegliere il comando Orientamento quindi scegliere il comando Orizzontale.

  11. Nella scheda File, scegliere il comando Salva con nome.

  12. Nella finestra di dialogo Salva con nome, aprire la cartella My Master-Detail.xlsx, denominare il file Catalogo di prodottoe quindi scegliere il pulsante Salva.

  13. Nella scheda File, scegliere il comando Esci.

Aggiungere un rapporto all'applicazione

Dopo aver creato il modello di rapporto, abilitare l'estensione di tipo pack di integrazione di Office, aggiungere un pulsante nella barra degli strumenti dell'applicazione e aggiungere il codice per creare il report.È inoltre possibile modificare il tipo di documento.

[!NOTA]

Se non è già stata compilata l'applicazione di esempio di clinica della visione, è necessario innanzitutto installare e configurare il database di PrescriptionContoso, che viene scaricato come parte del pacchetto di esempio.Aprire il file di Install.htm quindi seguire le istruzioni per installare il database.

Per abilitare l'estensione

  1. Nella barra dei menu di Visual Studio, scegliere File, Apri, Progetto/Soluzione.

  2. Individuare il file Vision Clinic.sln quindi scegliere il pulsante Apri.

  3. In Esplora soluzioni, scegliere dal menu di scelta rapida del nodo Proprietà quindi scegliere Apri.

  4. Nel progettista di applicazioni, scegliere la scheda Estensioni quindi selezionare la casella di controllo Pacchetto di integrazione Office.

Per creare il rapporto

  1. In Esplora soluzioni, scegliere dal menu di scelta rapida del nodo dello schermo ProductList quindi scegliere Apri.

  2. Nel riquadro del contenuto della struttura ad albero, espandere il nodo Barra dei comandi schermata quindi scegliere Aggiungi, Nuovo pulsante.

  3. Nella finestra di dialogo Aggiungi pulsante, denominare il pulsante che si sta creando Catalogoquindi scegliere il pulsante OK.

  4. Aprire il menu di scelta rapida del pulsante Cataloga quindi scegliere Modifica codice Execute.

  5. In Editor del codice, fornire le seguenti importa o un'istruzione using all'inizio del file:

    Imports OfficeIntegration
    
    Using OfficeIntegration;
    
  6. Aggiungere al metodo Catalog_Execute il codice seguente:

    ' 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. Sulla barra dei menu, scegliere Debug, Avvia debug per eseguire l'applicazione.

  8. Scegliere dal menu Attivita, scegliere Elenco prodottie quindi scegliere il pulsante Cataloga per visualizzare il rapporto.

  9. (Facoltativo) aggiungere la seguente riga di codice alla fine del metodo di Catalog_Execute per salvare e visualizzare il rapporto in 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);
    

Passaggi successivi

Individuare le API dello spazio dei nomi di OfficeIntegration per individuare molte altre operazioni che è possibile eseguire mediante di tipo pack di integrazione di Office.

Vedere anche

Altre risorse

Generazione di rapporti e stampa in LightSwitch