Exemplo Saída de dados para Excel

Fala galera! Eu Bruno Rafael estou aqui novamente para mais um post à pedidos de nossos seguidores.
Deixa eu ver qual nosso pedido desta vez .........Verificando........

Noooooossa!!!! Essa foi pesada!

Nosso amigo SilasJunior pediu exemplo de uma aplicação que receba dados e envie os mesmos para nosso amigo Microsoft Excel. A galera aqui tah começando a pegar pesado, mas vamos lá pedidos são pedidos!

Primeiramente vocês devem ter em mãos esta biblioteca java:
-jExcel API link: Clique aqui para baixar! 

Com a biblioteca em mãos agora vamos ao projeto:

Abra a sua IDE e crie uma nova aplicação chamada testeExcel. Após isso crie uma classe com o nome que achar melhor. No meu caso chamei de testeInsere:

Esta parte creio que você já conhece. Aqui temos uma classe de acesso público chamada testeInsere, e com um método público de condição estática chamado main. Em outras palavras, o método inicial para poder executar a aplicação!
Após isso, adicione a seguinte linha no seu método principal:


 Perceba que:

no método principal, foi inserido mais um parâmetro chamado throws, o qual se refere a uma requisição de entrada e saída que vem logo após com a chamada do IOException, BifException. Estas 2 chamadas referem-se ao controlador de excessões de entrada e saída do java. Ou seja, se ocorrer aogo errado no momento do envio, este controladoe irá mapear o erro que aconteceu, sendo assim, mais fácil de resolve-lo.

A próxima linha WritableWorkbook workbook = Workbook.createWorkbook(new File("E:\\Users\\Bruno\\Desktop\\planilha1.xls")); Refere-se a métodos e classes da API que vocês baixaram o JEXCEL.
Provavelmente o código de vocês está com erros. Isso ocorre por não ter sido importado para dentro do projeto a biblioteca baixada. Vamos agora importa-la.

Vá na aba de seu projeto e clique com o botão direito nele:

Ao fazer isto vá até a ultima opção Propriedades e clique nela. Irá aparecer a seguinte tela:














































Nesta Interface clique na opção Bibliotecas, e logo após no outro lado clique no botão Adcionar jar/pasta e procure a biblioteca que você baixou. Após isso clique em Ok.

Pronto! provavelmente seus erros devem ter desaparecido.

Agora vamos à explicação da linha WritableWorkbook workbook = Workbook.createWorkbook(new File("E:\\Users\\Bruno\\Desktop\\planilha1.xls"));

Aqui você esta mandando criar  e escrever um novo documento WritableWorkbook que chamei de workbook = Workbook.createWorkbook(new File(""));barra
Dentro dos parênteses de File, você deverá definir onde quer que seja criado o documento. Com isso você seta o coaminho desejado e no final o nome do documento e a extenção do excel que é .xls.

Obs: em java, quando defini-se um caminho deve-se obrigatoriamente utilizar as barras invertidas de 2 em duas: E\\......... Ou a barra normal : E/.

Com isso, caminhos definidos, insira o seguinte código:

 Vamos às explicações:
       WritableSheet sheet = workbook.createSheet("pagina teste", 0);

        Aqui, defini-se um objeto para leitura que foi chamado de sheet e cria-se um novo objeto que terá como título página teste.

        int linha = Integer.parseInt(JOptionPane.showInputDialog("digite aqui a linha"));
        int coluna = Integer.parseInt(JOptionPane.showInputDialog("digite a coluna"));

Como todos ja devem conhecer, aqui estou criando 2 OptionPanes.Um para o usuário digitar a linha que será setado o dado no excel e, no outro a coluna que será setado. Perceba que, como são valores inteiros, para usa-los no OptionPane você precisa converte-los para inteiro. Conversão feita no trecho: Integer.parseInt.

Feito isso, já temos o arquivo, temos também a coluna e linha definida para recebr os valores no excel, então agora nos falta Digitar o texto que será enviado para lá.

Insira mais estas linhas:









 String texto = JOptionPane.showInputDialog("Digite o texto que desejas");

Aqui, apenas criamos um OptionPane chamado texto para receber os dados que o usuário irá digitar
Label label = new Label(linha,coluna , texto);

Aqui definimos um Label que receberá nos parâmetros linha e coluna definidos anteriormente o texto digitado

Ufa! Agora falta chamar apenas os métodos que farão a leitura  escrita desses dados no excel. Adcione estas novas linhas:

 try {
O try catch serve para controles de excessão

            sheet.addCell(label);
Aqui, definimos que o nosso sheet vai adicionar nas céluas definidas anteriomente(linha coluna) o nosso Label (na linha tal e coluna tal o texto tal).

            workbook.write();
Aqui dizemos para ele escrever no excel
            workbook.close();
Aqui mandamos ele, após a escrita fechar o arquivo e salva-lo
            JOptionPane.showMessageDialog(null, "arquivo inserido");
E aqui uma confirmação se foi inserido ou não

        } catch (WriteException ex) {
            JOptionPane.showMessageDialog(null, "arquivo não inserido");
Se algo errado ocorreu mostrará esta mensagem de erro       
}

Obs: não esqueça de importar estas bibliotecas para que funcione tudo de forma correta:

import java.io.File;
import java.io.IOException;
import javax.swing.JOptionPane;
import jxl.*;
import jxl.read.biff.BiffException;
import jxl.write.*;

Agora vamos ver como ela ficou:





Verifique se o arquivo foi criado no diretório que você definiu



Após isso Abra o Arquivo que ele criou e veja se os dados estão lá dentro:

Voilá!!! aí esta ele!

Esse foi um exemplo de como inserir os arquivos no excel. Você pode deixar o sistema mais complexo com interface gráfica ao invés de caixas de diálogo, mas o processo permanecerá o mesmo!.

Ai esta galera mais uma aplicação pedida, prometida e feita!
Amigo silasJunior Espero que isso sirva para você e qualquer coisa só falar!

Se você gostou comente e ajude o blog! 
Abraço galera! até o próximo post

                                                                 Bruno Rafael Essa foi D+

Comentários

  1. Parabéns Bruno, era isso mesmo que eu estava precisando!! continue ai com esse blog porque nada melhor que compartilhar conhecimento! Tudo de bom pra ti!
    Abraçoo

    ResponderExcluir
  2. Que nada galera, estou aqui justamente com este objetivo. Fico feliz por ter atendido a mais um pedido. Grato!

    ResponderExcluir

Postar um comentário

Postagens mais visitadas deste blog

E Esse Tal de Nano Service?

Executar Audio em Java Swing

Validando Email em Java Com e Sem expressão Regular