package com.dy.pmsGlobal.util;
|
|
import com.alibaba.excel.EasyExcel;
|
import com.alibaba.excel.converters.Converter;
|
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
import jakarta.servlet.http.HttpServletResponse;
|
import lombok.extern.slf4j.Slf4j;
|
|
import java.net.URLEncoder;
|
import java.util.List;
|
|
/**
|
* @Author: liurunyu
|
* @Date: 2025/5/21 13:50
|
* @Description
|
*/
|
@Slf4j
|
public class ExportExcelUtil {
|
|
public static void downloadExcel(HttpServletResponse response, String fileName, String sheetName, List<Converter> list){
|
if(CollectionUtils.isEmpty(list)){
|
return;
|
}
|
try{
|
response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
|
response.setCharacterEncoding("utf-8");
|
fileName = URLEncoder.encode(fileName, "UTF-8").replaceAll("\\+", "%20");
|
response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + fileName + ".xlsx");
|
EasyExcel.write(response.getOutputStream(), list.get(0).getClass()).sheet(sheetName).doWrite(list);
|
}catch (Exception e){
|
log.error("导出{}异常", sheetName, e);
|
}
|
}
|
public static void downloadExcelSheets(HttpServletResponse response, String fileName, String sheetName, List<Converter> list){
|
if(CollectionUtils.isEmpty(list)){
|
return;
|
}
|
/*try(ExcelWriter excelWriter = EasyExcel.write(file).build()) {
|
WriteSheet writeSheet;
|
for (SheetInfoBean bean : sheetInfoList) {
|
// 构建sheet对象
|
writeSheet = EasyExcel.writerSheet(bean.getSheetName()).head(bean.getHeadClass()).build();
|
// 写出sheet数据
|
excelWriter.write(bean.getDataList(), writeSheet);
|
}
|
// 关流
|
excelWriter.finish();
|
} catch (Exception e) {
|
// do something you want
|
}*/
|
try{
|
response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
|
response.setCharacterEncoding("utf-8");
|
fileName = URLEncoder.encode(fileName, "UTF-8").replaceAll("\\+", "%20");
|
response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + fileName + ".xlsx");
|
EasyExcel.write(response.getOutputStream(), list.get(0).getClass()).sheet(sheetName).doWrite(list);
|
}catch (Exception e){
|
log.error("导出{}异常",sheetName,e);
|
}
|
}
|
}
|