使用 apache poi 从扩展名为 xlsx 的 Excel 文件中读取数据时需要很长时间
While Reading the data from Excel file with extension xlsx using apache poi it takes long time
使用 apache poi 读取扩展名为 xlsx 的 excel 文件时,识别扩展名需要很长时间。你能帮忙解释为什么需要这么长时间吗?
if (file.getExcelFile().getOriginalFilename().endsWith("xls"))
{
workbook = new HSSFWorkbook(file.getExcelFile().getInputStream());
} else if (file.getExcelFile().getOriginalFilename().endsWith("xlsx"))
{
workbook = new XSSFWorkbook(file.getExcelFile().getInputStream());
} else {
throw new IllegalArgumentException("Received file does not have a standard excel extension.");
}
提升对答案的评论 - 不要尝试自己做,Apache POI 有内置代码为你做这件事!
你应该使用WorkbookFactory.create(File)来完成,例如
workbook = WorkbookFactory.create(file.getExcelFile());
如 Apache POI docs, use a File directly in preference to an InputStream 中所述,用于更快和更低的内存处理
使用 apache poi 读取扩展名为 xlsx 的 excel 文件时,识别扩展名需要很长时间。你能帮忙解释为什么需要这么长时间吗?
if (file.getExcelFile().getOriginalFilename().endsWith("xls"))
{
workbook = new HSSFWorkbook(file.getExcelFile().getInputStream());
} else if (file.getExcelFile().getOriginalFilename().endsWith("xlsx"))
{
workbook = new XSSFWorkbook(file.getExcelFile().getInputStream());
} else {
throw new IllegalArgumentException("Received file does not have a standard excel extension.");
}
提升对答案的评论 - 不要尝试自己做,Apache POI 有内置代码为你做这件事!
你应该使用WorkbookFactory.create(File)来完成,例如
workbook = WorkbookFactory.create(file.getExcelFile());
如 Apache POI docs, use a File directly in preference to an InputStream 中所述,用于更快和更低的内存处理