Как провести различие между XSSF и HSSF автоматически в Apache POI?

Я хотел бы иметь возможность открыть файл Excel произвольного типа. Можно ли автоматически выбирать между HSSFWorkbook и XSSFWorkbook ?

В настоящее время я пишу

 Workbook workbook = new HSSFWorkbook(excelFile); 

Могу ли я написать универсальный?

Да! Все, что вам нужно сделать, это использовать WorkbookFactory

В соответствии с этой частью документов лучше использовать File чем InputStream . Итак, просто сделайте что-нибудь вроде:

 File file = new File("input.xls"); Workbook wb = WorkbookFactory.create(file); 

Это создаст какой бы то ни было HSSFWorkbook или XSSFWorkbook который нужен вашему файлу

  • Как читать файл Excel, который выбран и представлен в форме JSP?
  • JXL - Как обернуть текст (без пробела) из ячейки excel
  • во время открытия файла excel с java у меня есть эта ошибка: Предупреждение: использование локального не встроенного имени
  • Не удается прочитать файл Excel 2010 с помощью Apache POI. Первое число строк равно -1
  • Несоответствие типа аргумента в JUnit
  • Проблема с подключением драйвера HXTT
  • Как я могу суммировать значения, связанные с повторяющимся ключом в хэш-карте
  • Java POI - вставка строк в виде столбцов
  • Как установить setMissingCellPolicy для полей NULL в файлах XLSX, используя XSSF и SAX?
  • Java: Заменить строку (с помощью скобок!)
  • Запись числа в ячейках excel с использованием Apache POI
  • Давайте будем гением компьютера.