您的位置:首页 > 编程语言 > Java开发

java导出excel

2016-01-21 14:29 363 查看
//导出Excel

    public String createExcels() throws WriteException, IOException {

        

            HttpServletResponse response=ServletActionContext.getResponse();

            

            String fname = "娱乐项目信息/"+(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())).toString();

            

            OutputStream os = response.getOutputStream();//取得输出流

            

            response.reset();//清空输出流

            

            //下面是对中文文件名的处理

            response.setCharacterEncoding("UTF-8");//设置相应内容的编码格式

            

            fname = java.net.URLEncoder.encode(fname,"UTF-8");

            

            response.setHeader("Content-Disposition","attachment;filename="+fname+".xls");

            

            response.setContentType("application/msexcel");//定义输出类型

            

            String[] ids = idList.split(",");

            

            List<PleasureInfoDto> pleasureInfoDtos = new ArrayList<PleasureInfoDto>();

            

            for(String id:ids){

                

                PleasureInfoDto pleasureInfoDto = new PleasureInfoDto();

                

                pleasureInfoDto.setSpiId(Long.parseLong(id));

                

                List<PleasureInfoDto> pleasureInfoDtosa = pleasureInfoNetService.selectPleasureInfo(pleasureInfoDto);

                

                if(pleasureInfoDtosa != null && pleasureInfoDtosa.size() >0){

                    

                    pleasureInfoDtos.add(pleasureInfoDtosa.get(0));

                    

                }

                

            }

            WritableWorkbook workbook = Workbook.createWorkbook(os);

            

            // 创建新的一页

            WritableSheet sheet = workbook.createSheet("First Sheet", 0);

            // 创建要显示的内容,创建一个单元格,第一个参数为列坐标,第二个参数为行坐标,第三个参数为内容

            

            Label name = new Label(0, 0, "服务编号");

            

            sheet.addCell(name);

            

            Label name2 = new Label(1, 0, "上传时间");

            

            sheet.addCell(name2);

            

            Label name3 = new Label(2, 0, "服务地区");

            

            sheet.addCell(name3);

            

            Label name4 = new Label(3, 0, "服务类型");

            

            sheet.addCell(name4);

            

            Label name5 = new Label(4, 0, "服务名称");

            

            sheet.addCell(name5);

            

            Label name6 = new Label(5, 0, "服务截止日期");

            

            sheet.addCell(name6);

            

            Label name7 = new Label(6, 0, "服务状态");

            

            sheet.addCell(name7);

            

            Label name8 = new Label(7, 0, "服务公司");

            

            sheet.addCell(name8);

            

            Label name9 = new Label(8, 0, "推荐");

            

            sheet.addCell(name9);

            

            if (pleasureInfoDtos != null && pleasureInfoDtos.size() > 0) {

                

                for (int i = 0; i < pleasureInfoDtos.size(); i++) {

                    Label spiId = new Label(0, i + 1,pleasureInfoDtos.get(i).getSpiId()!=null?pleasureInfoDtos.get(i).getSpiId().toString():"暂无");

                    

                    sheet.addCell(spiId);

                    

                    Label createTime = new Label(1, i + 1,pleasureInfoDtos.get(i).getCreateTime()!=null?pleasureInfoDtos.get(i).getCreateTime():"暂无");

                    

                    sheet.addCell(createTime);

                    

                    Label city = new Label(2, i + 1,findCityName(pleasureInfoDtos.get(i).getAreaCode()));

                    

                    sheet.addCell(city);

                    

                    Label type = new Label(3, i + 1,findPleasureInfoType(pleasureInfoDtos.get(i).getSpdRid()));

                    

                    sheet.addCell(type);

                    

                    Label pleasureTitle = new Label(4, i + 1, pleasureInfoDtos.get(i).getPleasureTitle()!=null?pleasureInfoDtos.get(i).getPleasureTitle():"暂无");

                    

                    sheet.addCell(pleasureTitle);

                    

                    Label endTime = new Label(5, i + 1, pleasureInfoDtos.get(i).getEndTime()!=null?pleasureInfoDtos.get(i).getEndTime():"暂无");

                    

                    sheet.addCell(endTime);

                    

                    Label status = new Label(6, i + 1, findStatus(pleasureInfoDtos.get(i).getStatus()));

                    

                    sheet.addCell(status);

                    

                    Label companyName = new Label(7, i + 1, pleasureInfoDtos.get(i).getCompanyName()!=null?pleasureInfoDtos.get(i).getCompanyName():"暂无");

                    

                    sheet.addCell(companyName);

                    

                    Label reserveNums = new Label(8, i + 1, pleasureInfoDtos.get(i).getReserveNums().toString());

                    

                    sheet.addCell(reserveNums);

                }

            }

            // 把创建的内容写入到输出流中,并关闭输出流

            workbook.write();

            

            workbook.close();

            

            os.close();

            

            return NONE;
        }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: