Excel + Apache POI

3 respostas
K

Boa Tarde Pessoal tudo bem?

estou tentando fazer um programinha para ler algumas colunas do excel com a API Apache POI;

o problema é o seguinte, eu so estou conseguindo pegar a Coluna [A] e seus respectivos Valores, as demais colunas
nao consigo pegar, alguem pode me dar uma ajuda? ai vai o codigo.

POIFSFileSystem fs = new POIFSFileSystem(new FileInputStream ("C:/planilha.xls"));
		HSSFWorkbook wb = new HSSFWorkbook(fs);
		HSSFSheet sheet = wb.getSheetAt(0);
                Iterator rows = sheet.rowIterator();
                int coluna = 0;

		while( rows.hasNext()){
			HSSFRow Hrow = (HSSFRow) rows.next();
			
			System.out.print((Hrow).getRowNum() + " - ");
			System.out.print(Hrow.getCell((short) coluna) + " ");
			System.out.println("");

bom ai está, ele pega somente a primeira coluna e os valores, se alguem puder me ajudar ou dar uma dica como eu consigo pegar esses valores eu Agradeco.

Abraços. :wink:

3 Respostas

CintiaDR

Sem nem abrir meu eclipse, posso te dizer que tá faltando um for

Para cada uma das linhas Para cada uma das colunas pega o resultado imprime o resultado

Vc só está pegando linha a linha, não está iterando “coluna”.
Veja se funciona.

K

desculpe nao copiei o for rs

for(int coluna = 0; coluna < 2; coluna++){
		
		while( rows.hasNext()){
			HSSFRow Hrow = (HSSFRow) rows.next();
			System.out.print((Hrow).getRowNum() + " - ");
			System.out.print(Hrow.getCell((short) coluna) + " ");
			System.out.println("");
CintiaDR

Acabei de ir no eclipse e fazer exatamente o que vc diz estar fazendo. Funciona.

Como estou num bom dia, vou colocar o resultado completo.

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Iterator;

import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;

public class POI {


	@SuppressWarnings("unchecked")
	public static void main(String[] args) {
		POIFSFileSystem fs;
		try {
			fs = new POIFSFileSystem(new FileInputStream("C:/planilha.xls"));

			HSSFWorkbook wb = new HSSFWorkbook(fs);
			HSSFSheet sheet = wb.getSheetAt(0);

			for (int coluna = 0; coluna <= 2; coluna++) {
				Iterator<HSSFRow> rows = sheet.rowIterator();

				while (rows.hasNext()) {
					HSSFRow Hrow = (HSSFRow) rows.next();

					System.out.print((Hrow).getRowNum() + " - ");
					System.out.print(Hrow.getCell((short) coluna) + " ");
					System.out.println("");
				}
			}
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

}
Criado 26 de maio de 2009
Ultima resposta 26 de mai. de 2009
Respostas 3
Participantes 2