Partilhar via


Instruções passo a passo: criando um relatório

LightSwitch não tem recursos internos de relatório, mas você pode criar impressão e relatórios de um aplicativo de LightSwitch integrando Word.Você pode automatizar o relatório usando o Visual Studio e APIs para Palavras, mas a extensão de LightSwitch do bloco de integração do Office simplifica a tarefa.

Usando o bloco de integração do Office, você pode facilmente automatizar Word 2010, Excel 2010, e Outlook 2010 em uma variedade de maneiras.Por exemplo, você pode exportar e importar dados, criar documentos e relatórios, e trabalho com o email e as nomeações.Você pode baixar a extensão do bloco de integração do Office para libera-se do CodePlex.

Pré-requisitos

Essa explicação passo a passo requer os seguintes componentes:

Crie o modelo de relatório

Primeiro, você cria um documento do Word que serve como um modelo para o relatório.

Para criar o modelo de relatório

  1. Abra Word 2010.

    Um novo documento em branco aparece.

  2. Na parte superior do documento, tipo Catálogo de produto de PrescriptionContoso.

  3. Realçar o texto e, em seguida, no grupo de Estilos do guia de Início em fita, escolha o comando de Título .

  4. Mover o cursor abaixo de título e, em seguida, na guia de Inserir , escolha o comando de Tabela , e então escolha o comando de Inserir Tabela .

    A caixa de diálogo Insert Table aparece.

  5. Na caixa de texto Número de colunas , entre em 5, e em seguida, na caixa de texto Número de linhas , digite em 2.

  6. Escolha o botão de opção Ajustar-se Automaticamente à Janela e clique no botão OK.

  7. Na primeira linha da tabela, insira os seguintes títulos de coluna: Identificação do produto, Produto, Descrição, Preço, e Empacotar.

  8. Realce a tabela, e em seguida, no grupo de Links do guia de Inserir , escolha o comando de Indicador .

  9. Na caixa de diálogo Indicador , nomeie o indexador Catálogo, escolha o botão de Adicionar .

  10. No grupo de Configurar página guia de Layout de Página , escolha o comando de Orientação , escolha o comando de Paisagem .

  11. Na guia de Arquivo , escolha o comando de Salvar como .

  12. Na caixa de diálogo Salvar como , abra a pasta de Meus Documentos , nomeie o arquivo Catálogo de produto, e então escolha o botão de Salvar .

  13. Na guia de Arquivo , escolha o comando de Sair .

Adicione um relatório o aplicativo

Depois de criar o modelo de relatório, você permite a extensão do bloco de integração do Office, adicione um botão à barra de ferramentas do aplicativo, e adicione o código para criar relatórios.Você também pode alterar o tipo de documento.

ObservaçãoObservação

Se você não tiver criado anteriormente o aplicativo de exemplo de clínica da visão, você primeiro precisará instalar e configurar o banco de dados de PrescriptionContoso, que é baixado como parte do pacote de exemplo.Abra o arquivo de Install.htm, e então siga as instruções para instalar o banco de dados.

Para ativar a extensão

  1. Na barra de menus de Visual Studio , escolha Arquivo, Abrir, Projeto/Solução.

  2. Localize o arquivo de Visão Clinic.sln , escolha o botão de Abrir .

  3. Em Gerenciador de Soluções, abra o menu de atalho para o nó de Propriedades , e então escolha Abrir.

  4. No designer de aplicativo, escolha o guia de Extensões , selecione a caixa de seleção Bloco de integração do Office .

Para criar relatórios

  1. Em Gerenciador de Soluções, abra o menu de atalho para o nó da tela de ProductList , escolha Abrir.

  2. No painel de conteúdo da árvore, expanda o nó de Barra de Comandos da Tela , escolha Adicionar, Novo Botão.

  3. Na caixa de diálogo Adicionar Botão , nomeie o botão que você está criando Catálogo, escolha o botão de OK .

  4. Abra o menu de atalho para o botão de Catálogo , e escolha A edição executa o código.

  5. Em Editor de Códigos, digite a seguinte instrução imports ou de usar na parte superior do arquivo:

    Imports OfficeIntegration
    
    Using OfficeIntegration;
    
  6. Adicione o seguinte código ao método de 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. Na barra de menus, escolha Depurar, Iniciar Depuração para executar o aplicativo.

  8. No menu de Tarefas , escolha Lista de Produtos, escolha o botão de Catálogo para exibir o relatório.

  9. (Opcional) adicione o seguinte código ao final do método de Catalog_Execute para salvar e exibir o relatório em um formato de .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);
    

Próximas etapas

Explore os APIs no namespace de OfficeIntegration para descobrir muito mais coisas que você pode fazer usando o bloco de integração do Office.

Consulte também

Outros recursos

Gerando relatórios e imprimindo no LightSwitch