MyExcel是一款集导入、导出、加密Excel等多项功能的Java工具包。

导入:提供简便的API,读取Excel内容,并转化为List< Bean >。

导出:可快速导出海量数据的简单列表,可生成高复杂度布局的Excel,复杂布局指的是包含多种不规则合并单元格、背景色、字体大小、斜体、下拉列表等,可自动划分Excel生成zip压缩包。

可生成任意复杂表格:本工具使用迭代单元格方式进行Excel绘制,可生成任意复杂度Excel,提供多种宽度策略;

零学习成本:使用Html作为模板,学习成本几乎为零;

支持常用背景色、边框、字体等样式设置:具体参见菜单样式支持部分;

支持.xls、.xlsx、.csv:支持生成.xls、.xlsx后缀的Excel以及.csv文件;

支持公式导出:支持Excel模板中设置公式,降低服务端的计算量;

支持低内存SXSSF模式:支持低内存的SXSSF模式,可利用极低的内存生成.xlsx;

支持生产者消费者模式导出:支持生产者消费者模式导出,无需一次性获取所有数据,分批获取数据配合SXSSF模式实现真正意义上海量数据导出;

支持多种模板引擎:已内置Freemarker、Groovy、Beetl、Thymeleaf等常用模板引擎Excel构建器(详情参见文档Getting started),推荐使用Beetl模板引擎(Beetl文档);

提供默认Excel构建器,直接输出简单Excel:无需编写任何Html,已内置默认模板,可直接根据POJO数据列表输出;

支持一次生成多sheet:以table作为sheet单元,支持一份Excel文档中多sheet导出;

支持Excel容量设定:支持设定Excel容量,到达容量后自动新建Excel,可构建成zip压缩包导出

本次发布主要是针对RC版本发现的Bug进行修正,更新点如下:

修复全局设定内容单元格样式无前缀情况下无效问题;

修复读取科学计数数据错误问题;

支持Excel数值型日期读取(如43927.678879879);

修改Bigdecimal导出方式,默认为数值,格式化后依然为数值;

支持导入时数据转换异常自定义处理机制;

支持DefaultExcelBuilder、DefaultStreamExcelBuilder设置隔行样式;

优化计算宽度,单元格将考虑跨列影响;

其他性能优化;

需要注意的是,因大面积重构,造成了部分的API无法兼容3.0.0.RC以下版本:

删除rowAccessWindowSize选项;

原DefaultStreamExcelBuilder的start(int waitQueueSize,Class[] groups)参数改为方法选项,waitQueueSize()、groups();

JAVA实现EXCEL大文件下载_模板引擎

JAVA实现EXCEL大文件下载_JAVA实现EXCEL大文件下载_02