Pesquisando em Arquivos Excel

Como já havia dito no post anterior, para este post precisaremos da JExcelApi. Para baixá-la clique aqui.
Aqui iremos tratar apenas do básico dessa biblioteca que oferece inúmeros recursos.

Este algoritmo é algo bem simples, que irá pesquisar um texto qualquer em um arquivo “.xls”.
Teremos duas classes, a classe Main e a classe Leitor.
Começaremos com Leitor:

public class Leitor {
List listaArquivos = new LinkedList();//lista de arquivos.
String linhaPesquisa;//linha que será pesquisada.

public void leArquivos(){
for(File arquivo:listaArquivos){//iteração da lista de arquivos
leArquivoExcel(arquivo);//para cada arquivo chama leArquivoExcel()
}
}

public void leArquivoExcel(File arquivo){
try {
Workbook wb = Workbook.getWorkbook(arquivo);//cria um workbook a partir de um arquivo.
Sheet sheet = wb.getSheet(0);//dentro do workbook, pega a primeira planilha (0) do arquivo
for(int i = 0;i for(Cell celula:sheet.getRow(i)){//em cada linha, itera em todas as células
if(celula.getContents().contains(linhaPesquisa)){//se a célula tiver o texto,
System.out.println("Achou "+linhaPesquisa+" em "+arquivo.getCanonicalPath()+", linha "+(i+1));//imprime o resultado.
}
}
}
}catch (BiffException e) {
}catch (IOException e) {}
}

public void addArquivo(String arquivoString){
File file = new File(arquivoString);//a partir da string passada cria um arquivo
listaArquivos.add(file);//adiciona o arquivo à lista.
}

public String getLinhaPesquisa() {
return linhaPesquisa;//método get.
}

public void setLinhaPesquisa(String linhaPesquisa) {
this.linhaPesquisa = linhaPesquisa;//método set.
}

}

Em seguida a classe Main:

public class Main {
public static void main(String[] args) {
Leitor leitor = new Leitor();//instancia um novo Leitor
leitor.addArquivo("C:/planTeste.xls");//adiciona arquivo à lista para pesquisa.
leitor.setLinhaPesquisa("A");//seta texto a ser pesquisado.
leitor.leArquivos();//chama método para ler os arquivos.
}
}

Para verem como essa API pode ser muito útil clique aqui e baixe um pequeno programa feito por mim em Java Swing usando a mesma.

This entry was posted in java, programação and tagged , , . Bookmark the permalink.

Deixar uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *

*

Pode usar estas etiquetas HTML e atributos: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>