工具類 導(dǎo)出Excel

導(dǎo)出為Excel文件

/**

* 導(dǎo)出為Excel文件

*

* @param dataList? 數(shù)據(jù)列表

* @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 {

????????//寫到字節(jié)輸出流

? ? ? ? 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;

}


導(dǎo)出Excel到HttpServletResponse

/**

* 導(dǎo)出Excel到HttpServletResponse

*

* @param dataList? 數(shù)據(jù)列表

* @param columnMap 輸出列及其中文列名,按順序輸出

* @param fileName? 文件名

* @param <T>

*/

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

????if (null == dataList) {

????????return;

? ? }

????try {

????????//寫到字節(jié)輸出流

? ? ? ? ByteArrayOutputStream byteArrayOutputStream =exportExcelOutputStream(dataList, columnMap);

? ? ? ? if (null == byteArrayOutputStream) {

????????????return;

? ? ? ? }

????????//導(dǎo)出文件流到HttpServletResponse

? ? ? ? //防止亂碼,設(shè)置HttpServletResponse編碼

? ? ? ? response.setCharacterEncoding("utf-8");

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

? ? ? ? //設(shè)置頁面禁止緩存

? ? ? ? response.setDateHeader("Expires", 0);

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

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

? ? ? ? //設(shè)置下載文件名

? ? ? ? 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);

? ? }

}

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容