package net.loyin.jFinal.render.excel; import java.io.OutputStream; import java.util.List; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import com.jfinal.render.Render; public class ExcelRender extends Render { private String[] columns; private String[] headers; private String fileName = "defaultFilename"; private String sheetName="sheet1"; private List<Object> data; public ExcelRender(String fileName ,String[]headers,List<Object> data){ this.fileName = fileName; this.headers = headers; this.data=data; } public ExcelRender(String fileName ,String[]headers,String[]columns,List<Object> data){ this.fileName = fileName; this.headers = headers; this.columns=columns; this.data=data; } @Override public void render() { response.reset();// 清空输出流 response.setHeader("Content-disposition", "attachment; filename="+ fileName);// 设定输出文件头 response.setContentType("application/msexcel;charset=utf-8");// 定义输出类型 try { OutputStream os = response.getOutputStream();// 取得输出流 HSSFWorkbook wb = ExcelKit.export(sheetName, 0, headers,columns,data, 0); wb.write(os); os.flush(); os.close(); } catch (Exception ex) { ex.printStackTrace(); } } }