Problemas na leitura de arquivo usando Java Excel

7 respostas
A

Olá

Fiz uma aplicação pra minha monografia e porem não usei interface nenhuma agora quero usar um swing nela, porem ela funciona perfeitamente desse jeito, sem interface swing:

// pega o arquiivo do Excel
      String filename = "c:/1995_completo_soja.xls";  
      File f= new File(filename);                     
      Workbook planilha = Workbook.getWorkbook(f);    
      // Mostra o nome do arquivo lido
      JOptionPane.showMessageDialog(null,"Arquivo Lido \n" +f);

dessa forma ele le esse arquivo do excel e consigo fazer todos os calculo q preciso com os dados na planilha, porem como to usando inferface, resolvi usar um JFileChooser pra tornar a aplicação mais dinamica, sem eu precisar de seta o endereço do novo arquivo a cada nova complicação:

JFileChooser chooser = new JFileChooser();
        chooser.setCurrentDirectory(new File("."));
        chooser.setFileFilter(new javax.swing.filechooser.FileFilter() {
            public boolean accept(File f) {
                return f.getName().toLowerCase().endsWith(".xls")
                || f.isDirectory();
            }
            public String getDescription() {
                return "XLS Documents";
            }
        });
        int r = chooser.showOpenDialog(new JFrame());
        if (r == JFileChooser.APPROVE_OPTION) {
            String name = chooser.getSelectedFile().getName();
            caminho.setText(""+chooser.getSelectedFile().getAbsolutePath());
            JOptionPane.showMessageDialog(null,"Arquivo Lido \n" +name);
            
        }

dessa forma esta funcionando, porem ele pega o endereço q preciso de uma forma incorreta:

c:/1995_completo_soja.xls – incorreto
c:\1995_completo_soja.xls – correto

depois q resolvermos esse problema vou postar outro q to tento esse metodo:

Workbook planilha = Workbook.getWorkbook(f); não esta funcionando com a interface.

Se puderem me ajudar ficarei grato.

Anderson Dorneles

7 Respostas

rodrigo_gomes

Olá,

Não entendi qual é o problema. Que erro está dando?
Esse endereço " c:/1995_completo_soja.xls – incorreto" não é incorreto para o windows. Ele é “bonzinho”, aceita das duas formas.

A

o erro é a barra preciso trocar ela, pq o metodo do java excel não aceita a barra do modo incorreto q passei.

ivo_costa

Aquele “f” é um objeto provavelmente vai vir uma coisa do tipo java.io.file@f8ww884 é isso mesmo que você deseja no joptionPane?

JOptionPane.showMessageDialog(null,"Arquivo Lido \n" + f);
A

Preciso q a função me retorne isso:

c:\1995_completo_soja.xls

ao invez disso:

c:/1995_completo_soja.xls

usando JFileChooser + getAbsolutePath(), porem esse endereço com essa barra não me serve pra eu ler o arquivo. Preciso ler isso:

String filename = "c:\1995_completo_soja.xls";  
  File f= new File(filename);                     
  Workbook planilha = Workbook.getWorkbook(f);

Usando isso : JFileChooser + getAbsolutePath(), porem ele me retorna um endereço invalido pra usar no codigo acima, acho q não sei ser mais claro q isso.

Desde já agradeço

A

desculpa inverti:

isso:
c:/1995_completo_soja.xls
ao inves disso:

c:\1995_completo_soja.xls

ivo_costa

É uma gambiarra mas você pode fazer:

filename.replaceFirst("/","\\");
A

Olá,

Não testei ainda, mais era isso mesmo q eu precisava, obrigado ivo costa.

T+

Criado 27 de dezembro de 2007
Ultima resposta 28 de dez. de 2007
Respostas 7
Participantes 3