powered by simpleCommunicator - 2.0.30     © 2024 Programmizd 02
Map
Форумы / Java [игнор отключен] [закрыт для гостей] / чтение Excel файла без его сохранения на диске
20 сообщений из 20, страница 1 из 1
чтение Excel файла без его сохранения на диске
    #40091047
Павел Гужанов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте.
Имеется веб приложение, на фронте загружается файл .xls или .xlsx, отправляется на сервер. На сервере файл должен прочитаться, и данные из него сохраняются в БД.
Покопался в интернете, нашел кучу примеров, но у всех примеров один недостаток: файл сохраняется на диске на сервере.
Мне же надо сделать, чтобы при получении файла с фронта он парсился, не сохраняясь на диск.
Для работы с файлом не сервере используется Apache POI.
Подскажите, как работать на сервере с файлом экселя, не сохраняя его на диск.
...
Рейтинг: 0 / 0
чтение Excel файла без его сохранения на диске
    #40091051
chpasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
внимательно смотреть API, где есть чтение из файла, обязательно будет и чтение из InputStream. Еще можно подождать, пока прибежит Станислав Башкирцев и все разжует.
...
Рейтинг: 0 / 0
чтение Excel файла без его сохранения на диске
    #40091057
Да тут даже жевать нечего.. Многие примеры в интернетах используют InputStream. Либо берем его как есть, либо, если мы получили уже байты, то оборачиваем в InputStream:
Код: java
1.
2.
ByteArrayInputStream in = new ByteArrayInputStream(bytes);
Workbook wb = WorkbookFactory.create(in);
...
Рейтинг: 0 / 0
чтение Excel файла без его сохранения на диске
    #40091102
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Павел Гужанов
Здравствуйте.
Имеется веб приложение, на фронте загружается файл .xls или .xlsx, отправляется на сервер. На сервере файл должен прочитаться, и данные из него сохраняются в БД.
Покопался в интернете, нашел кучу примеров, но у всех примеров один недостаток: файл сохраняется на диске на сервере.
Мне же надо сделать, чтобы при получении файла с фронта он парсился, не сохраняясь на диск.
Для работы с файлом не сервере используется Apache POI.
Подскажите, как работать на сервере с файлом экселя, не сохраняя его на диск.

Apache POI это достаточно умная обобщенная библиотека и она нигде не прибита гвоздями к файловой системе.
Вы можете использовать подход который предлагает Станислав. Читать и хранить загруженный блоб в памяти сессии.
Но если файлы будут слишком большие а пользователей много - то это создаст ненужную нагрузку на heap.
Возможно имеет смысл хранить загруженные файлы в /tmp ( File.createTempFile(....)) кроме того что
вы и так будете хранить в памяти объектную модель самого WorkBook документа.
...
Рейтинг: 0 / 0
чтение Excel файла без его сохранения на диске
    #40091107
Вообще Tomcat ведь сохраняет загруженные через multipart файлы в свою tmp директорию. Интересно, можно ли откуда-то взять путь к этому временному файлу и обратиться к нему напрямую через файловую систему..
...
Рейтинг: 0 / 0
чтение Excel файла без его сохранения на диске
    #40091135
Garrick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Павел Гужанов,

А как вы получите файл "не с диска"? Как вы его "загружаете" на сервер.
...
Рейтинг: 0 / 0
чтение Excel файла без его сохранения на диске
    #40091136
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stanislav Bashkyrtsev
Вообще Tomcat ведь сохраняет загруженные через multipart файлы в свою tmp директорию. Интересно, можно ли откуда-то взять путь к этому временному файлу и обратиться к нему напрямую через файловую систему..
вот поэтому, не торопись код постить бежать.
...
Рейтинг: 0 / 0
чтение Excel файла без его сохранения на диске
    #40091152
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нормально он запостил. Простой и очевидный ответ. В духе stackoverflow. Какую еще философию
нужно было запостить?
...
Рейтинг: 0 / 0
чтение Excel файла без его сохранения на диске
    #40091156
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
Если он очевидный, зачем трое задали вопросы?
Если очевидный для автора то где его благодарность?
Если очевидный для тебя то зачем ты уточнял его?
Не очевидно?)))
...
Рейтинг: 0 / 0
чтение Excel файла без его сохранения на диске
    #40091164
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
Перечитай вопрос Garrick. Он "философский".
...
Рейтинг: 0 / 0
чтение Excel файла без его сохранения на диске
    #40091178
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
очередная глубокая философия на мелких местах ...... и пример антитезы:
Код: plaintext
 zstd < файл | curl -T ...
