final String[] excelHeader = { "a", "b", "c", "d", "e",
"f", "h" };
//接收传入要导出参数
@Override
public HSSFWorkbook export(List<User> bean) {
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet = wb.createSheet("用户信息表");
sheet.setColumnWidth(0, 20 * 256);
HSSFRow row = sheet.createRow((int) 0);
HSSFCellStyle style = wb.createCellStyle();
style.setAlignment(HSSFCellStyle.ALIGN_CENTER);
style.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);
style.setFillForegroundColor(HSSFColor.YELLOW.index);//标题背景颜色
style.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);
HSSFFont font = wb.createFont();
font.setFontHeightInPoints((short) 10); //字体高度
style.setFont(font);
for (int i = 0; i < excelHeader.length; i++) {
HSSFCell cell = row.createCell(i);
cell.setCellValue(excelHeader[i]);
cell.setCellStyle(style);
sheet.autoSizeColumn(i);
sheet.setColumnWidth(i, 20 *250); //设置表格标题宽度
}
//循环解析 传入参数 写入表格
for (int i = 0; i < bean.size(); i++) {
row = sheet.createRow(i + 1);
User user= bean.get(i);
row.createCell(0).setCellValue(user.getID());
row.createCell(1).setCellValue(user.get(i).getname());
row.createCell(2).setCellValue(user.get(i).getname());
row.createCell(3).setCellValue(user.get(i).getname());
row.createCell(4).setCellValue(user.get(i).getname());
row.createCell(5).setCellValue(user.get(i).getname());
row.createCell(6).setCellValue(user.get(i).getname());
}
return wb;
}
Controller.java:
public void UserExport( HttpServletRequest request,
HttpServletResponse response){
//查询导出数据
List<User> bean = orderService.QuerUser(id);
HSSFWorkbook webBook = userService.export(bean); //调用导出方法
response.reset();
response.setContentType("application/vnd.ms-excel;charset=utf-8");
response.setHeader("Content-disposition", "attachment;filename=user.xls");
response.setCharacterEncoding("utf-8");
ServletOutputStream ouputStream = response.getOutputStream();
webBook.write(ouputStream);
ouputStream.flush();
ouputStream.close();
}
页面不要用Ajax方式 不会弹出下载的
最好直接用表单直接提交方式
java poi导出excel 表格
最新推荐文章于 2023-06-10 18:02:19 发布