protected void doPost(HttpServletRequest request, HttpServletResponse response) throwsServletException, IOException {
log.info("导出报废模的servlet");
MuJUService muJUService= newMuJUService();//查询
List>list =muJUService.exportBaoFei();//弹框选择路径
WritableWorkbook book = null;
response.reset();
response.setCharacterEncoding("UTF-8");//设置字符集//创建工作流
OutputStream os = null;try{//设置弹出对话框
response.setContentType("application/DOWLOAD");
response.setCharacterEncoding("UTF-8");//设置工作表的标题
response.setHeader("Content-Disposition", "attachment; filename=feimu_month.xls");//设置生成的文件名字、、不能用汉字,没有设置汉字解码
os =response.getOutputStream();//初始化工作表
book =Workbook.createWorkbook(os);
}catch(IOException e1) {
log.error("导出excel出现IO异常", e1);//throw new ServiceException("导出失败", e1);
e1.printStackTrace();
}//excel格式设置
WritableFont font1= new WritableFont(WritableFont.createFont("楷体 _GB2312"), 12, WritableFont.NO_BOLD); //设置字体格式为excel支持的格式 WritableFont font3=new WritableFont(WritableFont.createFont("楷体 _GB2312"), 12, WritableFont.NO_BOLD);
WritableCellFormat format1=newWritableCellFormat(font1);//把水平对齐方式指定为居中
try{
format1.setAlignment(jxl.format.Alignment.CENTRE);//把垂直对齐方式指定为居中
format1.setVerticalAlignment(jxl.format.VerticalAlignment.CENTRE);//设置自动换行
format1.setWrap(true);
}catch(WriteException e1) {//TODO Auto-generated catch block
log.error(e1);
e1.printStackTrace();
}//WritableWorkbook book = null;
try{//打开文件//book = Workbook.createWorkbook(new File(filename+".xls"));//生成名为"学生"的工作表,参数0表示这是第一页
WritableSheet sheet = book.createSheet("当月报废单", 0);
sheet.addCell(new Label(0,0,"序号",format1));for(int i = 1;i<12;i++){
sheet.setColumnView(i,15);
}
sheet.addCell(new Label(1,0,"下单时间",format1));
sheet.addCell(new Label(2,0,"返回时间",format1));
sheet.addCell(new Label(3,0,"维修单号",format1));
sheet.addCell(new Label(4,0,"产品图号",format1));
sheet.addCell(new Label(5,0,"模具图号",format1));
sheet.addCell(new Label(6,0,"模具规格",format1));
sheet.addCell(new Label(7,0,"维修模号",format1));
sheet.addCell(new Label(8,0,"维修数量",format1));
sheet.addCell(new Label(9,0,"维修原因",format1));
sheet.addCell(new Label(10,0,"报废模号",format1));
sheet.addCell(new Label(11,0,"报废数量",format1));if(list!=null && !list.isEmpty()){int rows =1;//hang
int cols = 0;//lie
for (Mapmap : list) {
sheet.addCell(new Number(0, rows, rows));
sheet.addCell(new Label(1,rows,map.get("wx_xdan_data"),format1));
sheet.addCell(new Label(2,rows,map.get("wx_back_data"),format1));
sheet.addCell(new Label(3,rows,map.get("wx_danhao"),format1));
sheet.addCell(new Label(4,rows,map.get("wx_product_num"),format1));
sheet.addCell(new Label(5,rows,map.get("wx_mj_num"),format1));
sheet.addCell(new Label(6,rows,map.get("wx_mj_guige"),format1));
sheet.addCell(new Label(7,rows,map.get("wx_muhao"),format1));
sheet.addCell(new Label(8,rows,map.get("wx_count"),format1));
sheet.addCell(new Label(9,rows,map.get("wx_reason"),format1));
sheet.addCell(new Label(10,rows,map.get("wx_baofei_muhao"),format1));
sheet.addCell(new Label(11,rows,map.get("wx_baofei_count"),format1));
rows++;
}
}
book.write();
}catch(Exception e) {
log.error(e);
System.out.println(e);
}finally{if(book!=null){try{
book.close();
}catch(Exception e) {
e.printStackTrace();
}
}
}}