...
Рейтинг: 0 / 0
чтение Excel файла без его сохранения на диске
    #40092003
O_79_O
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mayton
Нормально он запостил. Простой и очевидный ответ. В духе stackoverflow. Какую еще философию
нужно было запостить?
нужно просто петрухе огрничить возможность гадить в этой ветке и я гарантию даю - тут появится свежая кровь.Вообщем и целом петро нужно принести в жертву )
...
Рейтинг: 0 / 0
чтение Excel файла без его сохранения на диске
    #40092004
O_79_O
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Павел Гужанов
Здравствуйте.
Имеется веб приложение, на фронте загружается файл .xls или .xlsx, отправляется на сервер. На сервере файл должен прочитаться, и данные из него сохраняются в БД.
Покопался в интернете, нашел кучу примеров, но у всех примеров один недостаток: файл сохраняется на диске на сервере.
Мне же надо сделать, чтобы при получении файла с фронта он парсился, не сохраняясь на диск.
Для работы с файлом не сервере используется Apache POI.
Подскажите, как работать на сервере с файлом экселя, не сохраняя его на диск.

самый разумный подход ->через стрим
...
Рейтинг: 0 / 0
чтение Excel файла без его сохранения на диске
    #40092005
O_79_O
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PetroNotC Sharp
mayton,
Если он очевидный, зачем трое задали вопросы?
Если очевидный для автора то где его благодарность?
Если очевидный для тебя то зачем ты уточнял его?
Не очевидно?)))

обгадился в штанишки в очередной раз наша петрушка
...
Рейтинг: 0 / 0
чтение Excel файла без его сохранения на диске
    #40092006
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
O_79_O,
...
Рейтинг: 0 / 0
чтение Excel файла без его сохранения на диске
    #40095407
Павел Гужанов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сделал следующим образом:
С клиента приходит файл Excel в Base64
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
byte[] fileBytes = Base64.decodeBase64(data.getData());
ByteArrayInputStream in = new ByteArrayInputStream(fileBytes);
try (HSSFWorkbook wb = new HSSFWorkbook(in)) {
     HSSFSheet sheet = wb.getSheetAt(0);
     int i = 1;
     HSSFRow row = sheet.getRow(i);
     while (row != null) {
          HSSFCell cellParty = row.getCell(0);
          ...



Stanislav Bashkyrtsev - Спасибо!
...
Рейтинг: 0 / 0
чтение Excel файла без его сохранения на диске
    #40095414
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Павел Гужанов,
Вопрос был в том что data.getData() берется тоже из файла на диске.
Если это так то условие задачи не выполнялось.
...
Рейтинг: 0 / 0
чтение Excel файла без его сохранения на диске
    #40095706
Павел Гужанов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp,
data приходит с клиента POST запросом, на диске не сохраняется.
...
Рейтинг: 0 / 0
чтение Excel файла без его сохранения на диске
    #40095734
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Павел Гужанов
PetroNotC Sharp,
data приходит с клиента POST запросом, на диске не сохраняется.
вот теперь, через месяц все уточнили.
...
Рейтинг: 0 / 0
чтение Excel файла без его сохранения на диске
    #40095745
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да... Москва не сразу строилась.
...
Рейтинг: 0 / 0
20 сообщений из 20, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / чтение Excel файла без его сохранения на диске
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]