spring boot excel 다운로드

Excel 문서를 만들 수있는 2 개의 파일 형식이 있습니다. .xls는 이전 형식이며 .xlsx는 XML 기반의 새 형식입니다. .xls 문서를 만들 때 아파치 POI를 사용하여 엑셀 파일을 만들 수 있습니다. .xlsx 파일로 작업할 때는 org.apache.poi:poi-ooxml 종속성이 필요합니다. 아파치 POI를 사용하여 엑셀 파일을 만들기위한 개요입니다. Excel 파일을 다운로드하기 위한 웹 페이지를 공개하기 위해 아래와 같이 DownloadExcelController를 만듭니다. 포이옥스ml과 jxls-jexcel의 최신 버전은 메이븐 센트럴에서 다운로드 할 수 있습니다. 2. 파일을 다운로드하는 동안 코드는 파일 청크를 청크로 스트리밍해야합니다 . 아래와 같은 코드는 그렇게합니다. Excel 파일로 작업하기 위해 이 라이브러리는 Excel 파일의 여러 부분을 나타내는 일련의 클래스를 제공합니다.

통합 문서 클래스는 시트의 전체 컬렉션을 나타냅니다. 시트 클래스는 단일 시트를 나타내고 셀 클래스는 스프레드시트의 단일 셀을 나타냅니다. 새로운 봄 스타터 프로젝트 종속성에 백리향과 봄 웹 종속성을 선택하고 다음을 클릭하여 헨디산티카 / 스프링 부팅 엑셀 – csv-pdf의 새로운 릴리스에 대한 알림을 받고 싶어? 또한, 우리는 설정해야콘텐츠 협상봄에 의해 주입 될 것입니다 관리자, 우리의 응용 프로그램이 생성 할 수있는 각 가능한 출력 형식에 대한 다른 해결사. 이를 위해 우리는 iText 라이브러리를 사용합니다. Spring은 PDF 문서를 생성하기 위한 도우미 클래스를 만들기 위해 하위 클래스로 분류할 수 있는 AbstractPdfView 추상 클래스를 제공합니다. 그러나 AbstractPdfView 클래스는 패키지 com.lowagie.*(iText 버전 <= 2.1.7)를 사용하는 반면, 최근 iText 의 패키지가 com.itextpdf.* (iTextpdf.* 5.x)로 변경되는 동안 AbstractPdfView 클래스가 이전 API 버전만 지원하는 큰 단점이 있습니다.요즘에는 데이터를 다른 형식(Csv, Excel, Excel)으로 내보내는 것이 일반적입니다. 이 문서에서는 스프링 부팅을 사용하여 Excel, PDF 및 CSV 뷰를 만드는 방법을 설명합니다. 제대로 구성하면 Spring 뷰 확인기는 모델 데이터에서 요청된 문서를 생성하여 다운로드를 위해 클라이언트로 보낼 수 있습니다.

전체 코드는 여기에서 찾을 수 있습니다. 엑셀뷰는 추상XlsView에서 확장됩니다. 우리는 빌드를 재정의하여 엑셀 문서를 만들ExcelDocument, 나머지는 자체 설명이다. 먼저 원하는 IDE 및 빌드 도구를 사용하여 Spring Boot 응용 프로그램 만들기를 시작합니다. Gradle을 빌드 도구로 선택했습니다. 다운로드 팝업인 경우 사용자는 오랜 시간 동안 열어 두고 해당 기간 동안 메모리를 사용할 수 있습니다(메모리 접근 방식의 단점). 편안한 API를 만들고 있으므로 스프링 프레임워크에서 MVC 아키텍처를 사용하고 있습니다. 그래서 우리는 DAO, 서비스 및 컨트롤러 클래스가 필요합니다. 따라서, AbstractCsvView에 대 한 코드 아래 봄의 AbstractView 클래스 하위 클래스: 이 예제 프로젝트에서 우리는 고객의 목록을 다운로드 하는 다운로드 기능을 구현 합니다. 먼저 아래와 같이 고객 클래스를 만듭니다. http://localhost:8080/download.pdf – 아무 일도 발생하지 않으면 PDF 파일을 생성하고 GitHub 데스크톱을 다운로드하고 다시 시도하십시오.

이 끝점을 호출하면 Excel 파일이 다운로드됩니다. DAO 클래스에서 URL 스트림을 사용하여 Excel 파일을 얻었는 것을 관찰할 수 있습니다. 그런 다음 WorkbookFactory.create() 메서드를 사용하여 통합 문서 인스턴스를 만듭니다. 그리고 우리는 writeFinalData() 메서드에 통합 문서 인스턴스를 전달 합니다. 다음으로, 첫 번째 시트를 만들고 “이름”과 “나이”셀을 포함하는 엑셀 파일의 헤더를 작성해 보겠습니다: Spring은 xlsx 파일을 만들기 위해 2개의 다른 추상 클래스AbstractXlsxView 및 AbstractXlsxStreamingView를 제공합니다.