Excel和Word 简易工具类,JEasyPoi 2.1.5 版本发布
摘要:
jeasypoi 功能如同名字easy,主打的功能就是容易,让一个没见接触过poi的人员 就可以方便的写出Excel导出,Excel模板导出,Excel导入,Word模板导出,通过简单的注解和模板 语言(熟悉的表达式语法),完成以前复杂的写法。
主要特点:
1.设计精巧,使用简单
2.接口丰富,扩展简单
3.默认值多,write less do more
4.AbstractView 支持,web导出可以简单明了
一、升级日志
- 一对多表结构导入导出BUG修正;
- jeecg 个性化定制版;
- 支持配置jeecg字典code 翻译导出;
- 支持自定义字典扩展接口,方便用户自定义;
- 大数据导入导出优化;
二、在线WIKI文档
这几篇是旧的教程,不过和现在大同小异
Excel 介绍篇 Excel 工具类 Excel 注解介绍.第一篇 Excel 注解介绍.第二篇 Excel 实体类 Word模板导出教程
后面都是新的了
三、JEasyPoi 集成方法
1. 采用 maven方式
在pom.xml 引入以下依赖。配置私服http://maven.jeecg.org/nexus/
<dependency>
<groupId>org.jeecgframework</groupId>
<artifactId>jeasypoi-base</artifactId>
<version>2.1.5</version>
</dependency>
<dependency>
<groupId>org.jeecgframework</groupId>
<artifactId>jeasypoi-web</artifactId>
<version>2.1.5</version>
</dependency>
<dependency>
<groupId>org.jeecgframework</groupId>
<artifactId>jeasypoi-annotation</artifactId>
<version>2.1.5</version>
</dependency>
2. 非maven方式
直接拷贝相关jar进项目Lib中
四、源码下载
http://git.oschina.net/jeecg/jeasypoi
https://github.com/zhangdaiscott/jeasypoi
五、技术交流
六、测试实战
- 技术论坛:www.jeecg.org
- QQ交流群: ⑥190866569、⑤ 293658367、④176031980(满)、②106838471(满)
- 在线体验: http://demo.jeecg.org
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<StudentEntity> 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<ExcelExportEntity> entity = new ArrayList<ExcelExportEntity>();
entity.add(new ExcelExportEntity("姓名", "name"));
entity.add(new ExcelExportEntity("性别", "sex"));
List<Map<String, String>> list = new ArrayList<Map<String, String>>();
Map<String, String> map;
for (int i = 0; i < 10; i++) {
map = new HashMap<String, String>();
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<String,Object> map = new HashMap<String, Object>();
map.put("year", "2013");
map.put("sunCourses", list.size());
Map<String,Object> obj = new HashMap<String, Object>();
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<CourseEntity> 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<CourseEntity> 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;
}
8.Excel导入校验,过滤不符合规则的数据,追加错误信息到Excel,提供常用的校验规则,已经通用的校验接口
/**
* Email校验
*/
@Excel(name = "Email", width = 25)
@ExcelVerify(isEmail = true, notNull = true)
private String email;
/**
* 手机号校验
*/
@Excel(name = "Mobile", width = 20)
@ExcelVerify(isMobile = true, notNull = true)
private String mobile;
ExcelImportResult<ExcelVerifyEntity> result = ExcelImportUtil.importExcelVerify(new File(
"d:/tt.xls"), ExcelVerifyEntity.class, params);
for (int i = 0; i < result.getList().size(); i++) {
System.out.println(ReflectionToStringBuilder.toString(result.getList().get(i)));
}
9.导入Map 设置导入参数,传入文件或者流,即可获得相应的list,自定义Key,需要实现IExcelDataHandler接口
ImportParams params = new ImportParams();
List<Map<String,Object>> list = ExcelImportUtil.importExcel(new File(
"d:/tt.xls"), Map.class, params);
相关推荐
WORD2CHM Assistant CHM制作助手 2.1.5 破解教程
- 版本2.1.5属于较早的Spring版本,其中包含了核心容器、数据访问/集成、Web、AOP、工具类和测试模块等。 - 在本项目中,Spring可能被用来管理bean的生命周期,实现DI,以及配置定时任务。 2. **Spring 定时任务*...
TbsZipZip处理类是专为处理和操作ZIP文件而设计的工具,其最新版本v2.1.5提供了更高效、稳定的性能,使得开发者能够更便捷地进行文件压缩和解压缩操作。本文将详细探讨TbsZipZip处理类的核心功能、工作原理以及如何...
GNS3是思科的一款模拟器,支持路由器,防火墙,二、三层交换机设备。...由于发现网上关于GNS3的教程还有资料停留在气球版(老版本),已经不适应现在的新东西了。所以写此给大家。关于现在最新版gns3是2.1.5
英文版 quartz-2.1.5版本的API
2.1.5版本是Keras的一个里程碑,它在易用性、稳定性和性能上都有显著提升,使得研究人员和开发者能够更高效地构建和训练复杂的深度学习模型。 Keras最初设计的目标是实现快速原型设计,允许用户以最少的代码量创建...
在这个“vlcwin_15_vs2010”压缩包中,我们获得了VLC 2.1.5版本的开发源码,这个版本主要针对Windows平台进行编译和优化。 首先,让我们深入了解一下VLC的核心技术。VLC基于LibVLC库,这是一个强大的多媒体框架,...
SQLiteStudio-2.1.5 是一款专为SQLite数据库设计的高效、易用的管理工具。SQLite是一款开源、轻量级、自包含的SQL数据库引擎,广泛应用于移动设备、嵌入式系统以及桌面应用程序中。SQLiteStudio作为其配套的图形界面...
Elastic-Job是一个分布式任务调度框架,由两个独立的子项目Elastic-Job-Lite和Elastic-Job-Cloud组成。这里的"elastic-job-lite-...2.1.5版本的发布意味着开发者可以在这个稳定版本上构建和维护自己的分布式任务系统。
例如,编辑可以发布和修改内容,而审核员只能查看和审核,管理员则拥有全部权限。这一功能确保了网站内容的安全性和管理的有序性。然而,在2.1.5版本中,这一特性被移除,这意味着所有用户可能将拥有相同的操作权限...
这个“vagrant.dmg2.1.5 mac 最新版本”是专为Mac用户设计的Vagrant软件的2.1.5版本安装镜像文件,通过这个.dmg文件,用户可以在其Mac操作系统上便捷地安装和使用Vagrant。 Vagrant 的核心概念是基于Box的虚拟化。...
数据库打开工具sqlitestudio-2.1.5 https://blog.csdn.net/qq_31939617/article/details/80341928
6. **性能优化**:2.1.5版本对代码进行了优化,减少了加载时间和内存占用,提高了整体性能。 **使用方法:** 在使用fancyBox时,首先需要在网页中引入jQuery库和fancyBox的CSS及JavaScript文件。然后,通过添加特定...
VisualSVN Server 2.1.5 是一款专为软件开发团队设计的高效版本控制系统服务器,它基于Subversion(SVN)技术,提供了一种简单易用且功能强大的方式来管理源代码和其他版本化的文件。VisualSVN Server的出现,极大地...
首先,下载官方发布的log4j_2.1.5.zip压缩包,解压后会得到包含新版本库的文件。接着,根据你的项目结构,将新的jar文件替换旧版本,或者通过Maven或Gradle等构建工具更新依赖。最后,重启服务以应用更改。 除了...
FlexPaper 是一款强大的在线文档查看和转换工具,主要用于在网页上展示PDF、图像和其他文档格式。这个名为 "FlexPaper_2.1.5.zip" 的压缩包包含了 FlexPaper 的源代码,版本为 2.1.5。让我们深入探讨一下这个软件的...
这个版本是2.1.5,这意味着它是该系列中的一个稳定版本,可能包含了前一版本的错误修复和性能优化。 描述中提到的"jackson-core、jackson-data、jackson-anno",分别指的是Jackson库的三个主要部分: 1. **Jackson...
SQLite Studio 2.1.5版本可能包含了软件的改进和修复,提供了更好的稳定性和兼容性。尽管它可能没有最新版本的功能丰富,但对于那些寻求简洁高效解决方案的用户来说,依旧是一个可靠的选择。 综上所述,SQLite ...
这些文件通常是由JavaDoc工具生成的,帮助开发者理解和使用IText库中的类和方法。它们提供了详细的API参考、示例和类结构信息,是学习和使用IText不可或缺的资源。 总之,IText 2.1.5版本为PDF文档处理提供了强大的...
版本2.1.5对前一版本进行了优化和增强,修复了一些已知问题,提升了性能,并且提供了更多的新特性。比如增强了类型转换能力,支持更多类型的参数绑定,以及对Spring和其他框架的更好集成。 6. **xwork-2.1.5.jar与...