Você está na página 1de 2

Arquivos Excel no Genexus

Genexus possui recursos muito simples e interessantes que implementam um 'que' de aplicao integrada, e que podem ser utilizados em seus projetos sem maiores complicaes. Um desses recursos a gerao de arquivos XLS (MS-Excel), e que opera de forma similar ao de gerao de DOCs (MS-Word). Nesta pgina daremos o caminho das pedras para utilizar esse recurso, com a contribuio, do Eng. Claudio Shinji, autor original do trabalho. Antes de mais nada necessrio obter e instalar uma biblioteca chamada JAKARTA-POI, atravs do site http://sourceforge.net/projects/jbyjsharp/files/Jakarta%20POI/, e que originalmente consiste na API 'Java' para manipulao de arquivos no formato OLE2 Microsoft, mas que no projeto do sourceforge foi gentilmente traduzido para .NET e J#. Esse exemplo foi programado no Genexus 9.0, X e Ev RC, e .NET C# sem maiores complicaes, se seu ambiente no for esse, favor providenciar as bibliotecas adequadas. OLE2 Microsoft um formato OpenXML, que na prtica permite a leitura e escrita de arquivos MS Word, MS PowerPoint e MS Excel. A instalao deve ser feita dentro da pasta BIN que se encontra na pasta WEB do modelo criado no Genexus, entendendo-se 'instalao' apenas a cpia das DLLs para esse local. Para evitar maiores confuses tambm instale o Microsoft J#, que pode ser obtido emhttp://www.microsoft.com/downloads/details.aspx? familyid=F72C74B3-ED0E-4AF8-AE63-2F0E42501BE1&displaylang=enhttp://www.microsoft.com/downloads/details.aspx? familyid=F72C74B3-ED0E-4AF8-AE63-2F0E42501BE1&displaylang=en A planilha ser criada em um local abaixo do diretrio ROOT da aplicao, ou seja, em nosso caso, abaixo da pasta WEB. Voce pode inclusive criar uma pasta chamada EXCEL para guardar esses arquivos organizadamente. O acesso ao arquivo gerado deve ser feito pela web por meio de uma URL que aponte para esse arquivo nessa tal pasta EXCEL. Desta forma so necessrias duas informaes: local fisico de armazenamento (C:\Inetpub\wwwroot\AplicacaoGenexus\ Excel\planilha.xls) e a URL que aponta para o arquivo (http://www.algumlugar.com.br/%20aplicacaogenexus/excel/planilha.xls) Programao da Coisa Passada a fase dos ajustes no servidor, agora voce deve programar (enfim!), e no muita coisa necessria para se produzir a planilha. Declarao de variveis, apenas uma Planilha do tipo ExcelDocument, uma linha do tipo Numeric e uma Arquivo do tipo Character(30).

A programao simples, bastando seguir os passos apresentados a seguir. Event 'excel' &Planilha.UseAutomation = 0 &Arquivo = 'C:\inetpub\wwwroot\Aplicacao\excel\planilha.xls' &Planilha.Open(&Arquivo) if &Planilha.ErrCode <> 0 msg(&Planilha.ErrDescription) else &Planilha.Clear() &Planilha.Cells(1,1).Text = 'Id' &Planilha.Cells(1,1).Italic = 1 &Planilha.Cells(1,1).Bold = 1 &Planilha.Cells(1,2).Text = 'Nome' &Planilha.Cells(1,2).Italic = 1 &Planilha.Cells(1,2).Bold = 1 &linha = 2 For each line in Grid1 &Planilha.Cells(&linha,1).text = CidadeId.ToString() &Planilha.Cells(&linha,1).Color = 3 &Planilha.Cells(&linha,2).Text = CidadeNome.ToString() &Planilha.Cells(&linha,2).Color = 3 &linha = &linha + 1 endfor &Planilha.Save() TextBlock1.Caption = "planilha" endif EndEvent Em vermelho voce encontra um controle TextBlock (HTML format) que deve apontar para a URL onde foi gravada a planilha. Em azul o local fisico onde o arquivo da planilha deve ser criada.

O exemplo abre um GRID em um WebPanel apresentando uma tabela de Cidades, e em seguida atravs de um boto, o evento 'Excel' chamado e a planilha criada com os registros apresentados no GRID. Observe que o tratamento da planilha realizado por meio de suas clulas, e a programao apenas preenche essas clulas com informao.

E o resultado uma planilha que pode ser visualizada clicando-se no link 'planilha'.

Bom trabalho!