zhanghua
2023-09-08 7ef4892f9f24f941aca37e6b3991b808a0aca619
ycl-common/src/main/java/com/ycl/utils/EasyExcelUtils.java
@@ -1,15 +1,19 @@
package com.ycl.utils;
import com.alibaba.excel.EasyExcel;
import com.ycl.dto.UmsDepartDto;
import com.ycl.utils.listener.DepartListener;
import lombok.SneakyThrows;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.net.URLEncoder;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.Collection;
public class EasyExcelUtils {
    /**
     * @Description 导出
@@ -25,4 +29,23 @@
                .sheet(sheetName)
                .doWrite(collection);
    }
    @SneakyThrows
    public static void export1(HttpServletResponse response, String sheetName, Class className, Collection<?> collection, String fileName) {
        fileName = URLEncoder.encode(fileName, "UTF-8");
        response.setContentType("application/vnd.ms-excel");
        response.setCharacterEncoding("utf-8");
        response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd")) + fileName  + ".xlsx");
        EasyExcel.write(response.getOutputStream(), className)
                .sheet(sheetName)
                .doWrite(collection);
    }
    @SneakyThrows
    public static void importDepartFile(MultipartFile file) throws IOException {
        EasyExcel.read(file.getInputStream())
                .head(UmsDepartDto.class)
                .registerReadListener(new DepartListener()).sheet().doRead();
    }
}