Spring MVC-Excel 예제 생성
다음 예제는 Spring Web MVC Framework를 사용하여 Excel을 생성하는 방법을 보여줍니다. 먼저 작동하는 Eclipse IDE를 준비하고 다음 단계에 따라 Spring Web Framework를 사용하여 동적 양식 기반 웹 애플리케이션을 개발해 보겠습니다.
단계 | 기술 |
---|---|
1 | Spring MVC-Hello World 장에 설명 된대로 com.tutorialspoint 패키지 아래에 TestWeb이라는 이름의 프로젝트를 만듭니다. |
2 | com.tutorialspoint 패키지 아래에 Java 클래스 UserExcelView 및 ExcelController를 만듭니다. |
삼 | Maven 저장소 페이지에서 Apache POI 라이브러리 Apache POI 를 다운로드합니다 . CLASSPATH에 넣으십시오. |
4 | 마지막 단계는 소스 및 구성 파일의 내용을 만들고 아래 설명 된대로 응용 프로그램을 내보내는 것입니다. |
ExcelController.java
package com.tutorialspoint;
import java.util.HashMap;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.AbstractController;
public class ExcelController extends AbstractController {
@Override
protected ModelAndView handleRequestInternal(HttpServletRequest request,
HttpServletResponse response) throws Exception {
//user data
Map<String,String> userData = new HashMap<String,String>();
userData.put("1", "Mahesh");
userData.put("2", "Suresh");
userData.put("3", "Ramesh");
userData.put("4", "Naresh");
return new ModelAndView("UserSummary","userData",userData);
}
}
UserExcelView.java
package com.tutorialspoint;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.springframework.web.servlet.view.document.AbstractExcelView;
public class UserExcelView extends AbstractExcelView {
@Override
protected void buildExcelDocument(Map<String, Object> model,
HSSFWorkbook workbook, HttpServletRequest request, HttpServletResponse response)
throws Exception {
Map<String,String> userData = (Map<String,String>) model.get("userData");
//create a wordsheet
HSSFSheet sheet = workbook.createSheet("User Report");
HSSFRow header = sheet.createRow(0);
header.createCell(0).setCellValue("Roll No");
header.createCell(1).setCellValue("Name");
int rowNum = 1;
for (Map.Entry<String, String> entry : userData.entrySet()) {
//create the row data
HSSFRow row = sheet.createRow(rowNum++);
row.createCell(0).setCellValue(entry.getKey());
row.createCell(1).setCellValue(entry.getValue());
}
}
}
TestWeb-servlet.xml
<beans xmlns = "http://www.springframework.org/schema/beans"
xmlns:context = "http://www.springframework.org/schema/context"
xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
xmlns:mvc = "http://www.springframework.org/schema/mvc"
xsi:schemaLocation = "
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">
<bean class = "org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping" />
<bean class = "com.tutorialspoint.ExcelController" />
<bean class = "org.springframework.web.servlet.view.XmlViewResolver">
<property name = "location">
<value>/WEB-INF/views.xml</value>
</property>
</bean>
</beans>
views.xml
<beans xmlns = "http://www.springframework.org/schema/beans"
xmlns:context = "http://www.springframework.org/schema/context"
xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation = "
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd">
<bean id = "UserSummary" class = "com.tutorialspoint.UserExcelView"></bean>
</beans>
여기에서 ExcelController와 ExcelView를 만들었습니다. Apache POI 라이브러리는 Microsoft Office 파일 형식을 처리하고 데이터를 Excel 문서로 변환합니다.
소스 및 구성 파일 생성이 완료되면 애플리케이션을 내 보냅니다. 응용 프로그램을 마우스 오른쪽 버튼으로 클릭하고Export → WAR File 옵션을 선택하고 TestWeb.war Tomcat의 webapps 폴더에있는 파일.
이제 Tomcat 서버를 시작하고 표준 브라우저를 사용하여 webapps 폴더에서 다른 웹 페이지에 액세스 할 수 있는지 확인하십시오. URL 시도-http://localhost:8080/TestWeb/excel 다음 화면이 표시됩니다.