导出excel模板

//前端一定要用同步提交

//创建HSSFWorkbook对象(excel的文档对象)
HSSFWorkbook wb = new HSSFWorkbook();
//设置cell的样式(字体)
HSSFCellStyle style = wb.createCellStyle();
HSSFFont font=wb.createFont();
font.setColor(HSSFColor.PALE_BLUE.index);
style.setFont(font);
//建立新的sheet对象(excel的表单)
HSSFSheet sheet=wb.createSheet("查询量");
//在sheet里创建第一行,参数为行索引(excel的行),可以是0~65535之间的任何一个

//创建第一行第一列,以此类推

HSSFRow row1=sheet.createRow(1);
//创建单元格(excel的单元格,参数为列索引,可以是0~255之间的任何一个
HSSFCell cell=row1.createCell(1);
cell.setCellValue("查询时间维度 :")

String user="超级管理员";
//设置查询标识统计
String counts="查询标识统计";
//获取当前日期的时分
SimpleDateFormat sdf3=new SimpleDateFormat("yyyyMMdd HHmm");
Date dates=new Date();
String nowtime=sdf3.format(dates);
String filename=user+counts+nowtime+".xls";
System.out.println(filename);
//输出Excel文件
HttpServletRequest request=ServletActionContext.getRequest();
String agent = request.getHeader("USER-AGENT");
String enableFileName=null;

//识别火狐浏览器
if(agent != null && agent.indexOf("MSIE") == -1) {
enableFileName = "=?UTF-8?B?" + (new String(Base64.encodeBase64(filename.getBytes("UTF-8")))) + "?=";
} else {
enableFileName = new String(filename.getBytes("GBK"), "ISO-8859-1");
}
response.reset();
response.setHeader("Content-disposition", String.format("attachment; filename=\"%s\"", enableFileName));
response.setContentType("application/vnd.ms-excel;charset=utf-8");
//获取响应流
OutputStream output=response.getOutputStream();
wb.write(output);
output.close();

 

这只是一个模板,不懂的下面可以问

posted @ 2018-03-09 14:45  久违的黎明  阅读(177)  评论(0编辑  收藏  举报