首页>代码>java web导出插入图片到word文档的实例>/com.chen.springmvc/src/main/java/com/chen/springmvc/util/WordUtil.java
                
                package com.chen.springmvc.util;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStreamWriter;
import java.io.UnsupportedEncodingException;
import java.io.Writer;
import java.util.Map;
import sun.misc.BASE64Encoder;
import freemarker.template.Configuration;
import freemarker.template.Template;
import freemarker.template.TemplateException;
public class WordUtil {
	private Configuration configuration = null;  
	
	public WordUtil(){
		configuration = new Configuration();
		configuration.setDefaultEncoding("utf-8");  
	}
	
	//dataMap 要填入模本的数据文件  
	public void createDoc(Map<String,Object> dataMap,String fileName) {  
	    //设置模本装置方法和路径,FreeMarker支持多种模板装载方法。可以重servlet,classpath,数据库装载,  
	    //这里我们的模板是放在template包下面  
		System.out.println(WordUtil.class.getClassLoader().getResource("/template/"));
	    configuration.setClassForTemplateLoading(WordUtil.class, "/template/");  
	    Template t=null;  
	    try {  
	        //test.ftl为要装载的模板  
//	    	t = configuration.getTemplate("fctestpaper.ftl"); 
	        t = configuration.getTemplate("fctestpaper2.ftl"); //添加插入图片处理
	    } catch (IOException e) {  
	        e.printStackTrace();  
	    }  
	    //输出文档路径及名称  
	    File outFile = new File(fileName);  
	    Writer out = null;  
	    FileOutputStream fos=null;  
	    try {  
	        fos = new FileOutputStream(outFile);  
	        OutputStreamWriter oWriter = new OutputStreamWriter(fos,"UTF-8");  
	        //这个地方对流的编码不可或缺,使用main()单独调用时,应该可以,但是如果是web请求导出时导出后word文档就会打不开,并且包XML文件错误。主要是编码格式不正确,无法解析。  
	        //out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(outFile)));  
	         out = new BufferedWriter(oWriter);   
	    } catch (FileNotFoundException | UnsupportedEncodingException e1) {  
	        e1.printStackTrace();  
	    }  
	       
	    try {  
	        t.process(dataMap, out);  
	        out.close();  
	        fos.close();  
	    } catch (TemplateException e) {  
	        e.printStackTrace();  
	    } catch (IOException e) {  
	        e.printStackTrace();  
	    }  
	}  
	
	/**
	 * 图片处理
	 * @param imgFile
	 * @return
	 */
	 public String getImageStr(String imgFile){
        InputStream in=null;
        byte[] data=null;
        try {
            in=new FileInputStream(imgFile);
            data=new byte[in.available()];
            in.read(data);
            in.close();
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
        BASE64Encoder encoder=new BASE64Encoder();
        return encoder.encode(data);
    }
}
最近下载更多
                
                adminjiang     LV7
                2023年11月26日
            
            
        
                1006148200     LV7
                2021年11月29日
            
            
        
                123456nty     LV37
                2021年8月16日
            
            
        
                xcwang     LV11
                2021年4月1日
            
            
        
                liwentao0322     LV2
                2021年1月17日
            
            
        
                LiuHanWen     LV2
                2020年8月23日
            
            
        
                whfuai     LV14
                2019年11月28日
            
            
        
                756398953     LV12
                2019年11月7日
            
            
        
                zzxzzx940330     LV1
                2019年8月19日
            
            
        
                doutao6677     LV25
                2019年8月5日
            
            
        
最近浏览更多
                
                qiheideguang     LV18
                4月10日
            
            
        
                adminjiang     LV7
                2023年11月26日
            
            
        
                为我所用     LV1
                2022年6月21日
            
            
        
                twv008    
                2022年1月24日
            
            
                    暂无贡献等级
            
        
                tangjj7260     LV18
                2021年12月25日
            
            
        
                ylsh123    
                2021年12月6日
            
            
                    暂无贡献等级
            
        
                mudai88    
                2021年12月1日
            
            
                    暂无贡献等级
            
        
                1006148200     LV7
                2021年11月27日
            
            
        
                likuozhan    
                2021年9月28日
            
            
                    暂无贡献等级
            
        
                adoutxv     LV1
                2021年9月24日
            
            
        
                
                
                