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

java Excel导出 后台下载出来

2017-02-14 11:57 381 查看
首先要有POI的包,一般情况下 MAVEN应该有是有的,没有在加吧.

XSSFWorkbook 这个类     已XSSF为开头是导出xlsx文件就是 2007版本和以上的EXCEl

下面是我的代码 :

OutputStream os=null;

        try {

             String    mimetype = "application/x-msdownload";

             response.setContentType(mimetype);

             SimpleDateFormat sdf = new SimpleDateFormat("yyMMdd-HH-mm");

             String downFileName ="投资记录全部数据"+sdf.format(new Date())+".xlsx";

             String inlineType = "attachment"; // 是否内联附件

           response.setHeader("Content-Disposition", inlineType

              + ";filename=\"" + new String(downFileName.getBytes(), "ISO8859-1") + "\"");

            //查出所有的投资记录

            List<Map<String, Object>> map=  investmentService.findAllInvestmentList();

            //导出Excel

            os = response.getOutputStream();

            XSSFWorkbook wb = new XSSFWorkbook();

            XSSFSheet sheet = wb.createSheet("sheet1");

            String [] title={ "投资id",  "手机号",    "姓名",    "项目名称",   "标的编码",   "年化利率(%)","借款期限", "借款期限类型(月/天)"  ,  "投资金额", "实付投资","还款方式"                ,"卡卷类型",     "卡卷面值",       "还款期数",     "应还本金",   "应还收益",  "投资时间"    , "还款时间","交易订单号"};            

            String [] propertyName={"id","mobile","realName","postName","postNumber","yearRate","limitTime","limitType",           "inMoney","realMoney","paybackType",    "voucherType","denomination","numberTargets",  "inMoney","earnings","inTime","payBackTime","orderNo"};

               XSSFRow xssfR = sheet.createRow(0);

                for (int j = 0; j < title.length; j++) {

                        XSSFCell xssfCell = xssfR.createCell(j);

                        xssfCell.setCellValue(title[j]);

                }

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

                      Map<String,Object> m  = map.get(i);

                    // 创建Excel的sheet的一行

                      int r=i+1;

                   XSSFRow xssfRow = sheet.createRow(r);

                        for (int j = 0; j < propertyName.length; j++) {

                            Object cell;

                                cell =m.get(propertyName[j]) ;

                            // 创建一个Excel的单元格

                                XSSFCell xssfCell = xssfRow.createCell(j);

                            if(cell!=null){

                                xssfCell.setCellValue(cell.toString());

                            }else{

                                xssfCell.setCellValue("");

                            }

                            

                        }

            }

            wb.write(os);

        } catch (UnsupportedEncodingException e) {

            Exceptions.unchecked(e);

        } catch (IOException e) {

            Exceptions.unchecked(e);

        }finally{

            

            try {

                os.close();

                

            } catch (IOException e) {

                // TODO Auto-generated catch block

                e.printStackTrace();

            }

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