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):