目录
一、读取时通用参数(工作蒲和工作表):
headRowNumber:指定需要读si是表格的列头行数(默认有一行头,也就是认为第二行开始起为数据)
二、上传excel文件并且保存到数据库
1.注解@ExcelIgnore在实体类中写,忽略这个实体类中的这个属性
三、查询数据库中的数据转换为excel表格下载到本地
四、easyexcel实现excel文件模板下载
1.将所要下载的文件模板放在resource文件夹下
2.控制层代码
@ApiOperation("境内上市企业文件下载")
@RequestMapping(value = "/fileDownload", method = RequestMethod.GET)
public void download(HttpServletResponse response) throws FileNotFoundException {
String fileName="境内上市企业.xlsx";
FileUtil.downloadExcel(response,fileName);
}
3.文件下载模板工具类
/**
* 文件下载模板工具类
*/
public class FileUtil {
//下载模板
public static void downloadExcel(HttpServletResponse response,String fileName){
//方法一:直接下载路径下的文件模板(这种方式貌似在SpringCloud和Springboot中,打包成JAR包时,无法读取到指定路径下面的文件,不知道记错没,你们可以自己尝试下!!!)
try {
//文件名称
//String fileName = "境内上市企业.xlsx";
//设置要下载的文件的名称
response.setHeader("Content-disposition", "attachment;fileName=" + fileName);
//通知客服文件的MIME类型
response.setContentType("application/vnd.ms-excel;charset=UTF-8");
//获取文件
Resource fileResource = new ClassPathResource("/templates/excel/summary/" + fileName);
InputStream input = fileResource.getInputStream();
OutputStream out = response.getOutputStream();
byte[] b = new byte[2048];
int len;
while ((len = input.read(b)) != -1) {
out.write(b, 0, len);
}
//修正 Excel在“xxx.xlsx”中发现不可读取的内容。是否恢复此工作薄的内容?如果信任此工作簿的来源,请点击"是"
//response.setHeader("Content-Length", String.valueOf(input.getChannel().size()));
input.close();
} catch (Exception ex) {
ex.printStackTrace();
}
}
}