POI может открыть книгу из любого InputStream
, которую вы хотите бросить на нее. (Файлы lower memory, но вы можете использовать поток, если хотите, и многие люди). Если поток не поддерживается файлом, то он не имеет имени файла, поэтому никакая просьба об использовании POI не получит вас!
Если вы открываете книгу из файла, то объект File
знает имя файла. Спросите об этом! В противном случае, если вы открываете с InputStream
, скорее всего, это не имя файла, поэтому ничего не нужно.
Наконец, имейте в виду, что в отличие от имени листа, которое хранится в файле, имя самого файла не является чем-то волшебным. Возьмите test.xls
, скопируйте его в test2.xls
, а также сохраните его в поле базы данных базы данных. Загрузите все. Все они - один и тот же файл, но два из них имеют разные имена файлов, и у одного нет имени файла вообще!