java使用Java Word 的模板引擎 poi-tl操控导出word文件

pom文件中引入依赖

  

        
            com.deepoove
            poi-tl
            1.7.3
        
  

        
            org.apache.poi
            poi-ooxml
            4.1.0
        
        
            org.apache.poi
            poi
            4.1.2
        

 制作导出word用的模板文件docx,如图

java使用Java Word 的模板引擎 poi-tl操控导出word文件_第1张图片

java导出word代码

import com.deepoove.poi.XWPFTemplate;
import com.deepoove.poi.config.Configure;
import com.deepoove.poi.policy.HackLoopTableRenderPolicy;
import com.google.common.collect.Lists;

import java.io.FileOutputStream;
import java.io.IOException;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * @Description:
 * @Author: Tarzan Liu
 * @Date: 2020/4/2 14:54
 */
public class test {

    public static void  test(){
        HackLoopTableRenderPolicy policy = new HackLoopTableRenderPolicy();

        Configure config = Configure.newBuilder().bind("list", policy).build();

        List> list= Lists.newArrayList();
        for (int i = 0; i < 5; i++) {
            Map data = new HashMap<>();//通过map存放要填充的数据
            data.put("year","201"+i);
            data.put("num",33+i);
            list.add(data);
        }
        Map data = new HashMap<>();//通过map存放要填充的数据
        data.put("list",list);
        XWPFTemplate template = XWPFTemplate.compile("E:\\test\\ccc.docx",config).render(data);//调用模板,填充数据
        try {
        FileOutputStream out = new FileOutputStream("E:\\test\\test.docx");//要导出的文件名
        template.write(out);
        out.flush();
        out.close();
        template.close();
    } catch (IOException e) {
        e.printStackTrace();
    }
}

    public static void main(String[] args) {
        test.test();
    }

}

idea运行输出图

java使用Java Word 的模板引擎 poi-tl操控导出word文件_第2张图片

导出后的文件如图

java使用Java Word 的模板引擎 poi-tl操控导出word文件_第3张图片

你可能感兴趣的:(技术交流,java,poi)