알리바바 엑셀 도구 easyExcel

2475 단어 기타java-기초
오늘 개발은 excel 표를 내보내야 하는 수요에 부딪혀 인터넷에서 아리의 easyExcel 온라인 아리데모 안의 코드를 선택했다
/**
     *  
     * 

* 1. excel {@link DownloadData} *

* 2. *

* 3. , ,finish OutputStream, */ @GetMapping("download") public void download(HttpServletResponse response) throws IOException { // 。 swagger response.setContentType("application/vnd.ms-excel"); response.setCharacterEncoding("utf-8"); response.setHeader("Content-disposition", "attachment;filename=demo.xlsx"); EasyExcel.write(response.getOutputStream(), DownloadData.class).sheet(" ").doWrite(data()); } private List data() { List list = new ArrayList(); for (int i = 0; i < 10; i++) { DownloadData data = new DownloadData(); data.setString(" " + 0); data.setDate(new Date()); data.setDoubleData(0.56); list.add(data); } return list; }


DownloadData 객체
@Data
public class DownloadData {
    @ExcelProperty(" ")
    private String string;
    @ExcelProperty(" ")
    private Date date;
    @ExcelProperty(" ")
    private Double doubleData;
}

그리고 이 코드들을 도구류인 Excelutils로 봉인합니다.
import com.alibaba.excel.EasyExcel;
import lombok.extern.slf4j.Slf4j;

import javax.servlet.http.HttpServletResponse;
import java.util.List;

@Slf4j
public class ExcelUtils {
    public static void downLoadExcel(HttpServletResponse response,Class> clazz,List> data,String fileName){
        try {
            response.setContentType("application/vnd.ms-excel");
            response.setCharacterEncoding("utf-8");
            response.setHeader("Content-disposition", "attachment;filename="+fileName+".xlsx");
            EasyExcel.write(response.getOutputStream(),clazz).sheet("sheet1").doWrite(data);
        }catch (Exception e){
            log.error("excel :" + e);
        }

    }
}


활용단어참조
ExcelUtils.downLoadExcel(response,DownloadDTO.class,data(), “xiazai”)

이 도구는 또 하나의 작은 버그가 있습니다. filename는 중국어가 될 수 없습니다. 그렇지 않으면 다운로드한 후에 ____가 됩니다.xlsxgit 주소https://github.com/alibaba/easyexcel

좋은 웹페이지 즐겨찾기