1. 程式人生 > >Spring MVC-集成(Integration)-生成Excel示例(轉載實踐)

Spring MVC-集成(Integration)-生成Excel示例(轉載實踐)

lsp gmv tint for ng- ofo image .cn entryset

以下內容翻譯自:https://www.tutorialspoint.com/springmvc/springmvc_excel.htm

說明:示例基於Spring MVC 4.1.6

以下示例顯示如何使用Spring Web MVC框架生成Excel。首先,讓我們使用Eclipse IDE,並按照以下步驟使用Spring Web Framework開發基於動態窗體的Web應用程序:

描述
1 創建一個名為TestWeb的項目,在一個包com.tutorialspoint下,如Spring MVC - Hello World Example章節所述。
2 創建一個Java類UserExcelView,ExcelController下com.tutorialspoint包。
3 從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,您應該看到以下結果。

技術分享

Maven示例:

https://github.com/easonjim/5_java_example/tree/master/springmvc/tutorialspoint/test30

Spring MVC-集成(Integration)-生成Excel示例(轉載實踐)