老大叫我把查询出来的数据用Excel的形式导出来!好在Spring in Action中有这个实例!参看了一阵之后,自己写了一个!
/**
*
*/
package com.skywin.simpass.ui.partner;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
import org.apache.poi.hssf.usermodel.HSSFDataFormat;
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;
import com.skywin.simpass.db.domain.PartnerTranSum;
/**
* 数据到处到Excel中
*
* @author lixf
* @created on Dec 19th 2008 10:00 AM
*
*/
public class PartnerTransSumListExcelView extends AbstractExcelView {
protected void buildExcelDocument(Map model, HSSFWorkbook wb,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
//设置导出格式,导出默认文件名和编码
String contentType = "application nd.ms-excel;charset=UTF-8";
response.setContentType(contentType);
response.setHeader("Content-disposition", "attachment; filename="
+ java.net.URLEncoder.encode("PartnerTransSum.xls", "UTF-8"));
List allPartnerTransSums = (List) model.get("allPartnerTransSums");
HSSFSheet sheet = wb.createSheet("Partner Transaction Summary");
HSSFRow header = sheet.createRow(0);
header.createCell((short) 0).setCellValue("ID");
header.createCell((short) 1).setCellValue("Parnter ID");
header.createCell((short) 2).setCellValue("Transaction Total Quality");
header.createCell((short) 3).setCellValue("Transaction Total Money");
header.createCell((short) 4).setCellValue("Transaction Summary Date");
HSSFCellStyle cellStyle = wb.createCellStyle();
cellStyle.setDataFormat(HSSFDataFormat.getBuiltinFormat("m/d/yy h:mm"));
int rowNum = 1;
for (Iterator iter = allPartnerTransSums.iterator(); iter.hasNext();) {
PartnerTranSum pts = (PartnerTranSum) iter.next();
HSSFRow row = sheet.createRow(rowNum++);
row.createCell((short) 0).setCellValue(pts.getPartnerSumId());
row.createCell((short) 1).setCellValue(pts.getPartnerId());
row.createCell((short) 2).setCellValue(pts.getTransQuantity());
row.createCell((short) 3).setCellValue(pts.getSum());
row.createCell((short) 4).setCellValue(pts.getSumDate());
row.getCell((short) 4).setCellStyle(cellStyle);
}
HSSFRow row = sheet.createRow(rowNum);
row.createCell((short) 0).setCellValue("TOTAL:");
String formula = "SUM(F2:F" + rowNum + ")";
row.createCell((short) 5).setCellFormula(formula);
}
}
AbstractExcelView是Spring视图导出里面封装好了的一个类:继承它,然后重写buildExcelDocument方法即可!
控制器方法:
public ModelAndView partnerTransSumExport(HttpServletRequest request,
HttpServletResponse response) throws Exception {
List allPartnerTransSums = (List) request.getSession().getAttribute(
"allPartnerTransSums");
return new ModelAndView(documentView, "allPartnerTransSums",
allPartnerTransSums);
}
配置文件:
<!-- Excel View -->
<bean id="excelView"
class="com.skywin.simpass.ui.partner.PartnerTransSumListExcelView" />
<bean id="partnerTransSumController"
class="com.skywin.simpass.ui.partner.PartnerTransSumController"
scope="prototype">
<property name="methodNameResolver">
<ref bean="paraMethodResolver" />
</property>
<property name="partnerTransSumService">
<ref bean="partnerTransSumManager" />
</property>
<property name="documentView">
<ref bean="excelView"/>
</property>
</bean>
分享到:
相关推荐
【基于Struts2 Spring iBatis POI开发的导出Excel实例详解】 在现代Web应用程序中,导出数据到Excel格式是一种常见的需求,这有助于用户分析、存储或共享信息。本实例将详细介绍如何利用Struts2、Spring和iBatis...
本文将围绕“poi+springmvc+springjdbc导入导出excel实例”的主题,详细讲述如何使用这些技术实现数据的导入导出功能。 首先,我们需要了解这些技术的基础概念: 1. POI:Apache POI是一个开源的Java库,用于处理...
easyPoi多sheet页导出实例代码,附有数据库sql,支持多表头、合并单元格,通过注解形式导出excel,代码简介、轻松实现导出excel功能。框架使用struts2+spring+hibernate。
标题中的“Ext导出Excel源码”指的是使用ExtJS库来实现从Web应用程序导出数据到Excel文件的功能。ExtJS是一个流行的JavaScript框架,用于构建富客户端应用,而Excel导出功能则是许多企业级应用中常见的需求,允许...
本项目提供了一个整合了Spring、Hibernate和Struts2(简称SSH)三大框架的小型应用示例,利用Apache POI库来处理Excel文件。 首先,Apache POI是一个开源的Java库,专门用于读写Microsoft Office格式的文件,尤其是...
这个组件可能定义了自定义的Spring MVC视图解析器,使得在返回响应时能直接以Excel格式呈现数据,而无需额外的转换步骤。 - 可能会有一个配置类,用于注册这个Excel视图解析器,并设置相关的属性,比如默认的工作表...
在本项目中,"html+SpringMVC+MyBaties+Json实现分类查询并导出EXCEL" 是一个综合性的Web应用开发实例,主要涉及了前端HTML、后端SpringMVC框架、持久层MyBatis以及数据交互的JSON格式,同时实现了数据的Excel导出...
这个“poi导出Excel 照葫芦画瓢”的项目很显然是教你如何使用 Apache POI 库来创建和导出 Excel 文件。下面将详细介绍 Apache POI 的基本用法以及在描述中提到的几个关键文件的作用。 首先,让我们来看看 Apache ...
标题中的“用jxl操作excel实例”指的是使用Java Excel API(简称JXL)来处理Microsoft Excel文件的一个实际应用。JXL是一个开源库,允许Java开发者读取、写入和修改Excel电子表格。在这个Spring MVC工程中,JXL被...
本实例将详细介绍如何将这三个组件集成到一个项目中,实现包括首页、登录、管理员管理以及数据导出Excel在内的功能,并涵盖事务处理、Session管理和异常拦截等关键环节。 首先,Spring MVC是Spring框架的一部分,它...
在本实例中,我们将会深入探讨如何利用Spring MVC的注解模式进行增删改查操作,实现文件上传与导出Excel功能,以及展示Echarts地图集成。 1. **Spring MVC 注解模式**: - **@Controller**:标记在类上,表示该类...
6. **MVC框架**:Spring MVC是Spring提供的Web应用开发模块,提供了模型-视图-控制器架构,支持RESTful风格的URL设计,以及视图解析、数据绑定等功能。 7. **数据访问**:Spring支持JDBC模板、Hibernate、MyBatis等...
在导入导出功能中,Spring可能被用来管理数据访问层(DAO)和业务逻辑层(Service)的实例,确保在处理Excel数据时的事务控制和异常处理。 Struts2作为MVC框架,负责处理HTTP请求和响应,以及视图和控制器的交互。...
Spring MVC 是 Spring 框架的一部分,专门用于构建Web应用程序的控制器层。它提供了一个模型-视图-控制器(MVC)架构,帮助开发者将业务逻辑、数据处理和用户界面分离,使得应用更易于管理和扩展。 在Spring MVC中...
5. **MVC框架**:Spring MVC是Spring提供的用于构建Web应用程序的模块,它简化了视图、控制器和模型之间的交互,使得Web应用的开发更加高效。 6. **Spring Boot**:Spring的现代进化,简化了Spring应用的初始搭建和...
该实例不仅包含了数据库操作、文件上传与回显、Excel导出等功能,还利用了Bootstrap前端框架,提供了良好的用户界面体验。下面我们将深入探讨这些关键知识点。 1. **Spring框架**:Spring作为Java企业级应用的基石...
《Spring 3.x 企业应用附件》是一份包含详尽示例代码的资源集合,它覆盖了Spring框架从基础到高级的应用。这份压缩包文件包含了从第二章到第十九章的代码实例,每一章对应一个子目录,如chapter17、chapter6、...
2. **JasperReports集成**:理解如何在Spring应用中引入JasperReports库,包括配置JasperReports视图解析器( JasperViewResolver),以及如何加载JasperReport模板。 3. **报表设计**:学习JasperReports的报表...
6. **Spring MVC**:Spring的Web应用模型-视图-控制器框架,用于构建高效、灵活的Web应用。 7. **Spring Boot**:现代Spring应用的快速启动工具,通过默认配置和自动配置简化应用开发。 8. **Spring Cloud**:针对...