以下内容翻译自:
说明:示例基于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库。把它放在你的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 MapuserData = new HashMap (); 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(Mapmodel, HSSFWorkbook workbook, HttpServletRequest request, HttpServletResponse response) throws Exception { Map userData = (Map ) 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 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
/WEB-INF/views.xml
views.xml
在这里我们创建了一个ExcelController和ExcelView。Apache POI库处理Microsoft Office文件格式,并将数据转换为Excel文档。
完成创建源文件和配置文件后,导出应用程序。右键单击应用程序并使用Export > WAR File选项,并将您的TestWeb.war文件保存在Tomcat的webapps文件夹中。
现在启动您的Tomcat服务器,并确保您可以使用标准浏览器从webapps文件夹访问其他网页。现在尝试URL http://localhost:8080/TestWeb/excel,您应该看到以下结果。
Maven示例: