EasyPoi

快速 Office、PDF 开发工具
授权协议 Apache
开发语言 Java
所属分类 程序开发、 报表/图表制作
软件类型 开源软件
地区 国产
投 递 者 穆修杰
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

easypoi 功能如同名字 easy,主打的功能就是容易,让一个没见接触过 poi 的人员可以方便地写出 Excel 导出、Excel 模板导出、Excel 导入、Word 模板导出,通过简单的注解和模板语言(熟悉的表达式语法),完成以前复杂的写法。

EasyPoi的主要特点

  1. 设计精巧,使用简单
  2. 接口丰富,扩展简单
  3. 默认值多,write less do more
  4. AbstractView 支持,web导出可以简单明了

EasyPoi的几个入口工具类

1.ExcelExportUtil Excel导出(普通导出,模板导出)
2.ExcelImportUtil Excel导入
3.WordExportUtil Word导出(只支持docx ,doc版本poi存在图片的bug,暂不支持)

EasyPoi导出实例

1.注解,导入导出都是基于注解的,实体上做上注解,标示导出对象,同时可以做一些操作

    @ExcelTarget("courseEntity")
    public class CourseEntity implements java.io.Serializable {
    /** 主键 */
    private String id;
    /** 课程名称 */
    @Excel(name = "课程名称", orderNum = "1", needMerge = true)
    private String name;
    /** 老师主键 */
    @ExcelEntity(id = "yuwen")
    @ExcelVerify()
    private TeacherEntity teacher;
    /** 老师主键 */
    @ExcelEntity(id = "shuxue")
    private TeacherEntity shuxueteacher;

    @ExcelCollection(name = "选课学生", orderNum = "4")
    private List students;

2.基础导出    传入导出参数,导出对象,以及对象列表即可完成导出

    HSSFWorkbook workbook = ExcelExportUtil.exportExcel(new ExportParams(
                "2412312", "测试", "测试"), CourseEntity.class, list);

3.基础导出,带有索引    在到处参数设置一个值,就可以在导出列增加索引

    ExportParams params = new ExportParams("2412312", "测试", "测试");
    params.setAddIndex(true);
    HSSFWorkbook workbook = ExcelExportUtil.exportExcel(params,
            TeacherEntity.class, telist);

4.导出Map    创建类似注解的集合,即可完成Map的导出,略有麻烦

    List entity = new ArrayList();
    entity.add(new ExcelExportEntity("姓名", "name"));
    entity.add(new ExcelExportEntity("性别", "sex"));

    List> list = new ArrayList>();
    Map map;
    for (int i = 0; i < 10; i++) {
        map = new HashMap();
        map.put("name", "1" + i);
        map.put("sex", "2" + i);
        list.add(map);
    }

    HSSFWorkbook workbook = ExcelExportUtil.exportExcel(new ExportParams(
            "测试", "测试"), entity, list);

5.模板导出    根据模板配置,完成对应导出

    TemplateExportParams params = new TemplateExportParams();
    params.setHeadingRows(2);
    params.setHeadingStartRow(2);
    Map map = new HashMap();
    map.put("year", "2013");
    map.put("sunCourses", list.size());
    Map obj = new HashMap();
    map.put("obj", obj);
    obj.put("name", list.size());
    params.setTemplateUrl("org/jeecgframework/poi/excel/doc/exportTemp.xls");
    Workbook book = ExcelExportUtil.exportExcel(params, CourseEntity.class, list,
            map);

6.导入    设置导入参数,传入文件或者流,即可获得相应的list

    ImportParams params = new ImportParams();
    params.setTitleRows(2);
    params.setHeadRows(2);
    //params.setSheetNum(9);
    params.setNeedSave(true);
    long start = new Date().getTime();
    List list = ExcelImportUtil.importExcel(new File(
            "d:/tt.xls"), CourseEntity.class, params);

7.和spring mvc的无缝融合    简单几句话,Excel导出搞定

    @RequestMapping(params = "exportXls")
    public String exportXls(CourseEntity course,HttpServletRequest request,HttpServletResponse response
            , DataGrid dataGrid,ModelMap map) {

        CriteriaQuery cq = new CriteriaQuery(CourseEntity.class, dataGrid);
        org.jeecgframework.core.extend.hqlsearch.HqlGenerateUtil.installHql(cq, course, request.getParameterMap());
        List courses = this.courseService.getListByCriteriaQuery(cq,false);

        map.put(NormalExcelConstants.FILE_NAME,"用户信息");
        map.put(NormalExcelConstants.CLASS,CourseEntity.class);
        map.put(NormalExcelConstants.PARAMS,new ExportParams("课程列表", "导出人:Jeecg",
                "导出信息"));
        map.put(NormalExcelConstants.DATA_LIST,courses);
        return NormalExcelConstants.JEECG_EXCEL_VIEW;

    }
  • 1.Excel文件的简单导入和导出 1.1准备工作 1)首先新建一个SpringBoot的项目,搭建基本的环境访问数据,详见源码。 2)导入easypoi依赖 <!--easypoi--> <dependency> <groupId>cn.afterturn</groupId> <artifactId>easypoi-spring-boot-starter</art

  • Easypoi 为谁而开发 不太熟悉poi的 不想写太多重复太多的 只是简单的导入导出的 喜欢使用模板的 都可以使用easypoi Easypoi的目标是什么 Easypoi的目标不是替代poi,而是让一个不懂导入导出的快速使用poi完成Excel和word的各种操作,而不是看很多api才可以完成这样工作 为什么会写Easypoi 以前的以前(岁月真TMD的快)我虽然写了不少代码但还是很少写po

  • easypoi的常用注解 常用注解 @Excel注解 @Excel注解是作用到Filed上面,是对Excel一列的一个描述,这个注解是必须要的注解,其属性如下: 属性 类型 默认值 功能 name String null 对应Excel的列名 orderNum String “0” 列的排序 format String ” “ 时间格式化,相当于同时设置exportFormat和importFor

  • Easypoi使用 简介 在项目中,有时会出现需要将数据库数据导出报表等功能,这时一般会用到poi库。poi是一个专门给Java程序提供格式文档读写功能的API接口,包括各种微软的格式文档入excel、word等。最常用的还是Excel格式导入导出。 Easypoi是在poi接口基础上进行了封装,简化了操作。 使用Easypoi导出仅需以下几步: 添加依赖项 改造模型,添加注解 从数据库查询数据,

  • 公司项目中要使用easypoi,所以来做个记录 本次仅仅使用到导出execl,其他用到的时候再做更新 首先,easypoi是基于poi的,源码里也带着poi的东西 在使用easypoi的时候,使用的注解 比较多,省去了大量的格式配置等等 easypoi的整体思路是:建立实体类作为映射基础,再调用ExcelExportUtil中的各种方法满足各种操作 Workbook workbook = Exce

  • 添加pom.xml依赖 <dependency> <groupId>cn.afterturn</groupId> <artifactId>easypoi-spring-boot-starter</artifactId> <version>4.1.0</version> </dependency> ExcelUtils导入导出excel工具类 package com.yss

  • 数据不是一成不变的,表格数据的表头也是可删可减,这个时候怎么处理动态表头呢(此处动态表头的数据来自与后端查询所得数据,如果是固定类的动态表头请参考:http://doc.wupaas.com/docs/easypoi/easypoi-1c0u96flii98v 中的注解:isColumnHidden) 说明:没有使用过这个注解,网坛上有人说,这个只是隐藏好像还是会导出,这个光荣而又艰巨的任务就交给

  • easypoi工具类 package com.mye.hl11easypoi.api.util; import cn.afterturn.easypoi.excel.ExcelExportUtil; import cn.afterturn.easypoi.excel.ExcelImportUtil; import cn.afterturn.easypoi.excel.entity.ExportP

 相关资料
  • 我们提供了一套 CLI 脚手架工具,协助开发者快速搭建一个基于 Vue 的 PWA 工程,并且迅速体验 PWA 效果。 准备 本地安装最新版本的 Node.js Node.js:https://nodejs.org/ Git:https://git-scm.com/downloads 学习 Vue 相关知识 Vue: https://cn.vuejs.org Vuex: https://vuex.

  • 本指南将解说如何构建并测试用于开发的 Ceph 。 开发 run-make-check.sh 脚本会安装 Ceph 依赖,一切都在调试模式下编译、并进行一系列测试,以验证结果正如所需。 $ ./run-make-check.sh 开发集群的部署 Ceph 包含一个名为 vstart.sh 的脚本(还有开发集群的部署),可以让开发者们在开发系统上用最简部署快速地测试代码。编译成功后,用下列命令开始部

  • 4.1. 1、业务边界优化 创业公司有很多可变性,要做的系统也无数,如何保证业务系统的边界是非常难的,我们其实走了很多弯路,图-稍后补 4.2. 2、静态api理论 当需求和ue定下来之后,就开始编写静态api,这样app、h5、前端就可以使用静态api完成功能,而后端也可以以静态api为标准来实现,整体效率还是比较高的。 另外还有基于api生成http请求的思考(未完成) 4.3. 3、api约

  • 本文向大家介绍jquery Easyui快速开发总结,包括了jquery Easyui快速开发总结的使用技巧和注意事项,需要的朋友参考一下 最近工作很轻松,整理了些关于easyui的datagrid的开发文档,整理的比较细致,直接复制粘贴就可以使用了。 代码内容如下: 以上代码示例给大家分享了jquery Easyui快速开发,希望大家喜欢。

  • 页面开发 Weex框架要求使用 Vue2.0 进行页面开发。开发者通过编写 *.vue 文件,基于<template>,<style>,<script> 快速构建组件化的应用。 页面开发模式 页面开发模式: 第一种:单页面(SPA) 通过 Vue-router + Vuex 来实现。这种方式是通过Router的方式来进行页面切换,如果页面不需要太多的交互效果,可以使用这种方式来实现。 第二种:独立

  • 开发调试 首先安装 Weex 官方提供的 Playground ,这是一款安装在手机(Android & iOS)端的 页面预览和调试工具。 weex-toolkit中包含了调试工具weex devtools,它是专门为Weex定制的一款实现了 Chrome Debugging Protocol 的 inspect/debug 工具,能够帮助你快速查看 app 运行状态和调试 Weex 中的 JS