1
resposta

Fiz a leitura de um excel e gostaria de separar os dados retornados em variáveis para utilizar depois

Oi pessoal! Sou iniciante em programação mas estou fazendo um projeto complexo pro meu nível! Estou fazendo os cursos de Java para entender melhor o que estou implementando no projeto. Mas agora estou com uma dúvida que não sei mais a quem recorrer, então resolvi postar aqui pra ver se alguém consegue me ajudar! Eu consegui ler uma planilha Excel e gostaria de usar os dados de cada coluna em outro lugar, então preciso desses dados em forma de variáveis. Esse é o meu código:

` public class ImportaExcel {

public static void main(String ar[]) {
    ImportaExcel rw = new ImportaExcel();
    rw.readDataFromExcel();
}
Object[][] data = null;

private XSSFWorkbook workbook;
public File getFile() throws FileAlreadyExistsException {
    File here = new File(
            "C:\\Users\\bruna.pereira\\eclipse-workspace\\teste\\src\\teste.xlsx");
    return new File(here.getAbsolutePath());
}
public Object[][] readDataFromExcel() {
    final DataFormatter df = new DataFormatter();

    try {
        FileInputStream file = new FileInputStream(getFile());
        workbook = new XSSFWorkbook(file);
        XSSFSheet sheet = workbook.getSheetAt(0);
        Iterator<Row> rowIterator = sheet.iterator();
        int rownum = 0;
        int colnum = 0;
        Row r = rowIterator.next();
        int rowcount = sheet.getLastRowNum();
        int colcount = r.getPhysicalNumberOfCells();
        data = new Object[rowcount][colcount];
        while (rowIterator.hasNext()) {
            Row row = rowIterator.next();
            if (row.getRowNum() == 0)
                continue;
            Iterator<Cell> cellIterator = row.cellIterator();
            colnum = 0;                
            while (cellIterator.hasNext()) {
                Cell cell = cellIterator.next();
                data[rownum][colnum] = df.formatCellValue(cell);
                System.out.print(df.formatCellValue(cell));
                colnum++;
                System.out.println("");
            }    
        }
        file.close();
    } catch (Exception e) {
        e.printStackTrace();
    }
    return data;
}

}

`

Eu debuguei o código e os dados da planilha estão retornando da seguinte forma (só um exemplo):

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

1 resposta

duvida duplicada ... fechando