EasyExcel使用(实现文件上传下载)

目录

一、读取时通用参数(工作蒲和工作表):

二、上传excel文件并且保存到数据库

三、查询数据库中的数据转换为excel表格下载到本地

四、easyexcel实现excel文件模板下载


一、读取时通用参数(工作蒲和工作表):

headRowNumber:指定需要读si是表格的列头行数(默认有一行头,也就是认为第二行开始起为数据)

二、上传excel文件并且保存到数据库

1.注解@ExcelIgnore在实体类中写,忽略这个实体类中的这个属性

三、查询数据库中的数据转换为excel表格下载到本地

四、easyexcel实现excel文件模板下载

1.将所要下载的文件模板放在resource文件夹下

EasyExcel使用(实现文件上传下载)_第1张图片

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();
        }

    }


}

你可能感兴趣的:(java,spring,boot)