1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > easypoi导出word表格

easypoi导出word表格

时间:2019-08-21 07:43:02

相关推荐

easypoi导出word表格

一、maven依赖

复制<!--easypoi 自动POI依赖版本为3.15--><dependency><groupId>cn.afterturn</groupId><artifactId>easypoi-base</artifactId><version>3.3.0</version></dependency><dependency><groupId>cn.afterturn</groupId><artifactId>easypoi-web</artifactId><version>3.3.0</version></dependency><dependency><groupId>cn.afterturn</groupId><artifactId>easypoi-annotation</artifactId><version>3.3.0</version></dependency><!--注意:word中要使用循环等标签必须单独导入以下依赖--><dependency><groupId>org.apache.poi</groupId><artifactId>ooxml-schemas</artifactId><version>1.1</version></dependency>

二、word模板制作

word模板

提示:某些时候写的表达式感觉总是不能被替换为值,试着把表达式复制到文本工具里面再复制回来。

三、工具类

复制package net.ifok.demo.easypoiword;import cn.afterturn.easypoi.word.WordExportUtil;import org.apache.poi.xwpf.usermodel.XWPFDocument;import java.io.ByteArrayOutputStream;import java.io.File;import java.io.FileOutputStream;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;public class WordUtil {/*** 导出word(版本docx)** @param templateWordPath* @param dataMap* @return* @throws Exception*/public static byte[] exportWord(String templateWordPath, Map<String, Object> dataMap) throws Exception {File tf = new File(templateWordPath);if (!tf.exists() || !tf.isFile()) {throw new RuntimeException("File [" + templateWordPath + "] Not Found Or Not File.");}XWPFDocument document = WordExportUtil.exportWord07(templateWordPath, dataMap);ByteArrayOutputStream bos = new ByteArrayOutputStream();document.write(bos);return bos.toByteArray();}public static void main(String[] args) {try {try (FileOutputStream fos = new FileOutputStream("d:/test/exp.docx")) {Map<String, Object> dataMap = new HashMap<>();dataMap.put("title", "个人信息");Map<String, String> user = new HashMap<>();user.put("name", "张三");user.put("age", "22");user.put("address", "重庆渝北区");user.put("other", "篮球");dataMap.put("user", user);List<Map<String, String>> jobs = new ArrayList<>();Map<String, String> job;for (int i = 0; i < 5; i++) {job = new HashMap<>();job.put("name", "公司名称-" + i);job.put("address", "公司地址:" + i);jobs.add(job);}dataMap.put("jobs",jobs);byte[] doc = exportWord("d:/test/template.docx", dataMap);fos.write(doc);fos.flush();}} catch (Exception e) {e.printStackTrace();}}}

四、执行工具类测试

结果图:

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。