工具类 导出Excel

导出为Excel文件

/**

* 导出为Excel文件

*

* @param dataList  数据列表

* @param columnMap 输出列及其中文列名,按顺序输出

* @param fileName  文件名

* @param <T>

* @return oss文件url

*/

public static StringexportExcel(List dataList, LinkedHashMap columnMap, String fileName) {

    String url ="";

    if (null == dataList) {

        return url;

    }

    try {

        //写到字节输出流

        ByteArrayOutputStream byteArrayOutputStream =exportExcelOutputStream(dataList, columnMap);

        if (null == byteArrayOutputStream) {

            return url;

        }

        //文件流上传Oss

        fileName = fileName.replace(".xlsx", "");

        fileName = fileName.replace(".xls", "");

        ByteArrayInputStream byteArrayInputStream = ConversionUtil.outputStream2InputStream(byteArrayOutputStream);

        url = OssUtil.uploadStream(byteArrayInputStream, fileName, ".xlsx");

    }catch (Exception e) {

        logger.error("exportExcel error: ", e);

    }

    return url;

}


导出Excel到HttpServletResponse

/**

* 导出Excel到HttpServletResponse

*

* @param dataList  数据列表

* @param columnMap 输出列及其中文列名,按顺序输出

* @param fileName  文件名

* @param <T>

*/

public static void exportExcelToHttpServletResponse(List dataList, LinkedHashMap columnMap, String fileName, HttpServletResponse response) {

    if (null == dataList) {

        return;

    }

    try {

        //写到字节输出流

        ByteArrayOutputStream byteArrayOutputStream =exportExcelOutputStream(dataList, columnMap);

        if (null == byteArrayOutputStream) {

            return;

        }

        //导出文件流到HttpServletResponse

        //防止乱码,设置HttpServletResponse编码

        response.setCharacterEncoding("utf-8");

        response.setContentType("multipart/form-data");

        //设置页面禁止缓存

        response.setDateHeader("Expires", 0);

        response.setHeader("Cache-Control", "no-cache");

        response.setHeader("Pragma", "no-cache");

        //设置下载文件名

        response.setHeader("Content-Disposition", "attachment;filename=" +

        new String(fileName.getBytes("gb2312"), "ISO8859-1"));

        //文件输出流写入HttpServletResponse

        byteArrayOutputStream.writeTo(response.getOutputStream());

    }catch (Exception e) {

        logger.error("exportExcel error: ", e);

    }

}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。