Apache POI manipulando XLS

0 respostas
carloshsamaral

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:

//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());
					}
				}
			}

@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;
					}
}
Criado 30 de setembro de 2015
Respostas 0
Participantes 1