`
endeavor416
  • 浏览: 64387 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

spring应用导出Excel视图实例

阅读更多

老大叫我把查询出来的数据用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实例

    【基于Struts2 Spring iBatis POI开发的导出Excel实例详解】 在现代Web应用程序中,导出数据到Excel格式是一种常见的需求,这有助于用户分析、存储或共享信息。本实例将详细介绍如何利用Struts2、Spring和iBatis...

    详解poi+springmvc+springjdbc导入导出excel实例

    本文将围绕“poi+springmvc+springjdbc导入导出excel实例”的主题,详细讲述如何使用这些技术实现数据的导入导出功能。 首先,我们需要了解这些技术的基础概念: 1. POI:Apache POI是一个开源的Java库,用于处理...

    easyPoi多sheet导出excel

    easyPoi多sheet页导出实例代码,附有数据库sql,支持多表头、合并单元格,通过注解形式导出excel,代码简介、轻松实现导出excel功能。框架使用struts2+spring+hibernate。

    Ext导出Excel源码

    标题中的“Ext导出Excel源码”指的是使用ExtJS库来实现从Web应用程序导出数据到Excel文件的功能。ExtJS是一个流行的JavaScript框架,用于构建富客户端应用,而Excel导出功能则是许多企业级应用中常见的需求,允许...

    java实现导入导出Excel表

    本项目提供了一个整合了Spring、Hibernate和Struts2(简称SSH)三大框架的小型应用示例,利用Apache POI库来处理Excel文件。 首先,Apache POI是一个开源的Java库,专门用于读写Microsoft Office格式的文件,尤其是...

    Excel View 4 Spring

    这个组件可能定义了自定义的Spring MVC视图解析器,使得在返回响应时能直接以Excel格式呈现数据,而无需额外的转换步骤。 - 可能会有一个配置类,用于注册这个Excel视图解析器,并设置相关的属性,比如默认的工作表...

    html+SpringMVC+MyBaties+Json实现分类查询并导出EXCEL

    在本项目中,"html+SpringMVC+MyBaties+Json实现分类查询并导出EXCEL" 是一个综合性的Web应用开发实例,主要涉及了前端HTML、后端SpringMVC框架、持久层MyBatis以及数据交互的JSON格式,同时实现了数据的Excel导出...

    poi导出Excel 照葫芦画瓢

    这个“poi导出Excel 照葫芦画瓢”的项目很显然是教你如何使用 Apache POI 库来创建和导出 Excel 文件。下面将详细介绍 Apache POI 的基本用法以及在描述中提到的几个关键文件的作用。 首先,让我们来看看 Apache ...

    用jxl操作excel实例

    标题中的“用jxl操作excel实例”指的是使用Java Excel API(简称JXL)来处理Microsoft Excel文件的一个实际应用。JXL是一个开源库,允许Java开发者读取、写入和修改Excel电子表格。在这个Spring MVC工程中,JXL被...

    Spring、mvc、mybatis、easyui实例

    本实例将详细介绍如何将这三个组件集成到一个项目中,实现包括首页、登录、管理员管理以及数据导出Excel在内的功能,并涵盖事务处理、Session管理和异常拦截等关键环节。 首先,Spring MVC是Spring框架的一部分,它...

    springmvc注解模式 实例 增删改查 导出 上传 地图

    在本实例中,我们将会深入探讨如何利用Spring MVC的注解模式进行增删改查操作,实现文件上传与导出Excel功能,以及展示Echarts地图集成。 1. **Spring MVC 注解模式**: - **@Controller**:标记在类上,表示该类...

    Spring 3.x企业应用开发实战.pdf

    6. **MVC框架**:Spring MVC是Spring提供的Web应用开发模块,提供了模型-视图-控制器架构,支持RESTful风格的URL设计,以及视图解析、数据绑定等功能。 7. **数据访问**:Spring支持JDBC模板、Hibernate、MyBatis等...

    SSH2数据导入导出

    在导入导出功能中,Spring可能被用来管理数据访问层(DAO)和业务逻辑层(Service)的实例,确保在处理Excel数据时的事务控制和异常处理。 Struts2作为MVC框架,负责处理HTTP请求和响应,以及视图和控制器的交互。...

    一个简单的spring mvc实例.docx

    Spring MVC 是 Spring 框架的一部分,专门用于构建Web应用程序的控制器层。它提供了一个模型-视图-控制器(MVC)架构,帮助开发者将业务逻辑、数据处理和用户界面分离,使得应用更易于管理和扩展。 在Spring MVC中...

    spring入门到精通.pdf

    5. **MVC框架**:Spring MVC是Spring提供的用于构建Web应用程序的模块,它简化了视图、控制器和模型之间的交互,使得Web应用的开发更加高效。 6. **Spring Boot**:Spring的现代进化,简化了Spring应用的初始搭建和...

    完整的javaSSM管理系统项目实例ssm.zip

    该实例不仅包含了数据库操作、文件上传与回显、Excel导出等功能,还利用了Bootstrap前端框架,提供了良好的用户界面体验。下面我们将深入探讨这些关键知识点。 1. **Spring框架**:Spring作为Java企业级应用的基石...

    spring3.x企业应用附件

    《Spring 3.x 企业应用附件》是一份包含详尽示例代码的资源集合,它覆盖了Spring框架从基础到高级的应用。这份压缩包文件包含了从第二章到第十九章的代码实例,每一章对应一个子目录,如chapter17、chapter6、...

    spring培训的例子

    2. **JasperReports集成**:理解如何在Spring应用中引入JasperReports库,包括配置JasperReports视图解析器( JasperViewResolver),以及如何加载JasperReport模板。 3. **报表设计**:学习JasperReports的报表...

    spring

    6. **Spring MVC**:Spring的Web应用模型-视图-控制器框架,用于构建高效、灵活的Web应用。 7. **Spring Boot**:现代Spring应用的快速启动工具,通过默认配置和自动配置简化应用开发。 8. **Spring Cloud**:针对...

Global site tag (gtag.js) - Google Analytics