Já passei por esse problema, achei inclusive soluções que do datagrid
gerava um arquivo html e abria no excel, mas dependendo do tamanho do datagrid
a exportação ficava lenta e ruidosa.
O que fiz para solucionar isto foi uma solução muito mais simples, porém
funcionou bem para mim. Na hora da consulta, no server side eu gero um arquivo
txt (xxx.csv), separado por ponto e virgula. Depois que a consulta é terminada,
passo via XML os dados e também o nome do arquivo. Se a pessoa clicar em
exportar fará o download deste arquivo.
Cuidado apenas para criar o arquivo texto com data, hora e segundos para
evitar que mais de um usuário manipulem o mesmo arquivo, e também agendar uma
atividade no servidor para apagar os arquivos toda a noite.
Não é a solução mais elegante, confesso, mas funciona bem.
Abraços!
Michel Fernandes
http://seucarroeletrico.wordpress.com
----- Original Message -----
From: charlie richardt
To: [email protected]
Sent: Thursday, March 19, 2009 9:47 AM
Subject: [flexdev] Datagrid para xls
Bom Dia a todos,
A aplicação que estou desenvolvendo é Flex + Java. Utilizo as IDEs Flex
Builder 3 e JDeveloper.
Estou precisando exportar os dados de um datagrid para o excel de forma
genérica (Independente do numero de linhas ou colunas, gerando uma cópia fiel
em um arquivo .xls).
A única solução viável que encontrei (e estou usando temporariamente) foi
transformar o datagrid em um htmlTable, passar para o Java e salvar isso como
um xls (o excel abre html normal), mas quando vou alterar, ou inserir uma "aba"
na planilha, gera uma pasta com vários arquivos html, já que o arquivo não é em
xls binário. Para virar xls mesmo, precisa "salvar como".
Também tentei usar o componente "as3xls", que gera um arquivo excel pelo
próprio flex(monto linhas e colunas, tudo isso "na mão"), e tranforma em um
byteArray, mas não sei como passar isso para Java, e nem como exportar um
conteúdo desse jeito para o usuário salvar.
Já pesquisei soluções na internet, mas não encontrei nenhuma melhor do que a
solução que estou usando (gerando um table e colocando extensão .xls).
Qualquer sugestão é bem-vinda, porque realmente esgotei as possibilidades
aqui.
Desde já muito obrigado!
Charlie Junior Richardt
Desenvolvedor Java e Flex
--~--~---------~--~----~------------~-------~--~----~
Você recebeu esta mensagem porque está inscrito na lista "flexdev"
Para enviar uma mensagem, envie um e-mail para [email protected]
Para sair da lista, envie um email em branco para
[email protected]
Mais opções estão disponíveis em http://groups.google.com/group/flexdev
-~----------~----~----~----~------~----~------~--~---