我可以只使用Apache POI读取Excel文件的第一行吗?我不想读取整个文件,因为它有50,000行,读取时间长达10分钟(性能是一种灾难)。我通过文件上传获取字节。我的选项是字节数组或InputStream。现在我这样做:
Workbook workbook = new XSSFWorkbook(excelByteStream); //This line takes a lot of time, while debugging up to 10 minutes
Sheet firstSheet = workbook.getSheetAt(0);
DataFormatter df = new DataFormatter();
List<ColumnPanel> columnPanels = new ArrayList<>();
int i = 0;
for (Cell cell : firstSheet.getRow(0))
{
columnPanels.add(new ColumnPanel(df.formatCellValue(cell), i++));
}
InputStream = new FileInputStream(new File(“/ path / to / workbook.xlsx”));
工作簿工作簿= StreamingReader.builder()。redCacheSize(100).bufferSize(4096).open(is);
Sheet sheet = workBook.getSheetAt(0);
行firstRow = sheet.rowIterator()。next();
你可以使用这个lib:https://github.com/monitorjbl/excel-streaming-reader