| | |
| | | import org.apache.poi.hssf.usermodel.HSSFRow; |
| | | import org.apache.poi.hssf.usermodel.HSSFSheet; |
| | | import org.apache.poi.hssf.usermodel.HSSFWorkbook; |
| | | import org.apache.poi.ss.usermodel.Workbook; |
| | | import org.apache.poi.xssf.streaming.SXSSFRow; |
| | | import org.apache.poi.xssf.streaming.SXSSFSheet; |
| | | import org.apache.poi.xssf.streaming.SXSSFWorkbook; |
| | | |
| | | import javax.faces.context.FacesContext; |
| | | import javax.servlet.ServletOutputStream; |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import java.io.IOException; |
| | | import java.io.InputStream; |
| | | import java.io.OutputStream; |
| | | import java.util.LinkedHashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | public class ExcelUtils { |
| | | |
| | | static { |
| | | System.setProperty("java.awt.headless", "false"); |
| | | } |
| | | |
| | | public static HSSFWorkbook exportExcelNew(Map<String, String> map, List<Map> dataList, String name){ |
| | | HSSFWorkbook hssfWorkbook = new HSSFWorkbook(); |
| | | // SXSSFWorkbook sb = new SXSSFWorkbook(1000); |
| | | Integer total = null; |
| | | //sheet名字 |
| | | HSSFSheet sheet = hssfWorkbook.createSheet(name); |
| | | // SXSSFSheet sheet = sb.createSheet(name); |
| | | // SXSSFRow titlerRow = sheet.createRow(0); |
| | | HSSFWorkbook sb = new HSSFWorkbook(); |
| | | HSSFSheet sheet = sb.createSheet(name); |
| | | HSSFRow titlerRow = sheet.createRow(0); |
| | | |
| | | int k = 0; |
| | |
| | | } |
| | | //数据 |
| | | for (int i = 0; i < dataList.size(); i++) { |
| | | // SXSSFRow dataRow = sheet.createRow(i + 1); |
| | | HSSFRow dataRow = sheet.createRow(i + 1); |
| | | int j = 0; |
| | | for(Map.Entry<String, String> entry:map.entrySet()){ |
| | |
| | | |
| | | |
| | | |
| | | return hssfWorkbook; |
| | | return sb; |
| | | } |
| | | |
| | | |
| | |
| | | throw new Exception("没有数据可以导出"); |
| | | } |
| | | |
| | | ServletOutputStream out = null; |
| | | OutputStream out = null; |
| | | InputStream is = null; |
| | | try { |
| | | FacesContext ctx = FacesContext.getCurrentInstance(); |
| | |
| | | StringBuffer contentDisposition = new StringBuffer(); |
| | | contentDisposition.append("attachment;"); |
| | | contentDisposition.append("filename=\""); |
| | | contentDisposition.append(name).append(".xls"); |
| | | contentDisposition.append(name).append(".xlsx"); |
| | | contentDisposition.append("\""); |
| | | response.setHeader( |
| | | "Content-Disposition", |
| | | new String(contentDisposition.toString().getBytes( |
| | | System.getProperty("file.encoding")), "ISO8859-1")); |
| | | out = response.getOutputStream(); |
| | | HSSFWorkbook hssfWorkbook = ExcelUtils.exportExcelNew(map, list, name); |
| | | hssfWorkbook.write(out); |
| | | // out.flush(); |
| | | Workbook sb = ExcelUtils.exportExcelNew(map, list, name); |
| | | sb.write(out); |
| | | out.flush(); |
| | | // sb.dispose();// 释放workbook所占用的所有windows资源 |
| | | ctx.responseComplete(); |
| | | |
| | | } catch (Exception e) { |
| | | if (is != null) { |
| | | try { |