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:
 Java |  copy code |? 
01
02
public class Leitor {
03
	List<File> listaArquivos = new LinkedList<File>();//lista de arquivos.
04
	String linhaPesquisa;//linha que será pesquisada.
05
 
06
	public void leArquivos(){
07
		for(File arquivo:listaArquivos){//iteração da lista de arquivos
08
			leArquivoExcel(arquivo);//para cada arquivo chama leArquivoExcel()
09
		}
10
	}
11
 
12
	public void leArquivoExcel(File arquivo){
13
		try {
14
			Workbook wb = Workbook.getWorkbook(arquivo);//cria um workbook a partir de um arquivo.
15
			Sheet sheet = wb.getSheet(0);//dentro do workbook, pega a primeira planilha (0) do arquivo
16
			for(int i = 0;i<sheet.getRows();i++){//itera a partir das linhas da planilha
17
				for(Cell celula:sheet.getRow(i)){//em cada linha, itera em todas as células
18
					if(celula.getContents().contains(linhaPesquisa)){//se a célula tiver o texto, 
19
						System.out.println("Achou "+linhaPesquisa+" em "+arquivo.getCanonicalPath()+", linha "+(i+1));//imprime o resultado.
20
					}
21
				}			
22
			}
23
		}catch (BiffException e) {
24
		}catch (IOException e) {}
25
	}
26
 
27
	public void addArquivo(String arquivoString){
28
		File file = new File(arquivoString);//a partir da string passada cria um arquivo
29
		listaArquivos.add(file);//adiciona o arquivo à lista.
30
	}
31
 
32
	public String getLinhaPesquisa() {
33
		return linhaPesquisa;//método get.
34
	}
35
 
36
	public void setLinhaPesquisa(String linhaPesquisa) {
37
		this.linhaPesquisa = linhaPesquisa;//método set.
38
	}
39
 
40
}
41

Em seguida a classe Main:
 Java |  copy code |? 
01
02
public class Main {
03
	public static void main(String[] args) {
04
		Leitor leitor = new Leitor();//instancia um novo Leitor
05
		leitor.addArquivo("C:/planTeste.xls");//adiciona arquivo à lista para pesquisa.
06
		leitor.setLinhaPesquisa("A");//seta texto a ser pesquisado.
07
		leitor.leArquivos();//chama método para ler os arquivos.
08
	}
09
}
10

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.

, ,

  1. Nenhum Comentário ainda.
(não será publicado)