1. Введение
Отчеты часто участвуют в веб -разработке Java. В недавних проектах нам нужно отобразить данные в базе данных в качестве таблицы и экспортировать их в качестве файла Excel.
2. Связанные пакеты JAR
Использование POI может решить проблемы импорта и экспорта Excel. Адрес скачивания POI:
POI-3.6-20091214.Jar
3. Код ключа
Сначала импортируйте вышеупомянутый пакет JAR.
При генерации Excel общая форма источника данных является списком. Ниже приведен код, который генерирует формат Excel:
/ *** Ниже приводится генерация операции Excel*/ // 1. Создать рабочую книгу, соответствующую файлу Excel, HSSFWorkBook WB = New HSSFWorkBook (); // 2. Добавить лист в рабочую книгу, соответствующий листу в листе Excel HSSFSHEET = WB.CreateSheet ("XXX Table"); // 3. Добавить 0 -й ряд заголовка таблицы в лист. Старая версия POI имеет ограничение на количество рядов Excel Short hssfrow row = sheet.createrow ((int) 0); // 4. Создайте ячейку, установите заголовок таблицы значений и установите заголовок таблицы в центр hssfcellstyle style = wb.createcellstyle (); // Центринг -формат стиль.setalenment (hssfcellstyle.align_center); // Установить заголовок таблицы hssfcell cell = row.createcell (0); cell.SetCellValue ("Table Header1"); cell.setcellstyle (стиль); cell = row.createCell (1); cell.SetCellValue ("Table Header2"); cell.setcellstyle (стиль); cell = row.createCell (2); cell.SetCellValue ("Table Header3"); cell.setcellstyle (стиль); cell = row.createCell (3); cell.SetCellValue («Заголовок таблицы 4»); cell.setcellstyle (стиль); cell = row.createCell (4); cell.SetCellValue («Заголовок таблицы 5»); cell.setcellstyle (стиль);После создания формата Excel вы должны написать данные, чтобы Excel:
// цикл, чтобы написать данные, чтобы Excel для (int i = 0; i <lists.size (); i ++) {row = sheet.createrow ((int) i+1); Список списка = lists.get (i); // Создать ячейку и установить значение value row.createcell (0) .setCellValue (list.getxxx ()); row.createCell (1) .setCellValue (list.getxxx ()); row.createCell (2) .setCellValue (list.getxxx ()); row.createCell (3) .setCellValue (list.getxxx ()); row.createCell (3) .setCellValue (list.getxxx ()); row.createCell (4) .setCellValue (list.getXxx ()); } Полученный Excel будет выводиться в качестве потока.
*Блок загрузки не появляется
FileOutputStream OUT = new FileOutputStream ("E: /xxx.xls"); wb.write (out); out.close ();*Popt Up the Download Box
String fileName = "XXX Table"; BytearRayOutputStream OS = новый BytearRayOutputStream (); WB.Write (OS); byte [] content = os.tobytearray (); InputStream IS = New BytearRayinputStream (Content); // Установите параметр ответа, чтобы открыть страницу загрузки Res.reset (); res.setContentType ("Application/vnd.ms-excel; charset = utf-8"); res.setheader ("content-disposition", "Attachment; filename =" + new String ((имя файла + ".xls"). getbytes (), "iso-8859-1")); ServletOutputStream OUT = res.GetOutputStream (); BufferedInputStream bis = null; BufferedOutputStream bos = null; try {bis = new BufferedInputStream (IS); bos = new BufferedOutputStream (Out); byte [] buff = new Byte [2048]; int bytesread; // Простая петля чтения/записи. while (-1! = (bytesread = bis.read (buff, 0, buff.length))) {bos.write (buff, 0, bytesread); }} catch (Exception e) {// todo: обрабатывать исключение e.printstacktrace (); } наконец {if (bis! = null) bis.close (); if (bos! = null) bos.close (); } После завершения вышеуказанных операций вы можете перейти на другие страницы.
В то же время POI также может отображать загрузку и анализ Excel на веб -странице. Пожалуйста, следите за обновлениями для этой другой статьи!
Выше всего содержание этой статьи. Я надеюсь, что это будет полезно для каждого обучения, и я надеюсь, что все будут поддерживать Wulin.com больше.