알리바바 엑셀 도구 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
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
요구사항 정의요구사항 정의 작성 방법 개요 ・목적 표시되고 있는 텍스트를 가변으로 한다 · 과제 표시된 텍스트가 변경되지 않음 ・해결 표시되고 있는 텍스트가 가변이 된다 사양 · 표시 정의 각 편집 화면 ○○ 표시되고 있는 텍스...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.