Я пытаюсь прочитать файл Excel (xlsm as с макросами), все кажется правильным, но каким-то образом код занимает много времени для выполнения. Вот мой код:
public Map<String, ReportParameter> getParameters(String excelFileName) {
File excelFile = new File(repo.getRepositoryPath() + File.separator + excelFileName);
try (FileInputStream input_document = new FileInputStream(excelFile);
XSSFWorkbook workbook = new XSSFWorkbook(input_document)) {
XSSFSheet sheet = workbook.getSheet("parametre");
Map<String, String> resultMap = new HashMap<>();
Map<String, Integer> indexMap = new HashMap<>();
int pos = 1;
for (Row row : sheet) {
Cell cell = row.getCell(0);
if(cell == null) {
continue;
}
indexMap.put(cell.getStringCellValue(), pos++);
resultMap.put(cell.getStringCellValue(), row.getCell(1).getStringCellValue());
}
return convertParameterTypesToReportParameters(resultMap, indexMap);
} catch (Exception e) {
throw new RuntimeException(e);
}
Я также пытаюсь использовать OPCPackage, но результат тот же. Может кто-нибудь подсказать мне, почему это занимает много времени и есть ли что-то, что может улучшить производительность.