Предисловие
Я считаю, что многие друзья будут экспортировать данные в требования Excel в реальной работе. Обычно есть два способа сделать это.
Сначала используйте JXL для генерации Excel, затем сохраните его на сервер, а затем загрузите файл после создания страницы.
Второе - использовать POI для генерации Excel, а затем использовать поток для вывода его на стойку регистрации, чтобы загрузить его напрямую (PS: Конечно, его также можно сгенерировать на сервер, а затем загрузить.). Здесь мы обсудим второй тип.
Струт2 путь
Обычно я помещал уже сгенерированный HSSFWorkbook в InputStream, а затем перейти в файл конфигурации XML, чтобы изменить результат возврата на поток. следующее:
private void raspenatata (hssfworkbook wb) бросает ioException {bytearrayOutputStream baos = new BytearrayOutputStream (); WB.Write (BAOS); baos.flush (); byte [] aa = baos.tobytearray (); ExcelStream = new BytearrayinputStream (aa, 0, aa.length); baos.close ();}Файл конфигурации:
<name Action = "exportxxx" method = "exportxxx"> <name = "exportSuccess" type = "Stream"> <param name = "inportName"> ExcelStream </param> <param name = "contentType"> Application/vnd.ms-excel </param> <param> "contentDisposition"> attlection; filename. </result> </action>
Это достигнет цели нажатия на ссылку, чтобы загрузить файл напрямую.
SpringMVC Way
Сначала опубликуйте код:
@Requestmapping ("/exportxxx.action") public void exportxxx (httpservletrequest, httpservletresponse, @RequestParam (value = "gayDID", defaultValue = "0") int pradessId) {hssfWorkbook WB = createExcel (adaultValue); try {response.setheader ("content-disposition", "Attachment; filename = eversionmentUser.xls"); response.setContentType ("Application/vnd.ms-excel; charset = utf-8"); OutputStream out = response.getOutputStream (); wb.write (out); out.flush (); out.close (); } catch (ioException e) {e.printstackTrace (); }} Фактически, Springmvc и Struts2 в принципе одинаковы, но Struts2 - это способ настроить файл. Во -первых, используйте метод createExcel() , чтобы сгенерировать Excel и вернуть его. Наконец, используйте response на выход на передний план. Этот метод является общим, и вы также можете попробовать его с помощью Servlet、Struts2 и т. Д. Нам нужно только установить соответствующую выходную информацию в информации заголовка response .
Суммировать
Независимо от того, используете ли Struts2 или Springmvc, это в основном используемый ответ, поэтому, если мы тщательно понимаем ответ, будь то загрузка изображений, мира, Excel или других файлов, это то же самое.
Адрес Github: https://github.com/crossoverjie
Выше всего содержание этой статьи. Я надеюсь, что это будет полезно для каждого обучения, и я надеюсь, что все будут поддерживать Wulin.com больше.