java 导出EXcell

来源:互联网 发布:windows更新怎么关闭 编辑:程序博客网 时间:2024/06/03 20:36

使用 poi 创建表格 :

/**     * 导出 表     * @param ids     * @return     */    public Workbook writeExcel(long[] ids,Ioc ioc,HttpSession session, @Param("..") Pager<MissedAsset> pager,@Param("search") String search){/*HSSFWorkbook wook = new HSSFWorkbook();HSSFSheet sheet=wook.createSheet("遗漏资产信息");  HSSFRow row=sheet.createRow(0);*/      XSSFWorkbook work = new XSSFWorkbook();    XSSFSheet sheet = work.createSheet("遗漏资产信息");        //在sheet中创建一行    XSSFRow row = sheet.createRow(0);                  //在该行写入各种类型的数据                 row.createCell(0).setCellValue("资产IP");          row.createCell(1).setCellValue("发现时间");        row.createCell(2).setCellValue("备注");                // 调整列宽                sheet.setColumnWidth(0, (short)4500);        sheet.setColumnWidth(1, (short)5500);        sheet.setColumnWidth(2, (short)8500);                // 遍历数据库 取出数据,放入表格里        //在写入 日期格式的 数据需要进行特殊处理(这是一种 简单的处理方式)                   int rowNum = 1;        //List<DownLineAsset> list = getList(ids);        List<MissedAsset> list = null;        pager.setPage(1);        pager.setPageSize(10000);        // 选择 条目的        if(search == null || search.equals("") ){        BoolQueryBuilder qb = QueryBuilders.boolQuery();        if(ids == null || ids.length == 0){        // 全查        list = MissedAssetService.getInstance().getList(pager,null).getData();        }else{                qb.must(QueryBuilders.inQuery("id", ids));        list = MissedAssetService.getInstance().getList(pager,qb).getData();        }        }else{        // 说明 有 查询条件        // 1.已经选择 具体 信息,则继续 按照 ids 查询        if( ids != null && ids.length > 0){        //list = getList(ids);        BoolQueryBuilder qb = QueryBuilders.boolQuery();        qb.must(QueryBuilders.inQuery("id", ids));                list = MissedAssetService.getInstance().getList(pager,qb).getData();        }else{        // 2.说明 有满足条件且 没有具体选择,则需要 模糊查询出符合条件的 所有信息        // 重新 设置 page 最大导出20 万数据,多了内存受不了                Pager<MissedAsset> customQuery =MissedAssetService.getInstance().getFuzzyList(pager, search);        //Pager<AllProviceAddress> customQuery = customQuery(ioc, session, pager, AllProviceAddress.class,search);        list = customQuery.getData();        }                }        for (MissedAsset ifInfo : list) {                XSSFRow rowInsert=sheet.createRow(rowNum);                     rowInsert.createCell(0).setCellValue(ifInfo.getIP());             rowInsert.createCell(1).setCellValue(ifInfo.getCreateTime());             rowInsert.createCell(2).setCellValue(ifInfo.getRemark());                   rowNum ++;}     return work;}


原创粉丝点击