List of usage examples for org.apache.poi.xssf.usermodel XSSFSheet iterator
@Override
public Iterator<Row> iterator()
From source file:xqt.adapters.csv.test.ExcelTest.java
public void read() { try {// w ww . j a v a 2 s. c om FileInputStream file = new FileInputStream(new File("C:\\Users\\standard\\Downloads\\javaTest.xlsx")); //Create Workbook instance holding reference to .xlsx file XSSFWorkbook workbook = new XSSFWorkbook(file); //Get first/desired sheet from the workbook XSSFSheet sheet = workbook.getSheet("Sheet1"); //workbook.getSheet("test"); // Stream stream = StreamSupport.stream(sheet.spliterator(), false); // maybe it is better to have a limited size stream by passing the sheet.getPhysicalNumberOfRows() Stream<Row> stream = StreamSupport.stream(Spliterators.spliterator(sheet.iterator(), sheet.getPhysicalNumberOfRows(), Spliterator.ORDERED), false); //long cnt = stream.count(); stream = stream.skip(1); FormulaEvaluator evaluator = workbook.getCreationHelper().createFormulaEvaluator(); //Iterable<Row> iterable = () -> sheet.iterator(); List<Entity> result = stream.filter(row -> (!row.getZeroHeight())) .map(row -> RowBuilder.createRowArray(row, evaluator)).map(rowArray -> new Entity(rowArray)) .peek(p -> { System.out.println(""); }).collect(Collectors.toList()); long count = result.stream().count(); System.out.println("Total records: " + count); file.close(); } catch (Exception e) { e.printStackTrace(); } }