将实体对象数据转换为map对象数据,插入进word模板(FreeMarker实现方式)


一、实现方式:

反射处理 将实体对象转换为map对象 ;以下两种方式非常实用

    /**
     * 对象转Map 反射处理   保留全部字段
     * @param object 
     * @return
     */
    public static Map beanToMap(Object object){
        Map<String, Object> map = new HashMap<String, Object>();
        Field[] fields = object.getClass().getDeclaredFields();
            try {
                for (Field field : fields) {
                    field.setAccessible(true);
                    if(field.get(object)!=null){
                    	 map.put(field.getName(), field.get(object));
                    }else {
                    	 map.put(field.getName(), "");
					}
                   
                }
			} catch (Exception e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
        return map;
    }
    
    
    /**
     * 对象转Map 反射处理    去掉空值字段
     * @param object 
     * @return
     */
    public static Map beanValueToMap(Object object){
        Map<String, Object> map = new HashMap<String, Object>();
        Field[] fields = object.getClass().getDeclaredFields();
            try {
                for (Field field : fields) {
                    field.setAccessible(true);
                    if(field.get(object)!=null && !"".equals(field.get(object))){
                        map.put(field.getName(), field.get(object));
                    }
                }
			} catch (Exception e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
        return map;
    }

二、调用示例:

将数据库查询完返回来的实体对象数据转换为map对象数据

	Map<String, String> objToMap = beanToMap(object);
			try {
	//返回pdf路径
	String pdfPath = WordToPdfUtil.createWord(objToMap , "测试文档.ftl", "测试文档", "Ct");
			} catch (Exception e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}

三、具体操作详解:

使用FreeMarker生成word文档(带图片),word转pdf,预览pdf,pdf下载工具类


你可能感兴趣的:(转换word,pdf服务,Java,java,word,生成pdf,freemaker,word转pdf)