`
coconut_zhang
  • 浏览: 531633 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

easypoi 按照模板到出excel并合并单元格

    博客分类:
  • java
阅读更多

是entity类,注解的mergeVertical是纵向合并内容相同的单元格,默认是false

import cn.afterturn.easypoi.excel.annotation.Excel;
import lombok.Data;
 
import java.io.Serializable;
 
@Data
public class UserEntity implements Serializable {
 
    private static final long serialVersionUID = 1L;
    private String idx;
 
    @Excel(name = "籍贯", mergeVertical = true, width = 50)
    private String nativeStr;
 
    @Excel(name = "姓名", width = 20)
    private String userName;
 
    @Excel(name = "年龄", needMerge = true)
    private int age;
 
    @Excel(name = "地址", width = 50)
    private String addr;
}

 测试类:

import cn.afterturn.easypoi.excel.ExcelExportUtil;
import cn.afterturn.easypoi.excel.entity.TemplateExportParams;
import cn.afterturn.easypoi.test.entity.UserEntity;
import cn.afterturn.easypoi.util.PoiMergeCellUtil;
import org.apache.poi.ss.usermodel.Workbook;
import org.junit.Test;
 
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 TemplateFengLingTest {
    @Test
    public void test() throws Exception {
 
        Map<String, Object> map = new HashMap<String, Object>();
        List<UserEntity> list = new ArrayList<>();
 
        for (int i = 0; i < 10; i++) {
            UserEntity entity = new UserEntity();
            entity.setIdx(i + "");
            entity.setNativeStr("广东梅州");
            entity.setUserName("Mrs Ling_" + i);
            if (i > 4) {
                entity.setUserName("Mrs Ling");
                entity.setIdx("5");
            }
            entity.setAge(16 + i);
            entity.setAddr("广东梅州_" + i);
            list.add(entity);
        }
 
        for (int i = 0; i < 10; i++) {
            UserEntity entity = new UserEntity();
            entity.setIdx(i + "");
            entity.setNativeStr("广西玉林");
            entity.setUserName("Mr Feng_" + i);
            if (i > 4) {
                entity.setUserName("Mr Feng");
                entity.setIdx("5");
            }
            entity.setAge(21 + i);
            entity.setAddr("广西玉林_" + i);
            list.add(entity);
        }
 
        map.put("entityList", list);
 
        TemplateExportParams params = new TemplateExportParams(
                "doc/fengling_test.xlsx");
        ExcelExportUtil.exportExcel(params, map);
        Workbook workbook = ExcelExportUtil.exportExcel(params, map);
        PoiMergeCellUtil.mergeCells(workbook.getSheetAt(0), 1, 0, 1, 2);
        File saveFolder = new File("D:/home/excel/");
        if (!saveFolder.exists()) {
            saveFolder.mkdirs();
        }
        FileOutputStream fos = new FileOutputStream("D:/home/excel/fengling_test_export" + System.currentTimeMillis() + ".xlsx");
        workbook.write(fos);
        fos.close();
    }
}

 模板:字段输出的写法可以搜索参考官方文档,文档写的很详细,这里就不赘述了

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics