--
Você recebeu essa mensagem porque está inscrito no grupo "javasf: JavaServer Faces Group" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para javasf+un...@googlegroups.com.
Acesse esse grupo em http://groups.google.com/group/javasf.
Para ver essa discussão na Web, acesse https://groups.google.com/d/msgid/javasf/3a002e5a-04c0-4681-b6a8-f00b909bc6eb%40googlegroups.com.
Para mais opções, acesse https://groups.google.com/d/optout.
Para ver essa discussão na Web, acesse https://groups.google.com/d/msgid/javasf/CAJuoL2ir%2B8pCR7ZEz0VnH6pqLC6Mqf3VeNeEmQc61Fy5z2s33g%40mail.gmail.com.
Para ver essa discussão na Web, acesse https://groups.google.com/d/msgid/javasf/CAGThSzowsQCfM%2B5BjpMa5XoNQ71Cn-Ch6nwZWujdQOC9arkpPg%40mail.gmail.com.
Para mais opções, acesse https://groups.google.com/d/optout.
--
Você recebeu essa mensagem porque está inscrito no grupo "javasf: JavaServer Faces Group" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para javasf+un...@googlegroups.com.
Acesse esse grupo em http://groups.google.com/group/javasf.
Para ver essa discussão na Web, acesse https://groups.google.com/d/msgid/javasf/b61af0e4-1f16-4d2e-a235-6520cc8b9ec0%40googlegroups.com.
--
Você recebeu essa mensagem porque está inscrito no grupo "javasf: JavaServer Faces Group" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para javasf+un...@googlegroups.com.
Acesse esse grupo em http://groups.google.com/group/javasf.
Para ver essa discussão na Web, acesse https://groups.google.com/d/msgid/javasf/b61af0e4-1f16-4d2e-a235-6520cc8b9ec0%40googlegroups.com.
Para ver essa discussão na Web, acesse https://groups.google.com/d/msgid/javasf/CAGThSzokZXtuArw7K_VAm1Qhec_nHg-VsBC1ZF4kmh-Fep%3DDsw%40mail.gmail.com.
Para mais opções, acesse https://groups.google.com/d/optout.
Para ver essa discussão na Web, acesse https://groups.google.com/d/msgid/javasf/CAJswn6yjYnKX46Mqoed0ATSDYxyT8V%2B08b%3DFFP2SpH0D58M7%2Bw%40mail.gmail.com.
--
Você recebeu essa mensagem porque está inscrito no grupo "javasf: JavaServer Faces Group" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para javasf+un...@googlegroups.com.
Acesse esse grupo em http://groups.google.com/group/javasf.
Para ver essa discussão na Web, acesse https://groups.google.com/d/msgid/javasf/0cf5377e-2893-407b-8fc0-b0c9738ecf9b%40googlegroups.com.
Para mais opções, acesse https://groups.google.com/d/optout.
Uma sugestão Washington, se vc não vai exibir na tela, não seria mais prático vc instalar um driver odbc na máquina do seu cliente e fazer o Excel consultar direto o Banco de dados? Dependendo da situação pode ser mais vantajoso, por exemplo, tabela dinâmica através de odbc não tem o limite na quantidade de linhas de dados que a planilha tem, Tem melhor desempenho que ela funcionar sobre uma planilha e basta o seu cliente clicar com o direito nela e" atualizar dados" para fazer a consulta novamente... as vezes soluções em microinformatica são mais rápidas e versáteis...
Para ver essa discussão na Web, acesse https://groups.google.com/d/msgid/javasf/CAJswn6yrD-q-9KvVG84SUrVR2TFX3Dw-Lk8dXGaauXbauYEBuQ%40mail.gmail.com.
Obs, Não é que o ArrayList não aguenta.. é que vc vai subir tudo isso na memória.... se esses 200 mil registros ocuparem 20k na memória cada, vc precisaria 40MB só para subir os elementos da lista na memória, e mais uns MB para o ArrayList referenciar eles... se vc quiser seguir por esse caminho, vc aumenta o parâmetro de inicialização da sua jvm Xmx (dá uma procurada no Google, estou no celular) que vc vai conseguir subir todos os 200 mil registros na ArrayList, mas isso provavelmente vai ter um péssimo desempenho e quando seu cliente passar a ter 300 mil registros... vai consumir mais memória que somente os 50% a mais....
Vc está usando jdbc, para montar o xls esta usando o q? Apache poi.? É só iterar no resultset como vc já itera, mas ao invés de popular o ArrayList vc já grava isso no xls.
Obs, as bibliotecas que conheço de xls sobem o xls inteiro na memória bem como também grava o xls de uma vez só... então talvez ainda te de esse problema de Java heap space pois o xls ainda vai estar na memória... se for esse o caso, procura alguma lib para trabalhar com xls através de stream e se não encontrar, grava num xml e faz uma.macro num xls para ler o xml...
Eu tinha uma base no Oracle e o cliente pediu para ver uma tabela no excel, tinha cerca de 168 mil registros eu exportei para .CSV( se nao me engano, pois faz um tempo que fiz isso) e abri no libre office. Deu certo.
Para ver essa discussão na Web, acesse https://groups.google.com/d/msgid/javasf/CAGThSzrBpjC3RZB6oZVPk2et3QCt2kiw-Nyvy%2B6oytTzU%2B0e4g%40mail.gmail.com.
Para ver essa discussão na Web, acesse https://groups.google.com/d/msgid/javasf/CAMKTnYXiu3cwSbARNdaiCRnxFecvjctZUZ7wKPwr%3DsWJg7R%3DBA%40mail.gmail.com.
Para mais opções, acesse https://groups.google.com/d/optout.