Pessoal to com uma dúvida! Estou utilizando o Apache POI para ler um XLS e não estou conseguindo achar uma forma de pegar uma linha com 3 colunas e criar um objeto disso.
Vamos supor tenho um XLS de pessoas a primeira linha tem
Coluna1: Carlos
Coluna2: 22
Coluna3: Masculino
Queria poder criar um objeto pessoa disso.
Eu consigo ler a linha mas na hora de pensar como persistir os dados da coluna em um objeto eu me perco na lógica… Alguém poderia dar a luz ?
Meu código:
[code]//Loop para verificar as linhas
while(linhas.hasNext()){
HSSFRow linha = (HSSFRow) linhas.next();
Iterator celulas = linha.cellIterator();
System.out.println("A linha "+linha.getRowNum());
Sequencial seq = new Sequencial();
while(celulas.hasNext()){
HSSFCell celula = (HSSFCell) celulas.next();
//Aqui eu deveria iniciar o meu seq
//Meu seq é o objeto que eu quero tratar até agora só tenho 3 informações na tabela modelo
if(HSSFCell.CELL_TYPE_NUMERIC==celula.getCellType()){
System.out.println("Coluna é númerica e tem o valor "+celula.getNumericCellValue());
}else if(HSSFCell.CELL_TYPE_BOOLEAN==celula.getCellType()){
System.out.println("Coluna é booleana e tem o valor "+celula.getCellType());
}else if(HSSFCell.CELL_TYPE_STRING==celula.getCellType()){
System.out.println("Coluna é string e tem o valor "+celula.getStringCellValue());
}
}
}[/code]
@Edit:
Fiz essa gambiarra aqui. Eu vou ter que carregar a lista de chamados abertos do dia anterior e cada registro tem N colunas.
while(celulas.hasNext()){
HSSFCell celula = (HSSFCell) celulas.next();
int i=celula.getColumnIndex();
switch (i) {
case 0:
seq.setVal1(celula.getStringCellValue());
break;
case 1:
seq.setVal2(celula.getStringCellValue());
break;
case 2:
seq.setVal3(celula.getStringCellValue());
break;
default:
break;
}
}