马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
1 Maven 依赖
- <dependency>
- <groupId>cn.afterturn</groupId>
- <artifactId>easypoi-spring-boot-starter</artifactId>
- <version>4.0.0</version>
- </dependency>
复制代码 2 application.yml
- spring:
- main:
- allow-bean-definition-overriding: true
复制代码 3 测试代码
- package com.xudongbase.poi.easypoi;
- import cn.afterturn.easypoi.word.WordExportUtil;
- import cn.afterturn.easypoi.word.entity.MyXWPFDocument;
- import cn.hutool.core.io.resource.ClassPathResource;
- import com.xudongbase.common.util.FileUtil;
- import org.apache.poi.xwpf.usermodel.XWPFDocument;
- import org.junit.jupiter.api.Test;
- import org.springframework.boot.test.context.SpringBootTest;
- import java.io.File;
- import java.io.FileOutputStream;
- import java.util.ArrayList;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Map;
- @SpringBootTest
- public class WordTemplateTest {
- /**
- * 测试替换内容和动态行
- */
- @Test
- public void test() {
- try {
- //读文件
- ClassPathResource classPathResource = new ClassPathResource("/doc/word/EasyPoiWordTemplate.docx");
- File file = new File("D:/word/EasyPoiWordTemplateAfter.docx");
- XWPFDocument document = new MyXWPFDocument(classPathResource.getStream());
- Map<String, Object> contentMap = new HashMap<>();
- contentMap.put("xudongmaster1", "旭东怪1");
- contentMap.put("xudongmaster2", "旭东怪2");
- FileUtil.createNewFile(file);
- List<Map<String, Object>> tableDataList = new ArrayList<>();
- for (int i = 0; i < 10; i++) {
- Map<String, Object> rowMap = new HashMap<>();
- rowMap.put("test", "测试" + i);
- rowMap.put("name", "名称" + i);
- tableDataList.add(rowMap);
- }
- contentMap.put("tableDataList", tableDataList);
- WordExportUtil.exportWord07(document, contentMap);
- //复制前两行
- document.write(new FileOutputStream(file));
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- }
复制代码 4 模板
5 测试结果
注:
完备代码示例请前往 Gitee 检察 xudongbase 项目的 easypoi 分支。
xudongbase: 重要是项目中可以用到的共通方法,现有easyexcel分支在连续更新中。欢迎各人Star和提交Issues。easyexcel分支:批量设置样式,批量添加表明,批量归并单位格,设置冻结行和列,设置行高列宽,隐蔽行和列,绑定下拉框数据,设置水印,插入图片 - Gitee.com
|