vertx框架 Excel导出(工具类)

 /**
     * 设置excel的字段
     * @param context  上下文
     * @param classmateList  传入的beanlist对象
     * @Param sheetName      一个sheet的表名
     * @param fileName       导出excel的文件名
     * @param head           excel第一行的头
     * @return
     */
    public static void excelUtil(RoutingContext context,
                                 JSONArray jsonArray,
                                 LinkedHashMap map,
                                 String sheetName,
                                 String fileName){
        JsonResult jsonResult = new JsonResult();
        //如果上下文为空则返回
        if(context==null){
            System.out.println("传入的RoutingContext为空");
            return;
        }
        //如果传入的json数组为空则返回空
        if(jsonArray == null||jsonArray.size()<=0){
            System.out.println("传入的json数组为空");
            context.response().end("");
            return;
        }
        //如果传入sheetName的参数为空或者“”
        if(sheetName == null||sheetName.equals(""))
        {
            //设置sheet名称
            sheetName="sheet1";
        }
        //如果传入fileName的参数为空或者“”
        if(fileName == null||fileName.equals(""))
        {
            //指定默认的文件名为时间
            Date date = new Date();
            SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
            fileName=format.format(date);
        }

        HSSFWorkbook workbook = new HSSFWorkbook();
        //创建sheet表名
        HSSFSheet sheet = workbook.createSheet(sheetName);
        HSSFCellStyle style = workbook.createCellStyle();
        // 设置这些样式
        style.setAlignment(HorizontalAlignment.CENTER);//水平居中
        style.setVerticalAlignment(VerticalAlignment.CENTER);//垂直居中

        // 设置边框
        style.setBorderBottom(BorderStyle.THIN);
        style.setBorderLeft(BorderStyle.THIN);
        style.setBorderRight(BorderStyle.THIN);
        style.setBorderTop(BorderStyle.THIN);
        //创建首行
        HSSFRow tableHead = sheet.createRow(0);

        //获取第一个json数组中的第一个json对象
        JSONObject object = jsonArray.getJSONObject(0);

        //创键excel表头中列数
        int cell = 0;
        //设置表头
        for(String value:map.values()){
            //设置excel头部的每一列
            tableHead.createCell(cell).setCellValue(value);
            //将json中键的集合放入list中
            //cell自增
            cell++;
        }

        for(int i=0;i 
  

你可能感兴趣的:(vertx框架 Excel导出(工具类))