안녕하세요, 당신처럼 샘플을 만들기 위해 연습하려고 할 때 ExcelRevenueReportView 클래스로 돌아갈 수 없습니다. 그것은 항상 ExcelRevenuSummary.jsp로 돌아갑니다. 내가 잊어 버린 또는 ..? 콘텐츠 및 서식과 관련된 Excel 셀의 속성을 포함하는 MyCell이라는 도우미 클래스를 만들어 보겠습니다: Spring MVC를 사용하여 읽은 Excel 파일을 표시하려면 컨트롤러 매핑 및 JSP 페이지를 정의해야합니다. 위에서 설명한 메서드는 Excel 파일의 빈 행을 고려하지 않습니다. 빈 행을 표시하는 파일의 충실한 변환을 원한다면 빈 문자열을 콘텐츠로 포함하는 MyCell 개체의 ArrayList를 사용하여 결과 HashMap에서 이러한 내용을 시뮬레이션해야 합니다. 최신 .xlsx 형식의 파일의 경우 Java 문서에서 Microsoft Excel 작업 문서에 설명된 통합 문서의 내용에 XSSFWorkbook 클래스 및 유사한 클래스를 사용할 수 있습니다. .xls 파일은 HSSFWorkbook 클래스에 의해 아파치 POI 라이브러리에 표시되며, 이는 HSSFSheet 개체로 구성됩니다. .xls 파일의 내용을 열고 읽으면 Java에서 Microsoft Excel로 작업하는 방법에 대한 도움말을 볼 수 있습니다. 컨트롤러 클래스, 데모용 더미 데이터를 생성하고 요청 매개 변수를 사용하여 반환할 뷰를 결정합니다. 요청 매개 변수가 “EXCEL”과 같으면 Excel 보기(AbstractExcelView)를 반환합니다. 어떤 생각? 우리는 어떤 식 으로는 ajax에서 응답 (엑셀 통합 문서 AbstractExcelView)을 사용하고 파일을 저장할 수 있습니까? 나는 결과 “이름 `AbstractExcelView 는 이름 projectName와 서브릿에서 빈 ID를 확장`으로보기를 해결할 수 없습니다”우리가 엑셀 문서를 만들 수있는 2 파일 형식이 있습니다. .xls는 이전 형식이며 .xlsx는 XML 기반의 새 형식입니다.
.xls 문서를 만들 때 아파치 POI를 사용하여 엑셀 파일을 만들 수 있습니다. .xlsx 파일로 작업할 때는 org.apache.poi:poi-ooxml 종속성이 필요합니다. 처음에는 Excel 파일을 읽은 후 파일의 빈 행은 0 크기의 ArrayList 개체가 됩니다. 이제 응용 프로그램 URL을 누르면 : http://localhost:8080/springmvcexample/download/pdf/sample.pdf, 당신은 다음과 같이 브라우저에서 대화 상자로 저장을 얻을 수있을 것입니다 : 업로드 된 엑셀 파일을 구문 분석하기 위해, 우리는 .xls 및 .xlsx 파일 모두에서 작동 할 수있는 아파치 POI 라이브러리를 사용합니다. 추상 엑셀뷰에 중단점을 두고 올바른 보기를 반환하는지 확인하십시오. 그러나 SimpleMappingExceptionResolver 예외가 파일을 업로드 할 수 있도록 하기 위해 추상 엑셀뷰를 확장 내 클래스의 buildExcelDocument 동안 던지는 경우 특히 작동하지 않는 것, 우리는 먼저 멀티 파트 파일을 수신하고 현재 위치에 저장하는 컨트롤러 매핑을 만들 것입니다 : 나는 스프링 웹 흐름을 사용하여 엑셀 스프레드 시트를 생성 할 우리의 수정 된 FileDownloadController는 참조자 헤더가 null이 아닌 경우에만 브라우저에 파일을 보낼 것입니다. 이렇게 하면 브라우저에 URL을 입력하거나 다른 도메인에서 오는 요청을 통해 이미지가 직접 다운로드되는 것을 방지할 수 있습니다. 여러 번, 다른 웹 사이트는 직접 링크로 자신의 웹 사이트에서 파일을 참조 교차 할 수 있습니다. 당신은 그것을 허용하지 않을 수 있습니다. 다른 도메인에서 오는 모든 다운로드 요청을 허용하지 않도록 하려면 참조 헤더에 도메인 이름이 포함되어 있는지 확인할 수 있습니다. 안녕. 게시물 주셔서 감사합니다.
그러나 XML없이 동일한 작업을 수행하려고하는 문제가 있습니다. 모든 것이 정상 페이지로는 괜찮지만 xml을 사용하면 앱 검색 ExcelRevenueSummary.jsp와 함께 이를 해결하기 위해 무엇을해야할지 모르겠습니다.