Exportar tabela para Excel no Oracle ADF

Tweet about this on TwitterShare on Facebook5Share on LinkedIn2Share on Google+0

Se você tem usuários que gostam de relatórios, eu tenho uma boa notícia para você! Exportar tabela para Excel é muito simples quando se utiliza o Oracle ADF. Você só tem que utilizar a tag exportCollectionActionListener. Dessa maneira você possibilita que um componente de ação (<commandButton>, <commandLink>, etc.) exporte dados de um componente de coleção (<table>, <tree>, <treeTable>) em um formato externo de forma declarativa.

Baixe a aplicação de exemplo – ExportTableApp.zip – que exporta as linhas (todas ou selecionadas) da tabela em um relatório Excel. Essa aplicação também apresenta a tabela como uma página para impressão.

Vamos começar!
Crie uma Fusion Web Application (ADF) como na imagem.

export-table-to-excel-in-oracle-adf1

Abra o arquivo ViewEmployees.jspx.
Navegue até o painel Data Control, arraste o EmployeesView1 e solte dentro da página como ADF Read-only Table. Marque as opções Multiple Rows, Enable Sorting e Enable Filtering da janela Edit Table Columns, e clique em OK para criar a tabela.

export-table-to-excel-in-oracle-adf2

Selecione a tabela e defina a propriedade ID como “tEmployees”.

export-table-to-excel-in-oracle-adf3

Agora nós precisamos cercar a tabela com o Panel Collection, um componente que contém certos controles / recursos para trabalhar com componentes de coleção como <table>, <treeTable> e <tree>. Vá até o painel Structure, clique com o botão direito em af:table “tEmployees”, e selecione Surround With. Selecione Panel Collection e clique em OK.

export-table-to-excel-in-oracle-adf4

export-table-to-excel-in-oracle-adf5

Para criar menu com opções de exportação, vá até o painel Structure, clique com o botão direito no menus facet do af:panelCollection, e selecione Insert inside menus | Menu. Defina a propriedade Text como “File”.

export-table-to-excel-in-oracle-adf6

Clique com o botão direito no af:menu “File” e selecione Insert inside af:menu – File | Menu Item. Defina as propriedades Text como “Export to Excel (All Rows)”, “Export to Excel (Selected Rows)” e “Show as Printable Page”.

export-table-to-excel-in-oracle-adf7

Vá até Component Palette | Operations, arraste o Export Collection Action Listener e solte dentro do af:commandMenuItem “Export to Excel (All Rows)” do painel Structure.

export-table-to-excel-in-oracle-adf8

Na janela Export Collection Action Listener, clique no Edit da propriedade ExportedId, navegue através dos nós para achar af:table “tEmployees” e clique em OK. Defina a propriedade Type como excelHTML. Clique em OK.

export-table-to-excel-in-oracle-adf9

export-table-to-excel-in-oracle-adf10

export-table-to-excel-in-oracle-adf11

Defina as propriedades do af:exportCollectionActionListener.

export-table-to-excel-in-oracle-adf12

Repita os passos anteriores para o af:commandMenuItem “Export to Excel (Selected Rows)”, e defina as propriedades do af:exportCollectionActionListener.

export-table-to-excel-in-oracle-adf13

Arraste o Show Printable Page Behavior e solte dentro de af:commandMenuItem “Show as Printable Page” do painel Structure.

export-table-to-excel-in-oracle-adf14

O painel Structure deve ser semelhante a imagem.

export-table-to-excel-in-oracle-adf15

Agora, é hora de testar a aplicação!
Clique com o botão direito na página ViewEmployees.jspx e selecione Run.

Para exportar todas as linhas, vá até o menu e selecione Export to Excel (All Rows).

export-table-to-excel-in-oracle-adf16

export-table-to-excel-in-oracle-adf17

Para exportar as linhas selecionadas, selecione algumas linhas, vá até o menu e selecione Expot to Excel (Selected Rows).

export-table-to-excel-in-oracle-adf18

export-table-to-excel-in-oracle-adf19

Para apresentar a tabela como uma página para impressão, vá até o menu e selecione Show as Printable Page. Desse modo, você pode salvar a tabela como imagem ou PDF.

export-table-to-excel-in-oracle-adf20

export-table-to-excel-in-oracle-adf21

Tweet about this on TwitterShare on Facebook5Share on LinkedIn2Share on Google+0

Autor: Waslley Souza

Consultor Oracle com foco em tecnologias Oracle Fusion Middleware e SOA. Certificado Oracle WebCenter Portal, Oracle ADF e Java.

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *