MyExcel是一款多功能的Excel工具合集,包括Excel表格绘制、Excel导入、Excel导出、Excel加密和样式设置等,内置丰富的beetl模板引擎,可以快速的设计出各种复杂的表格,需要的朋友赶快下载吧!
软件特色
1、可生成任意复杂表格:本工具使用迭代单元格方式进行excel绘制,可生成任意复杂度excel,自适应宽度、高度;
2、零学习成本:使用html作为模板,学习成本几乎为零;
3、支持常用背景色、边框、字体等样式设置:具体参见文档-样式支持部分;
4、支持.xls、.xlsx、.csv:支持生成.xls、.xlsx后缀的Excel以及.csv文件;
5、支持公式导出:支持Excel模板中设置公式,降低服务端的计算量;
6、支持低内存SXSSF模式:支持低内存的SXSSF模式,可利用极低的内存生成.xlsx;
7、支持生产者消费者模式导出:支持生产者消费者模式导出,无需一次性获取所有数据,分批获取数据配合SXSSF模式实现真正意义上海量数据导出;
8、支持多种模板引擎:已内置Freemarker、Groovy、Beetl、Thymeleaf等常用模板引擎Excel构建器(详情参见文档Getting started),推荐使用Beetl模板引擎(Beetl文档);
9、提供默认Excel构建器,直接输出简单Excel:无需编写任何html,已内置默认模板,可直接根据POJO数据列表输出;
10、支持一次生成多sheet:以table作为sheet单元,支持一份excel文档中多sheet导出;
11、支持Excel容量设定:支持设定Excel容量,到达容量后自动新建Excel,可构建成zip压缩包导出;
MyExcel使用说明
导入示例
// (推荐)方式一:全部读取后处理,SAX模式,避免OOM,建议大量数据使用
List result = SaxExcelReader.of(ArtCrowd.class)
.sheet(0) // 0代表第一个,如果为0,可省略该操作
.rowFilter(row -> row.getRowNum() > 0) // 如无需过滤,可省略该操作,0代表第一行
.beanFilter(ArtCrowd::isDance) // bean过滤
.read(path.toFile());// 可接收inputStream
// (推荐)方式二:读取一行处理一行,可自行决定终止条件,SAX模式,避免OOM,建议大量数据使用
// readThen有两种重写接口,返回Boolean型接口允许在返回False情况下直接终止读取
SaxExcelReader.of(ArtCrowd.class)
.sheet(0) // 0代表第一个,如果为0,可省略该操作
.rowFilter(row -> row.getRowNum() > 0) // 如无需过滤,可省略该操作,0代表第一行
.beanFilter(ArtCrowd::isDance) // bean过滤
.readThen(path.toFile() ,artCrowd -> {System.out.println(artCrowd.getName);});// 可接收inputStream
public class ArtCrowd {
// index代表列索引,从0开始
@ExcelColumn(index = 0)
private String name;
@ExcelColumn(index = 1)
private String age;
@ExcelColumn(index = 2,dateFormatPattern="yyyy-MM-dd")
private Date birthday;
}
导出示例
List dataList = this.getDataList();
Workbook workbook = DefaultExcelBuilder.of(ArtCrowd.class)
.build(dataList);
AttachmentExportUtil.export(workbook, "艺术生信息", response);
// 加密导出
// AttachmentExportUtil.encryptExport(workbook, "艺术生信息", response,"123456");
}
∨ 展开