java Excel 导出 封装

接 上一篇导出博客 : http://www.javashuo.com/article/p-eyhmwhqc-ma.htmljava

 

/**
 * @Title:数据导出
 * @Description:
 * @Created by yangjie on 2019/4/12/10:13.
 */
@Service
public class ExcelService {

    public void export(String fileName, String[] title, String[] params, List list, HttpServletResponse response) throws Exception {
        List<Object[]> dataList = new ArrayList<Object[]>();
        for (int i = 0; i < list.size(); i++) {
            Object[] objs = new Object[params.length];
            for (int j = 0; j < params.length; j++) {
                objs[j] = getGetMethod(list.get(i), params[j]).toString();
                if (list.get(i).getClass().getDeclaredField(params[j]).getGenericType().toString().equals("class java.util.Date")) {
                    if (ValidationUtil.isNotBlank(objs[j])) {
                        Date time = new Date(objs[j].toString());
                        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
                        objs[j] = sdf.format(time);
                    }
                }
                dataList.add(i, objs);
            }
        }
        ExportToExcelUtil.exportExcel(fileName, title, dataList, response);
    }

    /**
     * @Title:
     * @TODO:
     * @Created By MrYang on 2019/4/12/16:54
     */
    public static Object getGetMethod(Object ob, String name) throws Exception {
        Method[] m = ob.getClass().getMethods();
        for (int i = 0; i < m.length; i++) {
            if (("get" + name).toLowerCase().equals(m[i].getName().toLowerCase())) {
                return m[i].invoke(ob) == null ? "" : m[i].invoke(ob);
            }
        }
        return "";
    }

}

 

@RequestMapping("/export")
public void export(OrderVO, HttpServletResponse response) {
    Log.logger.info("导出数据 入参信息" + JSONObject.toJSONString(vo));
    String fileName = "订单列表";
   
    String[] title =
            {"编号","订单编号","借款人姓名","借款人手机号","放款金额","分期数",
            "资金渠道","归属渠道","代理人","进件时间","放款时间"};
    String[] params =
            {"orderNo","orderNo","borrowerName","borrowerMobileNo","loanAmount","stageNum",
             "channelName","mcName","agentName","addTime","loanTime"};

    List list = orderService.queryList(vo);
    
    try {
        excelService.export(fileName,title,params, list ,response);
    } catch (Exception e) {
        e.printStackTrace();
    }
}
相关文章
相关标签/搜索