我想从excel中找到总行数。摆脱内存异常
try {
InputStream myxls = new FileInputStream("File path");
workbook = new XSSFWorkbook(myxls);
System.out.println(ele.productHierarchyText());
XSSFSheet sheet = workbook.getSheet("Sheet Name");
XSSFRow row = sheet.getRow(0);
int colNum = row.getLastCellNum();
System.out.println("Total Number of Columns in the excel is : " + colNum);
rowNum = sheet.getLastRowNum() + 1;
System.out.println("Total Number of Rows in the excel is : " + rowNum);
}
答案 0 :(得分:0)
似乎您没有为JVM分配足够的内存。由于它同时读取90k条记录并尝试将它们保留在堆内存中,因此它应该具有足够的堆内存来容纳这些记录。
可以使用-Xmx标志来增加堆内存。您需要确保为应用程序分配了足够的内存用于堆和非堆,以避免内存不足错误。
有关更多详细信息,您可以选中https://outofmemoryerror.io/