package com.monitorjbl.xlsx; import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Workbook; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; public class PerformanceTest { public static void main(String[] args) throws IOException { for(int i = 0; i < 10; i++) { long start = System.currentTimeMillis(); InputStream is = new FileInputStream(new File("/Users/thundermoose/Downloads/SampleXLSFile_6800kb.xlsx")); try(Workbook workbook = StreamingReader.builder() .rowCacheSize(100) // number of rows to keep in memory (defaults to 10) .bufferSize(4096) // buffer size to use when reading InputStream to file (defaults to 1024) .open(is)) { for(Row r : workbook.getSheet("test")) { for(Cell c : r) { //do nothing } } } long end = System.currentTimeMillis(); System.out.println("Time: " + (end - start) + "ms"); } } }