easyexcel下载工具
优化excel下载功能,采用新的工具类降低内存:
https://github.com/alibaba/easyexcel
pom:
<!-- easyexcel依赖包 -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>easyexcel</artifactId>
<version>1.0.4</version>
</dependency>
<!-- lombok依赖包 -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.12</version>
<scope>provided</scope>
</dependency>
<!-- 注意开始 如果使用easyexcel下载工具,那么就poi版本换为高版本,比如:3.17【easyexcel中使用了高版本的poi进行改造】-->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.17</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>3.17</version>
</dependency>
package net.chrone.merchant.service.util.easyexcel;
import com.alibaba.excel.ExcelWriter;
import com.alibaba.excel.metadata.BaseRowModel;
import com.alibaba.excel.metadata.Sheet;
import com.alibaba.excel.support.ExcelTypeEnum;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.net.URLEncoder;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
/**
* @Description: excel操作工具类
* @Version: 1.0
*/
public class ExcelUtils {
/**
* 导出
* @param list
* @param response
* @param clazz
* @return
*/
public static void export(List<? extends BaseRowModel> list, HttpServletResponse response, Class<? extends BaseRowModel> clazz) {
ServletOutputStream out = null;
try {
out = response.getOutputStream();
} catch (IOException e) {
e.printStackTrace();
}
ExcelWriter writer = new ExcelWriter(out, ExcelTypeEnum.XLSX, true);
try {
String fileName = new String(
(new SimpleDateFormat("yyyy-MM-dd").format(new Date())).getBytes(), "UTF-8");
Sheet sheet2 = new Sheet(2, 3,clazz, "sheet", null);
writer.write(list, sheet2);
//response.setContentType("multipart/form-data");
response.setCharacterEncoding("utf-8");
response.setContentType("application/vnd.ms-excel");
response.setHeader("content-Disposition", "attachment;filename=" + URLEncoder.encode(fileName + ".xlsx", "utf-8"));
//response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xlsx");
out.flush();
} catch (Exception e) {
//导出失败
} finally {
writer.finish();
try {
out.close();
} catch (IOException e) {
//流关闭失败
}
}
}
}
package net.chrone.merchant.service.util.easyexcel.vo;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.metadata.BaseRowModel;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Builder;
@SuppressWarnings("deprecation")
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class AdvertisingIndentBo extends BaseRowModel {
// 订单编号
@ExcelProperty(value = {"广告编号"},index = 0)
private Integer id;
@ExcelProperty(value = {"交易"},index = 1)
//交易类型(导出时使用)
private String tradeTypeStr;
@ExcelProperty(value = {"资产名称"},index = 2)
private String coinName;
}
easyexcel下载工具相关推荐
- 使用 NSURLSession 开发一个支持后台下载和断点续传的下载工具
NSURLSession 是 iOS 系统提供给我们的原生网络操作库,它提供了网络操作相关的一系列特性支持,比如缓存控制,Cookie管理,HTTP 认证处理等等,是一套整体的网络操作处理解决方案. ...
- Linux下的下载工具 axel
下载地址:http://wilmer.gaast.net/main.php/axel.html Axel是命令行下的多线程下载工具,支持断点续传,速度通常情况下是Wget的几倍. 下载后使用如下命令编 ...
- GitHub标星1.5w+,从此我只用这款全能高速下载工具
「免费学习 60+ 节公开课:投票页面,点击讲师头像」 作者 | Rocky0429 来源 | Python空间(ID:Devtogether ) 大家好,我是 Rocky0429,一个喜欢在网上 ...
- Ubuntu下非常给力的下载工具–aira2
Windows下的下载工具--迅雷,之所以下载速度快,乃是它能搜索资源.为己所用,而不是仅仅从原始地址这单一资源处下载.Ubuntu下也有类似的工具,那就是aira2. aira2是一个命令行下载工具 ...
- http android下载工具,Android实现下载工具的简单代码
下载应该是每个App都必须的一项功能,不采用第三方框架的话,就需要我们自己去实现下载工具了.如果我们自己实现可以怎么做呢? 首先如果服务器文件支持断点续传,则我们需要实现的主要功能点如下: 多线程.断 ...
- Linux 配置IP地址,子网,网关,DNS,linux远程, wget 下载工具
查看命令识别的网卡名:nmcli connection show 配置ip,子网,网关 nmcli connection modify 'System eth0' ipv4.method ...
- curl 命令行下载工具使用方法小结
获取curl curl 命令行下载工具 curl的官方网站为: http://curl.haxx.se 官方下载页面为:http://curl.haxx.se/download.html ...
- [转]使用QT开发GoogleMap瓦片显示和下载工具
第一节 之前做项目的时候经常遇到需要大量地图背景数据,然后没有数据被逼着去Google上下载瓦片数据在拼接成整张影像的工作,其实遥感影像晚上有很多可以下载到的,但是大部分是作为研究用的,作为GIS的背 ...
- python下载软件-python下载工具
广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! you-get是一个基于 python 3 的下载工具. 使用 you-get ...
最新文章
- Xcode - Other Linker Flags
- sap data service安装方法
- 两张照片重叠处半透明_全面解读超焦距,让你的风景照片更锐更清晰
- android全面屏系统哪个版本开始,Android全面屏
- Fence Repair
- win7超极本盘符不见找回文件的方法
- OpenShift Security (12) - 用 RHACS 管理容器之间的网络访问策略
- 数值分析(2)-多项式插值: 拉格朗日插值法
- R语言——基础知识呕心沥血大汇总
- Mcafee(麦咖啡)8.5i 使用设置图解
- 和秋叶一起学PPT之绘制表格(课时七)
- word特殊符号汇总
- mysql报错:1406, Data too long for column
- Https证书浏览器红色警告解决
- android 双缓冲地图,卡马克卷轴算法的研究地图双缓冲.doc
- php打印10以内减法表,10以内加减法口诀表练习题口算题可打印(附下载)
- 1455 B - Jumps
- 听说你的程序又双叒叕乱码了
- 遥感影像制作深度学习样本之多光谱处理
- 事件10016,RuntimeBroker无法编辑
热门文章
- 绝地求生信号枪只能在服务器吗,想要空投吗? 告诉你绝地求生信号枪都在哪里...
- linux批量添加用户
- 内联函数和宏定义函数的区别
- android系统如何在静音模式下关闭camera拍照声音
- 基于Unity3D开发交通基础仿真模型实战
- bose solo5 蓝牙卡顿,内幕剖析BoseSolo5质量好不好?怎么样呢?全方位深度解析评测...
- 2019-04-03-Virtuoso-Virtuoso安装配置及使用
- mysql中常用函数与存储过程的创建
- 877数据结构与算法分析
- 尼尔: 机械纪元 之 钓鱼外设