【Spring学习笔记-MVC-2】spring导出Excel
1.结合Spring MVC实现Excel导出功能;
<?xml version="1.0" encoding="UTF-8"?><web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://java.sun.com/xml/ns/javaeehttp://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"><context-param><param-name>contextConfigLocation</param-name><param-value>classpath:/conf/applicationContext.xml</param-value></context-param><listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class></listener><servlet><servlet-name>baobaotao</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><load-on-startup>1</load-on-startup></servlet><servlet-mapping><servlet-name>baobaotao</servlet-name><url-pattern>/</url-pattern></servlet-mapping></web-app>
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"xmlns:context="http://www.springframework.org/schema/context"xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:util="http://www.springframework.org/schema/util"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsdhttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsdhttp://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.0.xsdhttp://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd"><context:component-scan base-package="com.baobaotao.web" /><bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"p:prefix="/WEB-INF/views/" p:suffix=".jsp" />- <!-- Excel及PDF视图解析器配置 -->
<bean class="org.springframework.web.servlet.view.BeanNameViewResolver"p:order="10" /><bean id="userListExcel" class="com.baobaotao.web.UserListExcelView" /><!-- <bean id="userListPdf" class="com.baobaotao.web.UserListPdfView" /> --></beans>
package com.baobaotao.web;import java.util.ArrayList;import java.util.Calendar;import java.util.GregorianCalendar;import java.util.List;import javax.validation.Valid;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Controller;import org.springframework.ui.ModelMap;import org.springframework.validation.BindingResult;import org.springframework.web.bind.annotation.ModelAttribute;import org.springframework.web.bind.annotation.PathVariable;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestMethod;import org.springframework.web.bind.annotation.RequestParam;import org.springframework.web.servlet.ModelAndView;import com.baobaotao.UserService;import com.baobaotao.domain.User;@Controller@RequestMapping("/user")public class UserController {@RequestMapping(value = "/showUserListByXls")public String showUserListInExcel(ModelMap mm) {Calendar calendar = new GregorianCalendar();List<User> userList = new ArrayList<User>();User user1 = new User();user1.setUserName("tom");user1.setRealName("汤姆");calendar.set(1980, 1, 1);user1.setBirthday(calendar.getTime());User user2 = new User();user2.setUserName("john");user2.setRealName("约翰");user2.setBirthday(calendar.getTime());userList.add(user1);userList.add(user2);mm.addAttribute("userList", userList);return "userListExcel";}}
说明:return "userListExcel";
package com.baobaotao.web;import java.util.List;import java.util.Map;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.apache.commons.lang.time.DateFormatUtils;import org.apache.poi.hssf.usermodel.HSSFCell;import org.apache.poi.hssf.usermodel.HSSFRow;import org.apache.poi.hssf.usermodel.HSSFSheet;import org.apache.poi.hssf.usermodel.HSSFWorkbook;import org.springframework.stereotype.Component;import org.springframework.web.servlet.view.document.AbstractExcelView;import com.baobaotao.domain.User;public class UserListExcelView extends AbstractExcelView {@Overrideprotected void buildExcelDocument(Map<String, Object> model,HSSFWorkbook workbook, HttpServletRequest request,HttpServletResponse response) throws Exception {response.setHeader("Content-Disposition", "inline; filename="+new String("用户列表".getBytes(), "iso8859-1")); //iso8899-1:解决Excel文档名称出现中文乱码的问题List<User> userList = (List<User>) model.get("userList");HSSFSheet sheet = workbook.createSheet("users");HSSFRow header = sheet.createRow(0); //第0行for(int i=0;i<3;i++){header.createCell((short) i);sheet.getRow(0).getCell((short)i).setEncoding(HSSFCell.ENCODING_UTF_16); //解决Excel单元格出现中文乱码的问题sheet.getRow(0).getCell((short)i).setCellValue((i==0)?"账号":((i==1)?"姓名":"生日"));}int rowNum = 1;for (int i=0;i<userList.size();i++) {HSSFRow row = sheet.createRow(rowNum++); //创建行User user = userList.get(i);row.createCell((short) 0).setCellValue(user.getUserName());row.createCell((short) 1);row.getCell((short)1).setEncoding(HSSFCell.ENCODING_UTF_16); //解决Excel单元格出现中文乱码的问题row.getCell((short)1).setCellValue(user.getRealName());String createDate = DateFormatUtils.format(user.getBirthday(),"yyyy-MM-dd");row.createCell((short) 2).setCellValue(createDate);}}}
访问:
在浏览器中输入:http://localhost:8080/springQs/user/showUserListByXls
<bean class="org.springframework.web.servlet.view.BeanNameViewResolver"p:order="10" />
<bean id="userListExcel" class="com.baobaotao.web.UserListExcelView" />
【Spring学习笔记-MVC-2】spring导出Excel的更多相关文章
- 【Spring学习笔记-MVC】Spring MVC之多文件上传 (zhan)
http://www.cnblogs.com/ssslinppp/p/4607330.html (zhan)
- 2.《Spring学习笔记-MVC》系列文章,讲解返回json数据的文章共有3篇,分别为:
转自:https://www.cnblogs.com/ssslinppp/p/4528892.html 个人认为,使用@ResponseBody方式来实现json数据的返回比较方便,推荐使用. 摘要 ...
- 3.《Spring学习笔记-MVC》系列文章,讲解返回json数据的文章共有3篇,分别为:
转自:https://www.cnblogs.com/ssslinppp/p/4528892.html 概述 在文章:<[Spring学习笔记-MVC-3]SpringMVC返回Json数据-方 ...
- 1.《Spring学习笔记-MVC》系列文章,讲解返回json数据的文章共有3篇,分别为:
转自:https://www.cnblogs.com/ssslinppp/p/4528892.html [Spring学习笔记-MVC-3]SpringMVC返回Json数据-方式1:http://w ...
- 【Spring学习笔记-MVC-16】Spring MVC之重定向-解决中文乱码
概述 spring MVC框架controller间跳转,需重定向,主要有如下三种: 不带参数跳转:形如:http://localhost:8080/SpringMVCTest/test/myRedi ...
- 【Spring学习笔记-MVC-15】Spring MVC之异常处理
作者:ssslinppp 1. 描述 在J2EE项目的开发中,不管是对底层的数据库操作过程,还是业务层的处理过程,还是控制层的处理过程,都不可避免会遇到各种可预知的.不可预知的异常需要处理 ...
- 【Spring学习笔记-MVC-14】Spring MVC对静态资源的访问
作者:ssslinppp 参考链接: http://www.cnblogs.com/luxh/archive/2013/03/14/2959207.html http://www.cnb ...
- 【Spring学习笔记-MVC-13】Spring MVC之文件上传
作者:ssslinppp 1. 摘要 Spring MVC为文件上传提供了最直接的支持,这种支持是通过即插即用的MultipartResolve实现的.Spring使用Jakarta Co ...
- 【Spring学习笔记-MVC-12】Spring MVC视图解析器之ResourceBundleViewResolver
场景 当我们设计程序界面的时候,中国人希望界面是中文,而美国人希望界面是英文. 我们当然希望后台代码不需改变,系统能够通过配置文件配置,来自己觉得是显示中文界面还是英文界面. 这是,Spring mv ...
随机推荐
- c++多态多实例
#include <bits/stdc++.h> using namespace std; class A { public: A() { cout << "构造A& ...
- 【译】MVC3 20个秘方-(15)使用CAPTCHA去防止恶意软件自动提交评论(防灌水)
[译]MVC3 20个秘方-(15)使用CAPTCHA去防止恶意软件自动提交评论(防灌水) 问题 有种不太幸运的情况,有人用自动程序去提交表单,在整个互联网中造成大量的垃圾.为了防止这种情况的方法 ...
- 集合list里存储list,要遍历最底层list的对象元素的遍历方法
package com.wtd; import java.util.ArrayList; import java.util.HashSet; import java.util.Iterator; im ...
- HDU 4185
http://acm.hdu.edu.cn/showproblem.php?pid=4185 两个挨着的'#'可以配成一对,求最多能配成几对 挨着的'#'就连边,然后求一次最大匹配,答案是最大匹配除以 ...
- google-protobuf安装详解
前言 编译调试项目的过程中涉及到caffe的编译,提示没有安装protobuf的错误,本文详解protobuf的安装: 问题描述 解决步骤 1.查看google protobuf的github,没有直 ...
- CAN中如何计算波特率并配置波特率
//设置波特率 CAN_InitStructure.CAN_SJW=tsjw; //同步宽度 CAN_InitStructure.CAN_BS1=tbs1; //时间段1 CAN_InitStruct ...
- JAVA爬取百度贴吧图片
package com.wang.xiaowei.utils; import com.sun.image.codec.jpeg.JPEGCodec; import com.sun.image.code ...
- 水题 不要62 HDU 2089
先预处理出所有的数是不是可能拿来用,我的想法是记录1-i这个区间内可用的数为s[i]. 输入a,b.答案就为s[b] - s[a-1]. 贴代码: #include<cstdio> #de ...
- TP3.2整合kindeditor
HTML <!-- KE图片上传 --> <link rel="stylesheet" href="__PUBLIC__/kindeditor/th ...
- Sort An Unsorted Stack
Given a stack of integers, sort it in ascending order using another temporary stack. Examples: Input ...